/* ==========================================================================
   WEBSEO TRANG MINH — Giao diện cửa hàng (WooCommerce)
   ========================================================================== */

/* ------------------------------------------------------ Thẻ sản phẩm  */
.wstm-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.wstm-products--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.wstm-products--5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1200px){.wstm-products,.wstm-products--5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.wstm-products,.wstm-products--3,.wstm-products--5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.wstm-products{gap:12px}}

.wstm-card{
  position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;display:flex;flex-direction:column;transition:all .3s var(--ease);
}
.wstm-card:hover{transform:translateY(-4px);box-shadow:var(--sh-3);border-color:var(--gold)}
/* Khung ảnh đại diện: LUÔN 1:1 — ảnh đồ chơi chụp vuông là chuẩn của sàn.
   Ảnh lấp đầy khung (cover) để mọi thẻ bằng nhau, không hở dải trắng hai đầu.
   Ảnh chụp theo chuẩn 1200x1200 thì cover không cắt gì cả. */
.wstm-card__media{
  position:relative;aspect-ratio:1/1;background:var(--ivory);
  display:block;overflow:hidden;padding:0;
}
.wstm-card__media img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  transition:transform .45s var(--ease);
}
.wstm-card:hover .wstm-card__media img{transform:scale(1.06) translateY(-3px)}
.wstm-card__link{position:absolute;inset:0;z-index:3}

/* Nhãn góc */
.wstm-card__badges{position:absolute;top:10px;left:10px;z-index:4;display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.wstm-badge{
  display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:4px;font-size:10px;
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.3;
}
.wstm-badge--best{background:var(--brand);color:#fff}
.wstm-badge--top{background:var(--gold);color:#2A1A05}
.wstm-badge--new{background:#0F6B3F;color:#fff}
.wstm-badge--hot{background:#C2410C;color:#fff}
.wstm-badge--sale{background:#fff;color:var(--brand);border:1px solid var(--brand)}
.wstm-badge--out{background:#6B7280;color:#fff}
.wstm-card__off{
  position:absolute;top:10px;right:10px;z-index:4;background:var(--brand);color:#fff;
  padding:5px 9px;border-radius:20px;font-size:11.5px;font-weight:800;
}
/* Nút yêu thích */
.wstm-card__wish{
  position:absolute;top:10px;right:10px;z-index:5;width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.94);display:grid;place-items:center;color:var(--text-3);
  box-shadow:var(--sh-1);transition:all .25s var(--ease);
}
.wstm-card__wish:hover,.wstm-card__wish.is-on{color:var(--brand);background:#fff}
.wstm-card__off+.wstm-card__wish{top:48px}
/* Điểm đánh giá dạng huy hiệu tròn */
.wstm-card__pts{
  position:absolute;right:12px;bottom:12px;z-index:4;width:46px;height:46px;border-radius:50%;
  border:1.5px solid var(--gold);background:rgba(255,255,255,.94);display:grid;place-items:center;
  line-height:1;text-align:center;
}
.wstm-card__pts b{display:block;font-family:var(--ff-display);font-size:16px;color:var(--brand)}
.wstm-card__pts span{font-size:8px;letter-spacing:.1em;color:var(--gold-dim);font-weight:700}

.wstm-card__body{padding:13px 14px 14px;display:flex;flex-direction:column;flex:1;gap:7px}
.wstm-card__origin{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-2);min-height:17px}
.wstm-card__origin .flag{font-size:14px;line-height:1}
.wstm-card__origin .sep{color:var(--line)}
.wstm-card__name{
  font-family:var(--ff-body);font-size:14px;font-weight:600;line-height:1.42;margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.84em;
}
.wstm-card__name a:hover{color:var(--brand)}
.wstm-card__rate{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-2);min-height:16px}
.wstm-stars{display:inline-flex;gap:1px;color:var(--gold)}
.wstm-stars .wstm-ico{width:13px;height:13px;fill:currentColor;stroke:none}
.wstm-stars .is-off{color:var(--line)}
.wstm-card__price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:2px}
.wstm-price-now{font-size:17px;font-weight:800;color:var(--brand);letter-spacing:-.01em}
.wstm-price-old{font-size:13px;color:var(--text-3);text-decoration:line-through}
.wstm-price-ask{font-size:15px;font-weight:700;color:var(--gold-dim)}
.wstm-card__cta{display:flex;gap:7px;margin-top:9px}
.wstm-card__cta .wstm-btn{flex:1;padding:10px 12px;font-size:12px}
.wstm-card__icobtn{
  width:40px;flex:none;border:1.5px solid var(--line);border-radius:var(--r-sm);display:grid;place-items:center;
  color:var(--text-2);transition:all .25s var(--ease);
}
.wstm-card__icobtn:hover{border-color:var(--brand);background:var(--brand);color:#fff}
.wstm-card.is-out .wstm-card__media img{filter:grayscale(.7) opacity(.75)}

/* Dạng danh sách */
.wstm-products.is-list{grid-template-columns:1fr;gap:14px}
.wstm-products.is-list .wstm-card{flex-direction:row}
.wstm-products.is-list .wstm-card__media{width:190px;flex:none;aspect-ratio:1/1}
.wstm-products.is-list .wstm-card__body{padding:18px 20px}
.wstm-products.is-list .wstm-card__name{-webkit-line-clamp:2;font-size:16px;min-height:0}
.wstm-products.is-list .wstm-card__cta{max-width:340px}
@media(max-width:560px){.wstm-products.is-list .wstm-card__media{width:120px}}

/* ------------------------------------------------ Bố cục trang danh mục */
.wstm-shop{display:grid;grid-template-columns:270px 1fr;gap:26px;align-items:start}
@media(max-width:1024px){.wstm-shop{grid-template-columns:minmax(0,1fr)}}

.wstm-shop__side{position:sticky;top:16px}
@media(max-width:1024px){.wstm-shop__side{position:static}}

/* Danh sách danh mục bên trái */
.wstm-catlist{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:16px}
.wstm-catlist__title{font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin:0 0 10px;font-family:var(--ff-body)}
.wstm-catlist li a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;font-size:13.5px;color:var(--text-2);border-bottom:1px dashed var(--line-soft)}
.wstm-catlist li:last-child a{border-bottom:0}
.wstm-catlist li a:hover,.wstm-catlist li.is-current>a{color:var(--brand);font-weight:600}
.wstm-catlist li a span{font-size:12px;color:var(--text-3)}
.wstm-catlist ul ul a{padding-left:14px;font-size:13px}

/* Khối bộ lọc */
.wstm-filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.wstm-filters__head{
  display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 16px;
  border-bottom:1px solid var(--line);background:var(--ivory);
}
.wstm-filters__head b{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.wstm-fbox{border-bottom:1px solid var(--line-soft);padding:0 16px}
.wstm-fbox:last-child{border-bottom:0}
.wstm-fbox__head{
  display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 0;
  font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.04em;
}
.wstm-fbox__head .wstm-ico{width:16px;height:16px;color:var(--text-3);transition:transform .25s var(--ease)}
.wstm-fbox.is-closed .wstm-fbox__head .wstm-ico{transform:rotate(-90deg)}
.wstm-fbox__body{padding-bottom:14px}
.wstm-fbox.is-closed .wstm-fbox__body{display:none}
.wstm-fopt{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:13.5px;color:var(--text-2);cursor:pointer}
.wstm-fopt:hover{color:var(--brand)}
.wstm-fopt input{width:15px;height:15px;accent-color:var(--brand);flex:none;margin:0}
.wstm-fopt .count{margin-left:auto;font-size:11.5px;color:var(--text-3)}
.wstm-fopt .flag{font-size:14px;line-height:1}
.wstm-flist{max-height:184px;overflow:hidden}
.wstm-flist.is-expanded{max-height:none;overflow:visible}
.wstm-fmore{font-size:12.5px;font-weight:600;color:var(--brand);margin-top:6px}
.wstm-fprice{display:flex;align-items:center;gap:8px;margin-top:10px}
.wstm-fprice input{
  width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:13px;
}
.wstm-fprice span{color:var(--text-3)}
.wstm-filters__foot{padding:14px 16px;border-top:1px solid var(--line);display:flex;gap:8px}

/* Nút mở lọc trên điện thoại */
.wstm-filterbar{display:none;position:sticky;top:0;z-index:40;background:var(--bg);padding:10px 0;gap:10px}
@media(max-width:1024px){
  .wstm-filterbar{display:flex;align-items:center}
  .wstm-shop__side{
    position:fixed;inset:0;z-index:210;background:#fff;overflow-y:auto;padding:0;
    transform:translateX(-100%);transition:transform .3s var(--ease);
  }
  .wstm-shop__side.is-open{transform:none}
  .wstm-shop__side .wstm-filters{border:0;border-radius:0}
  .wstm-shop__side .wstm-catlist{border:0;border-radius:0;border-bottom:8px solid var(--bg);margin:0}
  .wstm-filters__head{position:sticky;top:0;z-index:2}
}

/* Thanh công cụ trên lưới sản phẩm */
.wstm-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:11px 14px;margin-bottom:18px;
}
.wstm-toolbar__count{font-size:13.5px;color:var(--text-2)}
.wstm-toolbar__count b{color:var(--text)}
.wstm-toolbar__right{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wstm-toolbar select{
  padding:8px 30px 8px 12px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:13.5px;background:#fff;
  appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
}
.wstm-view{display:flex;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.wstm-view a{width:34px;height:34px;display:grid;place-items:center;color:var(--text-3)}
.wstm-view a.is-active{background:var(--brand);color:#fff}

/* Nhãn lọc đang áp dụng */
.wstm-applied{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.wstm-applied__tag{
  display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:20px;background:var(--ivory);
  border:1px solid var(--line);font-size:12.5px;color:var(--text-2);
}
.wstm-applied__tag .wstm-ico{width:13px;height:13px}
.wstm-applied__tag:hover{border-color:var(--brand);color:var(--brand)}
.wstm-applied__clear{font-size:12.5px;font-weight:600;color:var(--brand)}

[data-wstm-results]{position:relative;transition:opacity .2s}
[data-wstm-results].is-loading{opacity:.45;pointer-events:none}

/* Trạng thái rỗng */
.wstm-empty{text-align:center;padding:56px 20px;background:var(--surface);border:1px dashed var(--line);border-radius:var(--r-lg)}
.wstm-empty .wstm-ico{width:44px;height:44px;color:var(--line);margin:0 auto 14px}
.wstm-empty h3{margin-bottom:8px}
.wstm-empty p{color:var(--text-2);max-width:420px;margin:0 auto 18px}

/* ------------------------------------------ Đầu trang danh mục có ảnh */
.wstm-cathero{position:relative;overflow:hidden;background:var(--brand-deep);color:#fff}
.wstm-cathero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.wstm-cathero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,16,58,.92),rgba(8,16,58,.5) 60%,rgba(8,16,58,.2))}
.wstm-cathero__inner{position:relative;z-index:3;padding:clamp(26px,4vw,52px) 0;max-width:720px}
.wstm-cathero__flag{font-size:40px;line-height:1;margin-bottom:10px;display:block}
.wstm-cathero h1{color:#fff;margin:0 0 10px;font-size:clamp(28px,4vw,46px);text-transform:uppercase;letter-spacing:.02em}
.wstm-cathero__tag{color:var(--gold-soft);font-style:italic;font-size:15px;margin-bottom:12px}
.wstm-cathero__desc{color:rgba(255,255,255,.84);font-size:14.5px;max-width:620px;margin:0 0 18px}
.wstm-cathero__stats{display:flex;gap:30px;flex-wrap:wrap}
.wstm-cathero__stat{display:flex;align-items:center;gap:10px}
.wstm-cathero__stat .wstm-ico{width:26px;height:26px;color:var(--gold)}
.wstm-cathero__stat b{display:block;font-family:var(--ff-display);font-size:20px;color:#fff;line-height:1.2}
.wstm-cathero__stat span{font-size:11.5px;color:rgba(255,255,255,.66)}

/* ------------------------------------------------ Trang chi tiết SP   */
.wstm-single{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) 300px;gap:26px;align-items:start}
@media(max-width:1200px){.wstm-single{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.wstm-single__aside{grid-column:1/-1}}
@media(max-width:820px){.wstm-single{grid-template-columns:minmax(0,1fr)}}

/* Thư viện ảnh */
.wstm-gal{display:grid;grid-template-columns:78px 1fr;gap:12px}
/* Sản phẩm chỉ có một ảnh: bỏ cột ảnh nhỏ để ảnh chính chiếm trọn chiều ngang. */
.wstm-gal--single{grid-template-columns:minmax(0,1fr)}
.wstm-gal__thumbs{display:flex;flex-direction:column;gap:9px;max-height:520px;overflow-y:auto;scrollbar-width:thin}
.wstm-gal__thumb{
  width:78px;aspect-ratio:1/1;border:1.5px solid var(--line);border-radius:var(--r-sm);overflow:hidden;
  background:var(--ivory);padding:0;transition:border-color .25s;
}
.wstm-gal__thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.wstm-gal__thumb.is-active,.wstm-gal__thumb:hover{border-color:var(--brand)}
.wstm-gal__main{
  position:relative;background:var(--ivory);border:1px solid var(--line);
  border-radius:var(--r-lg);aspect-ratio:1/1;display:block;padding:0;overflow:hidden;
}
.wstm-gal__main img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.wstm-gal__zoom{
  position:absolute;right:14px;bottom:14px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.94);
  display:grid;place-items:center;color:var(--brand);box-shadow:var(--sh-1);
}
@media(max-width:560px){.wstm-gal{grid-template-columns:minmax(0,1fr)}.wstm-gal__thumbs{flex-direction:row;max-height:none;overflow-x:auto;order:2}}

/* Cột thông tin */
.wstm-pinfo__badges{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:11px}
.wstm-pinfo__title{font-size:clamp(22px,2.4vw,30px);line-height:1.28;margin:0 0 11px}
.wstm-pinfo__meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:13px;color:var(--text-2);margin-bottom:14px}
.wstm-pinfo__meta .sep{color:var(--line)}
.wstm-pinfo__meta .flag{font-size:15px}
.wstm-pinfo__rate{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);margin-bottom:14px}
.wstm-pinfo__rate{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wstm-pinfo__norate{font-size:12.5px;color:var(--text-3)}
.wstm-pinfo__ratelink{font-size:12.5px;font-weight:600;color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.wstm-pinfo__ratelink:hover{color:var(--gold-dim)}
.wstm-pinfo__rate b{color:var(--text)}
.wstm-pinfo__price{
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:15px 18px;background:var(--ivory);
  border-radius:var(--r);border:1px solid var(--line);margin-bottom:8px;
}
.wstm-pinfo__price .now{font-family:var(--ff-display);font-size:clamp(26px,3vw,34px);font-weight:700;color:var(--brand);line-height:1.1}
.wstm-pinfo__price .old{font-size:16px;color:var(--text-3);text-decoration:line-through}
.wstm-pinfo__price .off{background:var(--brand);color:#fff;padding:3px 9px;border-radius:4px;font-size:12.5px;font-weight:800}
.wstm-pinfo__price .ask{font-family:var(--ff-display);font-size:26px;font-weight:700;color:var(--gold-dim)}
.wstm-pinfo__vat{font-size:12px;color:var(--text-3);margin-bottom:16px}

/* Bảng thông số nhanh dạng ô */
.wstm-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:18px}
.wstm-specs__item{background:var(--surface);padding:13px 8px;text-align:center}
.wstm-specs__item .wstm-ico{width:22px;height:22px;color:var(--gold-dim);margin:0 auto 7px}
.wstm-specs__lab{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:3px}
.wstm-specs__val{font-size:12.5px;font-weight:600;line-height:1.35;color:var(--text)}
@media(max-width:900px){.wstm-specs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:420px){.wstm-specs{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Chọn số lượng + nút mua */
.wstm-buy{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.wstm-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#fff}
.wstm-qty button{width:40px;height:46px;display:grid;place-items:center;font-size:19px;color:var(--text-2);transition:background .2s}
.wstm-qty button:hover{background:var(--tint);color:var(--brand)}
.wstm-qty input{width:56px;height:46px;text-align:center;border:0;border-inline:1px solid var(--line);font-size:15px;font-weight:600}
.wstm-qty input::-webkit-outer-spin-button,.wstm-qty input::-webkit-inner-spin-button{appearance:none;margin:0}
.wstm-qty input[type=number]{-moz-appearance:textfield}
.wstm-buy__stock{font-size:13px;color:var(--text-2)}
.wstm-buy__stock b{color:var(--ok)}
.wstm-buy__stock.is-out b{color:var(--warn)}
.wstm-cta{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:8px}
.wstm-cta .wstm-btn{padding:15px 18px}
.wstm-cta--single{grid-template-columns:minmax(0,1fr)}
.wstm-buy-note{font-size:12.5px;color:var(--text-3);text-align:center;margin-bottom:16px}
@media(max-width:480px){.wstm-cta{grid-template-columns:minmax(0,1fr)}}

.wstm-actions-row{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--text-2);padding-top:14px;border-top:1px solid var(--line-soft)}
.wstm-actions-row button,.wstm-actions-row a{display:inline-flex;align-items:center;gap:7px;color:var(--text-2)}
.wstm-actions-row button:hover,.wstm-actions-row a:hover{color:var(--brand)}
.wstm-actions-row .wstm-ico{width:16px;height:16px}

/* Cột cam kết bên phải */
.wstm-single__aside{display:flex;flex-direction:column;gap:14px}
.wstm-promise{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:6px 16px}
.wstm-promise li{display:flex;align-items:flex-start;gap:11px;padding:12px 0;border-bottom:1px dashed var(--line-soft)}
.wstm-promise li:last-child{border-bottom:0}
.wstm-promise .wstm-ico{width:20px;height:20px;color:var(--brand);flex:none;margin-top:2px}
.wstm-promise b{display:block;font-size:13px;margin-bottom:2px}
.wstm-promise span{font-size:12px;color:var(--text-2);line-height:1.5}
.wstm-callbox{
  background:linear-gradient(140deg,var(--brand-deep),var(--brand-dark));color:#fff;border-radius:var(--r);
  padding:18px;text-align:center;
}
.wstm-callbox b{display:block;font-family:var(--ff-display);font-size:22px;color:#fff;margin:6px 0 3px}
.wstm-callbox span{font-size:12px;color:rgba(255,255,255,.72)}
.wstm-callbox .wstm-ico{width:26px;height:26px;color:var(--gold-soft);margin:0 auto}
.wstm-callbox .wstm-btn{margin-top:12px}

/* Tab mô tả */
.wstm-tabs{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:32px}
.wstm-tabs__nav{display:flex;border-bottom:1px solid var(--line);background:var(--tint);overflow-x:auto;scrollbar-width:none}
.wstm-tabs__nav::-webkit-scrollbar{display:none}
.wstm-tabs__btn{
  padding:15px 24px;font-size:13.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--text-2);white-space:nowrap;border-bottom:3px solid transparent;transition:all .25s var(--ease);
}
.wstm-tabs__btn:hover{color:var(--brand)}
.wstm-tabs__btn.is-active{color:var(--brand);background:var(--surface);border-bottom-color:var(--brand)}
.wstm-tabs__pane{padding:clamp(18px,3vw,32px)}

/* Bảng thông số đầy đủ */
.wstm-spectable{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.wstm-spectable__row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:14px}
.wstm-spectable__row dt{color:var(--text-2);flex:none}
.wstm-spectable__row dd{margin:0;font-weight:600;text-align:right}
@media(max-width:700px){.wstm-spectable{grid-template-columns:minmax(0,1fr)}}

/* Ghi chú nếm thử */
.wstm-tasting{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:8px}
.wstm-tasting__item{display:flex;gap:12px;padding:14px;background:var(--ivory);border-radius:var(--r)}
.wstm-tasting__item .wstm-ico{width:24px;height:24px;color:var(--gold-dim);flex:none}
.wstm-tasting__item b{display:block;font-size:13px;margin-bottom:3px}
.wstm-tasting__item span{font-size:12.5px;color:var(--text-2);line-height:1.55}
@media(max-width:768px){.wstm-tasting{grid-template-columns:minmax(0,1fr)}}

/* ---------------------------------------------------- Giỏ & thanh toán */
.wstm-carttable{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.wstm-carttable th{background:var(--ivory);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);padding:14px 16px;text-align:left}
.wstm-carttable td{padding:16px;border-top:1px solid var(--line-soft);vertical-align:middle}
.wstm-carttable .prod{display:flex;align-items:center;gap:14px}
.wstm-carttable .prod img{width:64px;height:80px;object-fit:cover;background:var(--ivory);border-radius:var(--r-sm);flex:none}
.wstm-carttable .prod b{font-size:14px;font-weight:600;display:block;margin-bottom:3px}
.wstm-carttable .prod span{font-size:12px;color:var(--text-2)}
.wstm-cart{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}
@media(max-width:1024px){.wstm-cart{grid-template-columns:minmax(0,1fr)}}
.wstm-summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;position:sticky;top:16px}
.wstm-summary h3{font-size:15px;font-family:var(--ff-body);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--brand);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.wstm-summary__row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;font-size:14px}
.wstm-summary__row.total{border-top:1px solid var(--line);margin-top:9px;padding-top:15px;font-size:16px;font-weight:800}
.wstm-summary__row.total b{color:var(--brand);font-size:21px;font-family:var(--ff-display)}

/* Các bước thanh toán */
.wstm-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:28px;flex-wrap:wrap}
.wstm-step{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text-3)}
.wstm-step__n{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-weight:700;font-size:13px}
.wstm-step.is-on{color:var(--brand);font-weight:600}
.wstm-step.is-on .wstm-step__n{background:var(--brand);border-color:var(--brand);color:#fff}
.wstm-step.is-done .wstm-step__n{background:var(--ok);border-color:var(--ok);color:#fff}
.wstm-step__line{width:clamp(20px,5vw,64px);height:1px;background:var(--line);margin:0 12px}

/* Thông báo của WooCommerce */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wstm-notice{
  padding:13px 18px;border-radius:var(--r);font-size:14px;margin-bottom:18px;border:1px solid;list-style:none;
}
.woocommerce-message{background:#EAF6EF;border-color:#B6DFC6;color:#15603A}
.woocommerce-info{background:#EAF2FB;border-color:#BDD6F2;color:#1B4E86}
.woocommerce-error{background:#FCECEC;border-color:#F2C0C0;color:#93231F}
.woocommerce-error li{margin:0}

/* Thông báo nổi */
.wstm-toast{
  position:fixed;left:50%;bottom:96px;transform:translate(-50%,16px);z-index:300;background:var(--brand-night);
  color:#fff;padding:12px 22px;border-radius:30px;font-size:14px;box-shadow:var(--sh-3);
  opacity:0;pointer-events:none;transition:all .28s var(--ease);max-width:90vw;text-align:center;
}
.wstm-toast.is-on{opacity:1;transform:translate(-50%,0)}
@media(min-width:1025px){.wstm-toast{bottom:32px}}

.is-loading{position:relative;pointer-events:none}
.wstm-btn.is-loading::after{
  content:"";width:15px;height:15px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;
  border-radius:50%;animation:wstmSpin .7s linear infinite;
}
@keyframes wstmSpin{to{transform:rotate(360deg)}}
.wstm-rot180{transform:rotate(180deg)}

/* ============================ Khối Best Seller trang chủ (thẻ quà + hàng SP) */
/* Cột trái là thẻ quà (cao suốt 2 hàng), cột phải là hàng sản phẩm + 4 ô CTA. */
.wstm-best{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:stretch}
.wstm-giftcard{grid-row:span 2}
.wstm-best__promo{min-width:0}
@media(max-width:1100px){
  .wstm-best{grid-template-columns:minmax(0,1fr)}
  .wstm-giftcard{grid-row:auto}
}

.wstm-giftcard{
  position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--brand-night);
  color:#fff;display:flex;align-items:flex-start;min-height:340px;padding:24px 20px;
}
.wstm-giftcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:transform .6s var(--ease)}
.wstm-giftcard:hover img{transform:scale(1.06)}
.wstm-giftcard::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,16,58,.9) 8%,rgba(8,16,58,.45) 55%,rgba(8,16,58,.85))}
.wstm-giftcard__body{position:relative;z-index:2;color:#fff}
.wstm-giftcard__eyebrow{
  display:block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-soft);margin-bottom:6px;
}
.wstm-giftcard__title{font-family:var(--ff-display);font-size:24px;color:#fff;margin:0 0 8px;line-height:1.25}
.wstm-giftcard__desc{font-size:13px;color:rgba(255,255,255,.78);margin:0 0 16px;line-height:1.6}
@media(max-width:1100px){.wstm-giftcard{min-height:200px}}

.wstm-best__main{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:20px 22px 22px;display:flex;flex-direction:column;
}
.wstm-best__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.wstm-best__title{
  font-family:var(--ff-body);font-size:19px;font-weight:800;letter-spacing:.08em;margin:0;
  padding-bottom:9px;position:relative;color:var(--text);
}
.wstm-best__title::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;background:var(--brand);border-radius:2px}
.wstm-best__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;flex:1}
@media(max-width:1280px){.wstm-best__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.wstm-best__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.wstm-best__grid{grid-template-columns:minmax(0,1fr)}}

/* Thẻ sản phẩm dạng ngang */
.wstm-card--row{border-color:var(--line-soft);border-radius:var(--r);padding:10px 9px}
.wstm-card--row:hover{transform:none;box-shadow:var(--sh-2);border-color:var(--gold)}
.wstm-card__top{display:flex;align-items:center;gap:6px;margin-bottom:6px;position:relative;z-index:4}
.wstm-card__flag{font-size:15px;line-height:1}
.wstm-card__top .wstm-badge{font-size:8.5px;padding:3px 6px;letter-spacing:.04em}
.wstm-card__wish--inline{position:static;margin-left:auto;width:26px;height:26px;box-shadow:none;background:none}
.wstm-card__row{display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;align-items:center}
/* Ảnh đồ chơi khổ vuông, hiện trọn vẹn. */
.wstm-card--row .wstm-card__media{
  aspect-ratio:1/1;background:none;padding:0;border-radius:var(--r-sm);
}
.wstm-card--row .wstm-card__media img{object-fit:cover}
.wstm-card--row .wstm-card__media img{filter:drop-shadow(0 5px 12px rgba(14,28,90,.2))}
.wstm-card--row .wstm-card__body{padding:0;gap:5px}
.wstm-card--row .wstm-card__name{font-size:12.5px;min-height:0;-webkit-line-clamp:2;line-height:1.4}
.wstm-card--row .wstm-card__origin{font-size:11px;color:var(--text-3);min-height:0}
.wstm-card--row .wstm-card__origin .sep{color:var(--line)}
.wstm-card--row .wstm-price-now{font-size:15.5px}
.wstm-card--row .wstm-card__price{margin-top:2px}
.wstm-card--row .wstm-card__rate{font-size:11px;min-height:14px;gap:4px}
.wstm-card--row .wstm-card__rate .wstm-ico{width:11px;height:11px}
.wstm-card--row .wstm-card__rate>span:not(.wstm-stars){color:var(--text-3)}
.wstm-card__rate .wstm-stars{color:var(--gold)}

/* ================= Thẻ sản phẩm cỡ lớn (khối BEST SELLER trang chủ) ====== */
.wstm-card--feature{border-radius:var(--r-lg);box-shadow:var(--sh-1)}
/* Ảnh đồ chơi khổ vuông 1:1, không đệm và không cắt xén. */
.wstm-card--feature .wstm-card__media{aspect-ratio:1/1;padding:0;background:var(--ivory)}
.wstm-card--feature .wstm-card__media img{object-fit:cover}
.wstm-card--feature .wstm-card__body{padding:0 18px 18px;gap:8px}
.wstm-card--feature .wstm-card__origin{font-size:12.5px;color:var(--text-2);font-weight:500}
.wstm-card--feature .wstm-card__origin .flag{font-size:16px}
.wstm-card--feature .wstm-card__name{font-size:15px;font-weight:700;line-height:1.45;min-height:3.05em}
.wstm-card--feature .wstm-card__rate{min-height:18px}
.wstm-card--feature .wstm-card__wish{width:34px;height:34px;color:var(--brand);background:rgba(255,255,255,.9)}
.wstm-card__price--split{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.wstm-card__price--split .wstm-price-now{font-size:19px}
.wstm-card--feature .wstm-card__cta{gap:8px}
.wstm-card--feature .wstm-card__cta .wstm-btn{flex:1;padding:12px 10px;font-size:11.5px;letter-spacing:.03em}
.wstm-card--feature .wstm-card__icobtn{width:44px;color:var(--brand);border-color:var(--line)}
@media(max-width:1200px){.wstm-card--feature .wstm-card__cta .wstm-btn{font-size:11px;padding:11px 8px}}

/* ==========================================================================
   GIỎ HÀNG & THANH TOÁN (theo mockup 12_Giỏ hàng & Thanh toán)
   ========================================================================== */
.wstm-shoppage{padding-top:clamp(20px,2.6vw,32px)}
.wstm-shoppage .woocommerce-notices-wrapper:empty{display:none}
/* Chặn giới hạn 1000px mà CSS block theme của WooCommerce áp cho giỏ / thanh toán. */
.woocommerce-cart main .woocommerce,
.woocommerce-checkout main .woocommerce{max-width:none}

/* --------------------------------------------------------- Đầu trang  */
.wstm-cart-head,.wstm-checkout-head{margin-bottom:20px}
.wstm-cart-head__title{
  font-family:var(--ff-display);font-size:clamp(26px,3.2vw,38px);text-transform:uppercase;
  letter-spacing:.02em;margin:0 0 6px;color:var(--text);
}
.wstm-cart-head__sub{margin:0;color:var(--text-2);font-size:14px}
.wstm-checkout-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.wstm-checkout-head__title{
  font-family:var(--ff-display);font-size:clamp(24px,2.8vw,32px);text-transform:uppercase;margin:0;letter-spacing:.02em;
}
.wstm-checkout-head__sub{margin:0;color:var(--text-2);font-size:13.5px}

/* Dải cam kết trên giỏ hàng */
.wstm-cart-trust{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:20px;
}
.wstm-cart-trust__item{display:flex;align-items:center;gap:13px;padding:16px 18px;position:relative}
.wstm-cart-trust__item+.wstm-cart-trust__item::before{
  content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line-soft);
}
.wstm-cart-trust__item .wstm-ico{color:var(--gold-dim);flex:none}
.wstm-cart-trust__item b{display:block;font-size:13px;font-weight:700;margin-bottom:2px}
.wstm-cart-trust__item span{font-size:12px;color:var(--text-2);line-height:1.5}
@media(max-width:900px){.wstm-cart-trust{grid-template-columns:minmax(0,1fr)}.wstm-cart-trust__item+.wstm-cart-trust__item::before{display:none}}

/* --------------------------------------------------- Bảng giỏ hàng   */
.wstm-carttable{border-radius:var(--r-lg)}
.wstm-carttable th{white-space:nowrap}
/* Cột tên sản phẩm chiếm phần còn lại, các cột số liệu giữ bề ngang cố định. */
.wstm-carttable td.product-name,.wstm-carttable th.product-name{width:auto;min-width:240px}
.wstm-carttable td.product-price,.wstm-carttable th.product-price,
.wstm-carttable td.product-subtotal,.wstm-carttable th.product-subtotal{width:150px}
.wstm-carttable td.product-quantity,.wstm-carttable th.product-quantity{width:140px}
.wstm-carttable td.product-thumbnail{width:96px}
.wstm-carttable td.product-thumbnail img{
  width:64px;height:80px;object-fit:cover;background:var(--ivory);border-radius:var(--r-sm);
}
.wstm-cartline__name{display:block;font-size:14px;font-weight:600;line-height:1.45;margin-bottom:4px}
.wstm-cartline__name:hover{color:var(--brand)}
.wstm-cartline__origin{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3)}
.wstm-cartline__origin i{font-style:normal;font-size:14px}
.wstm-carttable td.product-price,.wstm-carttable td.product-subtotal{white-space:nowrap;font-weight:600}
.wstm-carttable td.product-subtotal{color:var(--brand);font-weight:800}
.wstm-carttable td.product-remove{width:56px;text-align:center}
.wstm-carttable td.product-remove .remove{
  display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--text-3);
  transition:all .2s var(--ease);
}
.wstm-carttable td.product-remove .remove:hover{background:#FCECEC;color:#B3261E}
.wstm-carttable .quantity{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:#fff}
.wstm-carttable .quantity input{width:64px;height:40px;text-align:center;border:0;font-size:14px;font-weight:600}
.wstm-carttable .quantity input::-webkit-outer-spin-button,
.wstm-carttable .quantity input::-webkit-inner-spin-button{appearance:none;margin:0}
.wstm-cart__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;flex-wrap:wrap}
.wstm-cart__actions .wstm-btn{padding:12px 20px}

/* Khối tổng đơn hàng */
.wstm-summary__title{
  font-family:var(--ff-body);font-size:14px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--brand);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line);
}
.wstm-summary__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.wstm-summary__head .wstm-summary__title{border:0;padding:0;margin:0 0 4px}
.wstm-summary__edit{font-size:12px;font-weight:600;color:var(--gold-dim);text-decoration:underline;text-underline-offset:3px}
.wstm-summary__count{font-size:12.5px;color:var(--text-3);margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.wstm-summary__row{align-items:baseline}
.wstm-summary__row span{color:var(--text-2)}
.wstm-summary__row b{font-weight:700}
.wstm-summary__row--minus b,.wstm-summary__row--minus .amount{color:#B3261E}
.wstm-summary__row--total{border-top:1px solid var(--line);margin-top:10px;padding-top:14px}
.wstm-summary__row--total span{color:var(--text);font-weight:700;font-size:15px}
.wstm-summary__row--total b,.wstm-summary__row--total .amount{color:var(--brand);font-size:22px;font-weight:800}
.wstm-summary__vat{text-align:right;font-size:11.5px;color:var(--text-3);margin-top:2px}
.wstm-summary__ship{font-size:13.5px;color:var(--text-2);border-bottom:1px dashed var(--line-soft)}
/* WooCommerce in ra tr/th/td cho dòng vận chuyển, đưa về dạng hàng ngang cho gọn. */
.wstm-summary__ship .woocommerce-shipping-totals{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0}
.wstm-summary__ship th{font-weight:500;color:var(--text-2);text-align:left}
.wstm-summary__ship td{text-align:right}
.wstm-summary__ship ul{margin:0;padding:0;list-style:none;text-align:right}
.wstm-summary__ship li{padding:2px 0}
.wstm-summary__ship label{font-weight:700;color:var(--ok)}
.wstm-summary__ship p,.wstm-summary__ship .woocommerce-shipping-destination{display:none}
.wstm-summary .wc-proceed-to-checkout{margin-top:16px}
.wstm-coupon{display:flex;gap:8px;margin:12px 0}
.wstm-coupon .wstm-input{flex:1;min-width:0;font-size:13.5px}
.wstm-coupon .wstm-btn{padding:11px 16px;font-size:12px;white-space:nowrap}
.wstm-summary__pay{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}
.wstm-summary__paylab{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:8px}
.wstm-paylogos{display:flex;flex-wrap:wrap;gap:7px}
.wstm-paylogos span{
  padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:10.5px;
  font-weight:800;letter-spacing:.04em;color:#3B3B44;
}
.wstm-summary__policy{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}
.wstm-summary__policy b{display:block;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:9px}
.wstm-summary__policy li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;color:var(--text-2);padding:4px 0}
.wstm-summary__policy .wstm-ico{color:var(--ok);flex:none;margin-top:2px}

/* Gợi ý sản phẩm cuối trang giỏ hàng */
.wstm-suggest-box{margin-top:34px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px}
.wstm-suggest-box__head{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}
.wstm-suggest-box__head h2{
  margin:0;font-family:var(--ff-body);font-size:15px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);
}
.wstm-suggest-box__line{flex:1;max-width:180px;height:1px;background:linear-gradient(90deg,transparent,var(--line))}
.wstm-suggest-box__line:last-child{background:linear-gradient(270deg,transparent,var(--line))}
.wstm-suggest-box__body{position:relative}
.wstm-suggest-box__track{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:2px}
.wstm-suggest-box__track::-webkit-scrollbar{display:none}
.wstm-suggest-box__track>.wstm-card{flex:0 0 232px;max-width:232px}
@media(max-width:640px){.wstm-suggest-box__track>.wstm-card{flex:0 0 74%;max-width:74%}}

/* Giỏ hàng trống */
.wstm-empty--cart{padding:56px 20px}
.wstm-empty--cart .wstm-ico{color:var(--line);margin:0 auto 16px}
.wstm-empty__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ------------------------------------------------------- Thanh toán  */
.wstm-checkout{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:24px;align-items:start}
@media(max-width:1024px){.wstm-checkout{grid-template-columns:minmax(0,1fr)}}
.wstm-checkout__main{display:flex;flex-direction:column;gap:18px;min-width:0}
.wstm-checkout__side{display:flex;flex-direction:column;gap:16px;position:sticky;top:16px}
@media(max-width:1024px){.wstm-checkout__side{position:static}}

.wstm-cobox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px}
.wstm-cobox__title{
  font-family:var(--ff-body);font-size:14px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  color:var(--brand);margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line);
}

/* Lưới trường nhập của WooCommerce */
.wstm-cobox .woocommerce-billing-fields__field-wrapper,
.wstm-cobox .woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.wstm-cobox .form-row{margin:0 0 14px;display:flex;flex-direction:column;padding:0}
.wstm-cobox .form-row-wide,.wstm-cobox .notes{grid-column:1/-1}
/* !important vì address-i18n.js gọi jQuery .show() và ghi display vào thuộc tính style. */
.wstm-cobox .wstm-hidden-field{display:none!important}
.wstm-cobox label{font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text)}
.wstm-cobox .required{color:var(--brand);text-decoration:none;border:0}
.wstm-cobox .input-text,.wstm-cobox select,.wstm-cobox textarea,
.wstm-cobox .select2-container .select2-selection--single{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;
  font-size:14px;height:auto;min-height:44px;transition:border-color .2s,box-shadow .2s;
}
.wstm-cobox textarea{min-height:96px;resize:vertical}
.wstm-cobox .input-text:focus,.wstm-cobox select:focus,.wstm-cobox textarea:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,79,216,.1);
}
/* ---- Ô chọn có tìm kiếm (select2 / selectWoo) khoác áo TRANG MINH ---- */
.wstm-cobox .select2-container--default .select2-selection--single{
  display:flex;align-items:center;border-color:var(--line);
}
.wstm-cobox .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.45;padding:0;color:var(--text);font-size:14px;
}
.wstm-cobox .select2-container--default .select2-selection--single .select2-selection__placeholder{color:var(--text-3)}
.wstm-cobox .select2-container--default .select2-selection--single .select2-selection__arrow{
  top:50%;right:12px;transform:translateY(-50%);height:auto;
}
.wstm-cobox .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:var(--text-2) transparent transparent}
.wstm-cobox .select2-container--default.select2-container--open .select2-selection--single{
  border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,79,216,.1);
}
.wstm-cobox .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{
  border-color:transparent transparent var(--brand);
}
/* Danh sách xổ ra bám ngoài .wstm-cobox nên phải khai ở mức gốc */
.select2-container--default .select2-dropdown{
  border-color:var(--brand);border-radius:var(--r-sm);box-shadow:var(--sh-3);overflow:hidden;
}
.select2-container--default .select2-search--dropdown{padding:8px;background:var(--tint)}
.select2-container--default .select2-search--dropdown .select2-search__field{
  border:1px solid var(--line);border-radius:var(--r-sm);padding:9px 12px;font-size:14px;outline:none;
}
.select2-container--default .select2-search--dropdown .select2-search__field:focus{border-color:var(--brand)}
.select2-container--default .select2-results__options{max-height:260px}
.select2-container--default .select2-results__option{padding:10px 14px;font-size:14px;color:var(--text)}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--brand);color:#fff}
.select2-container--default .select2-results__option[aria-selected=true],
.select2-container--default .select2-results__option[data-selected=true]{background:var(--tint);color:var(--brand);font-weight:600}
.wstm-cobox h3{font-size:15px;margin:6px 0 14px}
@media(max-width:640px){.wstm-cobox .woocommerce-billing-fields__field-wrapper{grid-template-columns:minmax(0,1fr)}}

/* Thời gian giao hàng */
.wstm-delivery{display:flex;flex-direction:column;gap:12px}
.wstm-delivery__item{
  display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);
  border-radius:var(--r);cursor:pointer;transition:all .2s var(--ease);
}
.wstm-delivery__item:hover{border-color:var(--gold)}
.wstm-delivery__item.is-on{border-color:var(--brand);background:rgba(31,79,216,.03)}
.wstm-delivery__item input{width:18px;height:18px;accent-color:var(--brand);flex:none;margin:0}
.wstm-delivery__txt{flex:1;min-width:0;display:flex;flex-direction:column}
.wstm-delivery__txt b{font-size:14px;font-weight:600}
.wstm-delivery__txt span{font-size:12.5px;color:var(--text-2)}
.wstm-delivery__fee{font-size:13.5px;font-weight:700;color:var(--ok);white-space:nowrap}

/* Phương thức thanh toán */
.wstm-cobox .wc_payment_methods{margin:0;padding:0;list-style:none}
.wstm-cobox .wc_payment_method{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;margin-bottom:12px}
.wstm-cobox .wc_payment_method>label{display:inline-flex;align-items:center;gap:10px;margin:0;font-size:14px;font-weight:600}
.wstm-cobox .wc_payment_method input[type=radio]{width:18px;height:18px;accent-color:var(--brand)}
.wstm-cobox .payment_box{margin-top:10px;padding:12px 14px;background:var(--ivory);border-radius:var(--r-sm);font-size:13px;color:var(--text-2)}
.wstm-cobox .payment_box p{margin:0}
.wstm-cobox .woocommerce-privacy-policy-text{font-size:12.5px;color:var(--text-3);margin-top:12px}
.wstm-cobox #place_order{
  width:100%;margin-top:6px;background:var(--brand);color:#fff;border:0;border-radius:var(--r-sm);
  padding:16px 24px;font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 4px 14px rgba(31,79,216,.24);transition:all .25s var(--ease);
}
.wstm-cobox #place_order:hover{background:var(--brand-dark);transform:translateY(-1px)}

/* Nhãn nhận diện cổng thanh toán */
.wstm-paytag{
  float:right;margin-left:8px;padding:4px 9px;border-radius:4px;font-size:10px;font-weight:800;
  letter-spacing:.05em;background:var(--ivory);color:var(--text-2);border:1px solid var(--line);
}
.wstm-paytag--vnpay{background:#0F5EA8;border-color:#0F5EA8;color:#fff}
.wstm-paytag--momo{background:#A50064;border-color:#A50064;color:#fff}
.wstm-paytag--zalopay{background:#0068FF;border-color:#0068FF;color:#fff}

/* Bảng đơn hàng bên phải */
.wstm-review{border:0;background:none}
.wstm-review td,.wstm-review th{padding:10px 0;border:0;border-top:1px solid var(--line-soft);background:none}
.wstm-review tbody tr:first-child td{border-top:0}
.wstm-review__item{display:flex;gap:11px;align-items:flex-start}
.wstm-review__item img{width:46px;height:58px;object-fit:cover;background:var(--ivory);border-radius:4px;flex:none}
.wstm-review__name{display:block;font-size:13px;font-weight:600;line-height:1.4}
.wstm-review__qty{display:block;font-size:12px;color:var(--text-3);margin-top:3px}
.wstm-review td.product-total{text-align:right;white-space:nowrap;font-size:13.5px;font-weight:700;vertical-align:top}
.wstm-review tfoot th{font-size:13.5px;font-weight:500;color:var(--text-2);text-align:left}
.wstm-review tfoot td{text-align:right;font-size:13.5px;font-weight:700}
.wstm-review tfoot .order-total th{font-size:15px;font-weight:700;color:var(--text)}
.wstm-review tfoot .order-total td,.wstm-review tfoot .order-total .amount{font-size:21px;font-weight:800;color:var(--brand)}
.wstm-review tfoot .cart-discount td{color:#B3261E}
.wstm-review tfoot .woocommerce-shipping-totals td{color:var(--ok);font-weight:700}
.wstm-review .shipping ul{margin:0;padding:0;list-style:none;text-align:right}

/* Cam kết + hỗ trợ ở cột phải */
.wstm-promise--check{padding:18px;border-radius:var(--r-lg)}
.wstm-promise--check b{
  display:block;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--brand);margin-bottom:10px;
}
.wstm-promise--check li{display:flex;align-items:flex-start;gap:9px;padding:6px 0;border:0;font-size:12.5px;color:var(--text-2)}
.wstm-promise--check .wstm-ico{color:var(--ok);flex:none;margin-top:2px;width:15px;height:15px}
.wstm-support{
  display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);
}
.wstm-support .wstm-ico{color:var(--gold-dim);flex:none}
.wstm-support span{display:block;font-size:12px;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.wstm-support b{display:block;font-size:19px;font-weight:800;color:var(--brand)}
.wstm-support small{display:block;font-size:11.5px;color:var(--text-3)}

/* Dải logo thanh toán cuối trang thanh toán */
.wstm-paystrip{
  margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.wstm-paystrip__lab{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}
.wstm-paystrip .wstm-paylogos{justify-content:center}

/* Các bước thanh toán: dùng thẻ ol nên bỏ dấu chấm đầu dòng */
.wstm-steps{list-style:none;margin:0 0 24px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.wstm-steps .wstm-step__line{list-style:none}

/* -------------------------------------------- Trang xác nhận đơn hàng */
.wstm-thankyou{max-width:820px;margin-inline:auto}
.wstm-thankyou__head{text-align:center;margin-bottom:26px}
.wstm-thankyou__ico{
  width:76px;height:76px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;
  background:#EAF6EF;color:var(--ok);border:2px solid #B6DFC6;
}
.wstm-thankyou__head h1{font-size:clamp(24px,3vw,34px);margin:0 0 8px}
.wstm-thankyou__head p{color:var(--text-2);max-width:560px;margin:0 auto}
.wstm-thankyou__head.is-failed h1{color:#B3261E}
.wstm-thankyou__grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:26px;
}
.wstm-thankyou__grid li{background:var(--surface);padding:16px 18px;text-align:center}
.wstm-thankyou__grid span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}
.wstm-thankyou__grid strong{font-size:15px;font-weight:800;color:var(--brand)}
.wstm-thankyou__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}
.wstm-thankyou .woocommerce-order-details,.wstm-thankyou .woocommerce-customer-details{margin-top:26px}
.wstm-thankyou .woocommerce-order-details__title,.wstm-thankyou .woocommerce-column__title{
  font-family:var(--ff-body);font-size:14px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);
}
.wstm-thankyou .woocommerce-table--order-details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.wstm-thankyou .woocommerce-table--order-details th,
.wstm-thankyou .woocommerce-table--order-details td{padding:12px 16px;border-top:1px solid var(--line-soft);font-size:14px}

/* ==========================================================================
   ĐÁNH GIÁ SẢN PHẨM (tab Đánh giá)
   ========================================================================== */
.wstm-reviews{display:flex;flex-direction:column;gap:26px}

/* ---- Bảng tóm tắt điểm ---- */
.wstm-reviews__summary{
  display:grid;grid-template-columns:210px minmax(0,1fr) 280px;gap:0;
  border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden;
}
.wstm-reviews__score{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:24px 18px;background:var(--tint);border-right:1px solid var(--line);
}
.wstm-reviews__score b{
  font-family:var(--ff-display);font-size:46px;font-weight:700;line-height:1;color:var(--brand);
}
.wstm-reviews__outof{font-size:12px;color:var(--text-3);letter-spacing:.04em}
.wstm-stars--lg .wstm-ico{width:20px;height:20px}
.wstm-reviews__total{font-size:12.5px;color:var(--text-2);margin-top:2px}
.wstm-reviews__score.is-empty{gap:9px}
.wstm-reviews__score.is-empty .wstm-stars .wstm-ico{color:var(--line)}

.wstm-reviews__bars{display:flex;flex-direction:column;justify-content:center;gap:9px;padding:24px 26px}
.wstm-reviews__bar{display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:12px}
.wstm-reviews__barlab{
  display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;color:var(--text-2);
}
.wstm-reviews__barlab .wstm-ico{width:13px;height:13px;color:var(--gold);fill:currentColor;stroke:none}
.wstm-reviews__track{display:block;height:8px;border-radius:8px;background:var(--line-soft);overflow:hidden}
.wstm-reviews__track i{display:block;height:100%;border-radius:8px;background:var(--gold);transition:width .4s var(--ease)}
.wstm-reviews__barnum{font-size:12.5px;color:var(--text-3);text-align:right}

.wstm-reviews__cta{
  display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;
  padding:24px;border-left:1px solid var(--line);background:var(--ivory);
}
.wstm-reviews__cta p{margin:0;font-size:12.5px;line-height:1.65;color:var(--text-2)}
.wstm-reviews__cta .wstm-btn{font-size:12px;padding:11px 18px}
@media(max-width:1000px){
  .wstm-reviews__summary{grid-template-columns:minmax(0,1fr)}
  .wstm-reviews__score{border-right:0;border-bottom:1px solid var(--line)}
  .wstm-reviews__cta{border-left:0;border-top:1px solid var(--line);align-items:center;text-align:center}
}

/* ---- Chưa có đánh giá ---- */
.wstm-reviews__empty{
  display:flex;flex-direction:column;align-items:center;gap:7px;padding:36px 20px;text-align:center;
  border:1px dashed var(--line);border-radius:var(--r-lg);background:var(--surface);
}
.wstm-reviews__empty .wstm-ico{color:var(--line);fill:currentColor;stroke:none}
.wstm-reviews__empty b{font-size:15px;color:var(--text)}
.wstm-reviews__empty span{font-size:13.5px;color:var(--text-2)}
.wstm-reviews__locked{
  display:flex;align-items:center;gap:9px;margin:0;padding:14px 18px;font-size:13.5px;color:var(--text-2);
  background:var(--tint);border:1px solid var(--line);border-radius:var(--r);
}
.wstm-reviews__locked .wstm-ico{color:var(--gold-dim);flex:none}

/* ---- Danh sách nhận xét ---- */
.wstm-reviewlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.wstm-reviewlist .children{list-style:none;margin:14px 0 0 46px;padding:0;display:flex;flex-direction:column;gap:14px}
.wstm-rev__box{
  display:flex;gap:14px;padding:18px 20px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-lg);
}
.wstm-rev__avatar{
  flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:var(--brand);color:#fff;font-size:17px;font-weight:700;font-family:var(--ff-display);
}
.wstm-rev__main{flex:1;min-width:0}
.wstm-rev__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:5px}
.wstm-rev__name{font-size:14.5px;font-weight:600;color:var(--text)}
.wstm-rev__verified{
  display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;
  background:rgba(31,122,70,.1);color:var(--ok);font-size:11px;font-weight:600;
}
.wstm-rev__date{margin-left:auto;font-size:12px;color:var(--text-3)}
.wstm-rev__stars{margin-bottom:8px}
.wstm-rev__stars .wstm-ico{width:15px;height:15px}
.wstm-rev__text{font-size:14px;line-height:1.75;color:var(--text-2)}
.wstm-rev__text p{margin:0 0 .6em}
.wstm-rev__text p:last-child{margin:0}
.wstm-rev__pending{margin:8px 0 0;font-size:12.5px;color:var(--warn)}
@media(max-width:520px){
  .wstm-rev__box{padding:15px}
  .wstm-rev__date{margin-left:0;width:100%}
}

/* ---- Biểu mẫu gửi đánh giá ---- */
.wstm-reviewform{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 26px;
}
.wstm-reviewform__title{
  font-family:var(--ff-display);font-size:20px;margin:0 0 4px;color:var(--text);
}
.wstm-reviewform .comment-notes,.wstm-reviewform .comment-form-cookies-consent{
  font-size:12.5px;color:var(--text-3);
}
.wstm-reviewform .comment-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:16px}
.wstm-reviewform .comment-form-rating,
.wstm-reviewform .comment-form-comment,
.wstm-reviewform .comment-form-cookies-consent,
.wstm-reviewform .form-submit{grid-column:1/-1}
.wstm-reviewform p{margin:0 0 15px}
.wstm-reviewform label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text)}
.wstm-reviewform .required{color:var(--brand)}
.wstm-reviewform input[type=text],
.wstm-reviewform input[type=email],
.wstm-reviewform textarea,
.wstm-reviewform select{
  width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);
  background:#fff;font-size:14px;min-height:44px;transition:border-color .2s,box-shadow .2s;
}
.wstm-reviewform textarea{min-height:118px;resize:vertical;line-height:1.7}
.wstm-reviewform input:focus,.wstm-reviewform textarea:focus,.wstm-reviewform select:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(31,79,216,.1);
}
.wstm-reviewform .form-submit{margin:4px 0 0}
.wstm-reviewform .form-submit input{cursor:pointer}

/* Bộ chọn sao: nút bấm thật, ô select ẩn đi nhưng vẫn là nơi lưu giá trị. */
.wstm-ratepick{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.wstm-ratepick label{margin:0;flex:none}
/* Ô đồng ý lưu thông tin: hộp kiểm và dòng chữ nằm cùng hàng */
.wstm-reviewform .comment-form-cookies-consent{
  display:flex;align-items:flex-start;gap:9px;grid-column:1/-1;margin-bottom:18px;
}
.wstm-reviewform .comment-form-cookies-consent input[type=checkbox]{
  width:17px;height:17px;min-height:0;flex:none;margin-top:2px;accent-color:var(--brand);
}
.wstm-reviewform .comment-form-cookies-consent label{margin:0;font-size:12.5px;font-weight:400;color:var(--text-2);line-height:1.6}
.wstm-ratepick__stars{display:inline-flex;align-items:center;gap:4px}
.wstm-ratepick__star{
  width:34px;height:34px;display:grid;place-items:center;color:var(--line);
  border-radius:var(--r-sm);transition:color .15s,transform .15s;
}
.wstm-ratepick__star .wstm-ico{fill:currentColor;stroke:none;width:26px;height:26px}
.wstm-ratepick__star:hover{transform:scale(1.1)}
.wstm-ratepick__star.is-on{color:var(--gold)}
.wstm-ratepick__hint{font-size:13px;color:var(--text-2)}
/* Mặc định hiện ô chọn thường; JavaScript chạy được mới đổi sang dãy sao bấm.
   Nhờ vậy nếu JavaScript lỗi thì khách vẫn chấm điểm và gửi đánh giá bình thường. */
.wstm-ratepick__stars,.wstm-ratepick__hint{display:none}
.wstm-ratepick.is-enhanced .wstm-ratepick__stars{display:inline-flex}
.wstm-ratepick.is-enhanced .wstm-ratepick__hint{display:inline}
.wstm-ratepick.is-enhanced .wstm-ratepick__select{
  position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;
}
@media(max-width:640px){.wstm-reviewform{padding:18px}.wstm-reviewform .comment-form{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   CHỌN PHÂN LOẠI (hàng nhiều màu / nhiều mẫu)
   Bản rượu không có khối này vì mỗi chai là một mã hàng riêng.
   ========================================================================== */
.wstm-vars{margin:0 0 16px}
.wstm-vars__row{display:flex;align-items:flex-start;gap:14px;margin-bottom:12px;flex-wrap:wrap}
.wstm-vars__lab{
  flex:0 0 96px;padding-top:7px;font-size:13px;font-weight:600;color:var(--text-2);
}
.wstm-vars__opts{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.wstm-chip{
  border:1.5px solid var(--line);background:var(--surface);color:var(--text);
  padding:8px 14px;border-radius:var(--r-sm);font-size:13.5px;font-weight:500;
  line-height:1.3;text-transform:none;letter-spacing:0;transition:border-color .2s var(--ease),color .2s,background .2s;
  max-width:100%;text-align:left;
}
.wstm-chip:hover{border-color:var(--brand);color:var(--brand)}
.wstm-chip.is-on{
  border-color:var(--brand);background:var(--tint);color:var(--brand);font-weight:600;
  box-shadow:inset 0 0 0 1px var(--brand);
}
.wstm-vars__hint{
  margin:2px 0 0;font-size:13px;color:var(--warn);font-weight:600;
}
@media(max-width:600px){
  .wstm-vars__lab{flex:0 0 100%;padding-top:0}
}
