/* ============================================================
 * DPM Theme — BÁN HÀNG (WooCommerce) 2.6.0
 * Chỉ nạp ở trang cửa hàng, sản phẩm, giỏ hàng, thanh toán, tài khoản.
 * ============================================================ */
.woocommerce .woocommerce-breadcrumb{margin:0 0 12px;color:#64748b;font-size:14px}
.woocommerce .woocommerce-breadcrumb a{color:inherit}
.woocommerce-products-header__title.page-title{margin:0 0 12px}
.woocommerce .woocommerce-result-count{margin:6px 0 16px;color:#64748b;font-size:14px}
.woocommerce .woocommerce-ordering{margin:0 0 16px}
.woocommerce .woocommerce-ordering select,.woocommerce form .form-row select{height:40px;padding:0 12px;border:1px solid var(--dpm-border,#e5e7eb);border-radius:min(calc(10px * var(--r-k,1)),var(--r-max,999px));background:#fff;font-size:15px}

/* Lưới sản phẩm */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(var(--dpm-shop-cols,4),minmax(0,1fr));gap:clamp(12px,2vw,22px);margin:0 0 26px!important;padding:0!important;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{position:relative;display:flex;flex-direction:column;width:auto!important;float:none!important;margin:0!important;padding:0 0 14px!important;background:var(--dpm-content-bg,#fff);border-radius:var(--dpm-radius,10px);overflow:hidden;transition:transform .2s,box-shadow .2s}
body.dpm-sc-border .woocommerce ul.products li.product{border:1px solid var(--dpm-content-border,#e5e7eb)}
body.dpm-sc-shadow .woocommerce ul.products li.product{box-shadow:var(--sh-all,0 2px 10px rgba(15,23,42,.07))}
body.dpm-sc-shadow .woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:var(--sh-all,0 14px 30px rgba(15,23,42,.13))}
body.dpm-sc-plain .woocommerce ul.products li.product{background:transparent;padding-bottom:6px!important}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1;color:inherit;text-decoration:none}
.woocommerce ul.products li.product a img{width:100%;height:auto;aspect-ratio:var(--dpm-shop-ratio,auto);object-fit:contain;margin:0 0 12px!important;background:#f1f5f9;transition:transform .35s}
.woocommerce ul.products li.product:hover a img{transform:scale(1.03)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 14px!important;margin:0 0 6px!important;font-size:15px!important;font-weight:700;line-height:1.4;color:var(--dpm-title,#1f2937)}
.woocommerce ul.products li.product .price{display:block;padding:0 14px;margin:0 0 12px!important;color:var(--dpm-accent,#b51f24)!important;font-size:16px!important;font-weight:800}
.woocommerce ul.products li.product .price del{opacity:.5;font-weight:400;font-size:.88em;margin-right:4px}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .star-rating{margin:0 14px 8px!important}
.woocommerce ul.products li.product .button{align-self:flex-start;margin:auto 14px 0!important}
body.dpm-sc-plain .woocommerce ul.products li.product .woocommerce-loop-product__title,body.dpm-sc-plain .woocommerce ul.products li.product .price{padding-inline:2px!important}
body.dpm-sc-plain .woocommerce ul.products li.product .button{margin-inline:2px!important}
body.dpm-s-center .woocommerce ul.products li.product{text-align:center}
body.dpm-s-center .woocommerce ul.products li.product .button{align-self:center}
.woocommerce span.onsale{top:10px!important;left:10px!important;right:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:6px 11px!important;border-radius:min(calc(999px * var(--r-k,1)),var(--r-max,999px))!important;background:var(--dpm-sale-bg,#e11d48)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;line-height:1!important;z-index:2}

/* Nút */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:.72em 1.35em;border:0;border-radius:min(calc(999px * var(--r-k,1)),var(--r-max,999px));background:var(--dpm-accent,#b51f24);color:#fff!important;font-weight:700;font-size:15px;line-height:1.2;text-decoration:none!important;transition:filter .15s,transform .15s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--dpm-accent2,var(--dpm-accent,#8e171c));color:#fff!important}
.woocommerce a.button.added::after{margin-left:4px}
.woocommerce a.added_to_cart{display:inline-block;margin:6px 14px 0;font-size:13px;font-weight:600;color:var(--dpm-link,#1d4ed8)}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.5;padding:.72em 1.35em}

/* Trang sản phẩm */
.woocommerce div.product{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:start}
.woocommerce div.product>*{grid-column:1/-1;min-width:0}
.woocommerce div.product>.woocommerce-product-gallery,.woocommerce-page div.product>.woocommerce-product-gallery{grid-column:1;width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product>.summary,.woocommerce-page div.product>.summary{grid-column:2;width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product>span.onsale{position:absolute}
.woocommerce div.product .woocommerce-product-gallery__wrapper img,.woocommerce div.product .woocommerce-product-gallery img{border-radius:var(--dpm-radius,10px)}
.woocommerce div.product .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px!important}
.woocommerce div.product .flex-control-thumbs li{width:auto!important;margin:0!important}
.woocommerce div.product .flex-control-thumbs img{border-radius:min(calc(8px * var(--r-k,1)),var(--r-max,999px));opacity:.6}
.woocommerce div.product .flex-control-thumbs img.flex-active,.woocommerce div.product .flex-control-thumbs img:hover{opacity:1}
.woocommerce div.product .product_title{margin:0 0 10px;font-size:calc(var(--dpm-font-size,17px) * 1.6);line-height:1.25}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--dpm-accent,#b51f24)!important;font-size:24px!important;font-weight:800;margin:0 0 14px}
.woocommerce div.product p.price del{opacity:.5;font-weight:400;font-size:.7em}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{margin:0 0 16px;color:var(--dpm-text,#334155)}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px!important}
.woocommerce div.product form.cart::before,.woocommerce div.product form.cart::after{display:none}
.woocommerce div.product form.cart div.quantity{float:none!important;margin:0!important}
.woocommerce .quantity .qty{width:72px;height:44px;border:1px solid var(--dpm-border,#e5e7eb);border-radius:min(calc(999px * var(--r-k,1)),var(--r-max,999px));text-align:center;font-size:16px}
.woocommerce div.product form.cart .button{float:none!important;height:44px;padding:0 1.6em}
.woocommerce div.product .product_meta{padding-top:12px;border-top:1px dashed var(--dpm-border,#e5e7eb);color:#64748b;font-size:14px}
.woocommerce div.product .product_meta>span{display:block;margin:2px 0}
.woocommerce div.product .woocommerce-tabs{margin-top:10px}
.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px!important;padding:0!important;overflow:visible}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{margin:0!important;padding:0!important;border:0!important;border-radius:min(calc(999px * var(--r-k,1)),var(--r-max,999px))!important;background:var(--dpm-bg,#f1f5f9)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{display:block;padding:9px 18px!important;color:var(--dpm-text,#334155)!important;font-weight:700}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--dpm-accent,#b51f24)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:#fff!important}
.woocommerce div.product .woocommerce-tabs .panel{margin:0 0 24px}
.woocommerce .related>h2,.woocommerce .upsells>h2,.woocommerce .cross-sells>h2{font-size:calc(var(--dpm-font-size,17px) * 1.3);margin:10px 0 14px}

/* Thông báo */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--dpm-accent,#b51f24)!important;border-radius:var(--dpm-radius,10px);background:var(--dpm-surface,#f8fafc)!important;color:var(--dpm-text,#1f2937)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--dpm-accent,#b51f24)!important}
.woocommerce-error{border-top-color:#dc2626!important}
.woocommerce-message .button,.woocommerce-info .button{float:right}

/* Giỏ hàng, thanh toán */
.woocommerce table.shop_table{border-radius:var(--dpm-radius,10px);border-color:var(--dpm-border,#e5e7eb);overflow:hidden}
.woocommerce table.shop_table th{background:var(--dpm-bg,#f8fafc)}
.woocommerce table.shop_table img{width:64px;border-radius:min(calc(8px * var(--r-k,1)),var(--r-max,999px))}
.woocommerce table.cart td.actions .coupon .input-text{height:42px;padding:0 12px;border:1px solid var(--dpm-border,#e5e7eb);border-radius:min(calc(999px * var(--r-k,1)),var(--r-max,999px));min-width:140px}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{width:min(100%,460px)}
.woocommerce a.checkout-button{width:100%;font-size:17px!important;padding:1em!important}
.woocommerce form .form-row{margin:0 0 14px}
.woocommerce form .form-row label{font-weight:600;margin-bottom:4px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{padding:11px 14px;border:1px solid var(--dpm-border,#e5e7eb);border-radius:min(calc(10px * var(--r-k,1)),var(--r-max,999px));background:#fff;font-size:16px;line-height:1.4}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:2px solid color-mix(in srgb,var(--dpm-accent,#b51f24) 35%,transparent);border-color:var(--dpm-accent,#b51f24)}
.woocommerce-checkout #payment{border-radius:var(--dpm-radius,10px);background:var(--dpm-bg,#f8fafc)!important}
.woocommerce-checkout #payment div.payment_box{background:#fff!important;border-radius:min(calc(8px * var(--r-k,1)),var(--r-max,999px))}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce #place_order{width:100%;font-size:17px;padding:1em}

/* Tài khoản */
.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:10px 14px;border-radius:min(calc(10px * var(--r-k,1)),var(--r-max,999px));background:var(--dpm-bg,#f8fafc);color:var(--dpm-text,#1f2937);font-weight:600;text-decoration:none}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--dpm-accent,#b51f24);color:#fff}
.woocommerce form.login,.woocommerce form.register{border-radius:var(--dpm-radius,10px);border-color:var(--dpm-border,#e5e7eb)}

/* Máy tính bảng, điện thoại */
@media(max-width:1100px){body.dpm-scols-5 .woocommerce ul.products,body.dpm-scols-6 .woocommerce ul.products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){
  body.dpm-scols-4 .woocommerce ul.products,body.dpm-scols-5 .woocommerce ul.products,body.dpm-scols-6 .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
  .woocommerce div.product{grid-template-columns:minmax(0,1fr)}
  .woocommerce div.product>.summary,.woocommerce-page div.product>.summary{grid-column:1}
}
@media(max-width:768px){
  .woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:100%!important;margin-bottom:16px}
  .woocommerce-account .woocommerce-MyAccount-navigation ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .woocommerce ul.products,body[class*="dpm-scols-"] .woocommerce ul.products{grid-template-columns:repeat(var(--dpm-shop-cols-m,2),minmax(0,1fr));gap:10px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 10px!important;font-size:14px!important}
  .woocommerce ul.products li.product .price{padding:0 10px;font-size:15px!important}
  .woocommerce ul.products li.product .button{margin:auto 10px 0!important;padding:.6em 1em;font-size:13px}
  .woocommerce .woocommerce-ordering,.woocommerce .woocommerce-result-count{float:none!important;width:100%}
  .woocommerce .woocommerce-ordering select{width:100%}
  .woocommerce div.product .product_title{font-size:calc(var(--dpm-font-size,17px) * 1.35)}
  .woocommerce div.product form.cart .button{flex:1}
}
/* Giá: luôn đủ cao, giá cũ và giá mới không đè lên nhau */
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{line-height:1.35!important}
.woocommerce .price del,.woocommerce .price ins{display:inline!important;line-height:inherit!important}

/* ============================================================
 * 2.9.1 — Nhường cho DPM Quản lý sản phẩm (4 cách xem: Lưới / Danh sách / Bảng / Gọn)
 * Plugin gắn lớp .dpmq-loop lên danh sách; giao diện không ép kiểu lưới nữa.
 * ============================================================ */
/* Bảng, Gọn: ẩn danh sách gốc (plugin tự dựng bảng ngay bên dưới) */
.woocommerce ul.products.dpmq-loop.dpmq-hide{display:none!important}
/* Danh sách: mỗi sản phẩm một hàng ngang cả bề rộng */
.woocommerce ul.products.dpmq-loop.dpmq-list{display:block!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product{padding:14px!important;align-items:start;transform:none!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product a img{aspect-ratio:4/3!important;margin:0!important;transform:none!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product .price{font-size:16px!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product .dpmq-desc{grid-column:2;margin:0 0 8px!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product .button{margin:4px 0 0!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product .added_to_cart{grid-column:2;margin:6px 0 0}
@media(max-width:640px){.woocommerce ul.products.dpmq-loop.dpmq-list li.product{padding:10px!important}}
/* Lưới: mô tả ngắn thẳng lề với tên và giá */
.woocommerce ul.products li.product .dpmq-desc{padding:0 14px;margin:0 0 8px!important}
body.dpm-sc-plain .woocommerce ul.products li.product .dpmq-desc{padding:0 2px}
@media(max-width:600px){.woocommerce ul.products li.product .dpmq-desc{padding:0 10px}}
/* Giá trống ("Liên hệ"): không cộng lề hai lần */
.woocommerce ul.products li.product .price .price{display:inline;padding:0!important;margin:0!important;font-size:inherit!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product{margin:0 0 14px!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product .woocommerce-loop-product__title{padding:0!important;margin:0 0 8px!important;font-size:18px!important}
.woocommerce ul.products.dpmq-loop.dpmq-list li.product .button{padding:.65em 1.3em!important}
@media(max-width:640px){.woocommerce ul.products.dpmq-loop.dpmq-list li.product .woocommerce-loop-product__title{font-size:16px!important}.woocommerce ul.products.dpmq-loop.dpmq-list li.product .button{padding:.55em 1em!important;font-size:13px}}
/* Điện thoại: bảng vừa màn hình, cột Giá luôn thấy */
@media(max-width:640px){.dpm-shop-content .dpmq-table .dpmq-t-name{min-width:0}.dpm-shop-content .dpmq-table .dpmq-t-price{padding-left:4px!important}}

/* 2.9.2 — "Dưới ảnh sản phẩm": khối nằm ngay dưới ảnh, cột thông tin bên phải không bị đẩy xuống */
.woocommerce div.product:has(>[data-dpm-slot="p_gallery"]:not([hidden])){grid-template-rows:auto 1fr}
.woocommerce div.product>[data-dpm-slot="p_gallery"]{grid-column:1;grid-row:2;min-width:0;margin-top:0}
.woocommerce div.product:has(>[data-dpm-slot="p_gallery"]:not([hidden]))>.woocommerce-product-gallery{grid-row:1}
.woocommerce div.product:has(>[data-dpm-slot="p_gallery"]:not([hidden]))>.summary{grid-row:1 / span 2}
@media(max-width:980px){
  .woocommerce div.product:has(>[data-dpm-slot="p_gallery"]:not([hidden])){grid-template-rows:none}
  .woocommerce div.product>[data-dpm-slot="p_gallery"],.woocommerce div.product:has(>[data-dpm-slot="p_gallery"]:not([hidden]))>.summary,.woocommerce div.product:has(>[data-dpm-slot="p_gallery"]:not([hidden]))>.woocommerce-product-gallery{grid-row:auto}
}

/* ============================================================
 * 2.12.1 — Xếp hình thông minh / Xếp theo cột (assets/shop-layout.js đặt vị trí từng sản phẩm)
 * Ảnh giữ đúng hình thật, không cắt. Tên + giá: dưới ảnh (cao cố định) hoặc hiện khi rê chuột.
 * ============================================================ */
.woocommerce ul.products.dpm-sl-on{display:block!important;position:relative}
.woocommerce ul.products.dpm-sl-on>li.product{position:absolute!important;left:var(--sl-x)!important;top:var(--sl-y)!important;width:var(--sl-w)!important;height:var(--sl-h)!important;box-sizing:border-box;display:flex;flex-direction:column;margin:0!important;padding:0!important;overflow:hidden;transform:none!important}
.woocommerce ul.products.dpm-sl-on>li.product a.woocommerce-LoopProduct-link{position:relative;display:flex;flex-direction:column;height:100%;min-height:0}
.woocommerce ul.products.dpm-sl-on>li.product a img{flex:0 0 auto;min-height:0;width:100%!important;height:calc(100% - var(--dpm-sl-cap,72px))!important;aspect-ratio:auto!important;margin:0!important;object-fit:contain;background:var(--dpm-soft,#f1f5f9);border-radius:var(--dpm-radius,10px) var(--dpm-radius,10px) 0 0}
.woocommerce ul.products.dpm-sl-on>li.product:hover a img{transform:scale(1.025)}
.woocommerce ul.products.dpm-sl-on>li.product .woocommerce-loop-product__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 2px!important;padding:0 10px!important;font-size:14px!important;line-height:1.35}
.woocommerce ul.products.dpm-sl-on>li.product .price{margin:0!important;padding:0 10px;font-size:14.5px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.woocommerce ul.products.dpm-sl-on>li.product .button,.woocommerce ul.products.dpm-sl-on>li.product .added_to_cart,.woocommerce ul.products.dpm-sl-on>li.product .dpmq-desc,.woocommerce ul.products.dpm-sl-on>li.product .star-rating{display:none!important}
.woocommerce ul.products.dpm-sl-on>li.product.dpm-sl-sm .woocommerce-loop-product__title{font-size:12.5px!important;-webkit-line-clamp:2}
.woocommerce ul.products.dpm-sl-on>li.product.dpm-sl-sm .price{font-size:12.5px!important}
body.dpm-sc-shadow .woocommerce ul.products.dpm-sl-on>li.product:hover{box-shadow:var(--sh-all,0 12px 28px rgba(15,23,42,.16))}
/* Tên + giá hiện trên ảnh khi rê chuột */
body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product a img{height:100%!important;border-radius:var(--dpm-radius,10px)}
body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product .woocommerce-loop-product__title,
body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product .price{position:absolute;left:0;right:0;z-index:2;color:#fff!important;opacity:0;transition:opacity .2s}
body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product .woocommerce-loop-product__title{bottom:24px;margin:0!important;text-shadow:0 1px 3px rgba(0,0,0,.5)}
body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product .price{bottom:6px;color:#fde68a!important}
body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product a.woocommerce-LoopProduct-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:70px;background:linear-gradient(0deg,rgba(8,12,24,.75),rgba(8,12,24,0));border-radius:0 0 var(--dpm-radius,10px) var(--dpm-radius,10px);opacity:0;transition:opacity .2s;pointer-events:none}
body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product:hover .woocommerce-loop-product__title,body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product:hover .price,body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product:hover a.woocommerce-LoopProduct-link::after{opacity:1}
@media(hover:none){body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product .woocommerce-loop-product__title,body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product .price,body.dpm-scap-hover .woocommerce ul.products.dpm-sl-on>li.product a.woocommerce-LoopProduct-link::after{opacity:1}}
.woocommerce ul.products.dpm-sl-on>li.product.dpm-sl-sm .price{display:none}

/* ============================================================
 * 2.13.1–2.13.2 — Ảnh trang chi tiết sản phẩm: giữ tỷ lệ gốc, không cắt; ảnh nhỏ một hàng dưới / một cột trái,
 * kéo để cuộn, không thanh cuộn, ảnh được chọn tự ra giữa, hai nút tam giác mờ ở hai đầu (gallery.js bọc .dpm-pg-strip)
 * ============================================================ */
.woocommerce div.product .woocommerce-product-gallery .flex-viewport{transition:height .3s ease}
.woocommerce div.product .woocommerce-product-gallery__image{text-align:center}
.woocommerce div.product .woocommerce-product-gallery__image>a{display:inline-block;max-width:100%;vertical-align:top}
.woocommerce div.product .woocommerce-product-gallery__image img{display:block;width:auto!important;max-width:100%!important;height:auto!important;max-height:calc(var(--pg-maxh,100) * 1vh - 24px);margin:0 auto;object-fit:contain;aspect-ratio:auto!important}
.woocommerce div.product .flex-control-thumbs{position:relative;display:flex!important;flex-wrap:nowrap!important;gap:8px;overflow-x:auto;overflow-y:hidden;margin:10px 0 0!important;padding:0!important;list-style:none;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.woocommerce div.product .flex-control-thumbs::-webkit-scrollbar{display:none}
.woocommerce div.product .flex-control-thumbs.is-drag{cursor:grabbing}
.woocommerce div.product .flex-control-thumbs::before,.woocommerce div.product .flex-control-thumbs::after{display:none!important}
.woocommerce div.product .flex-control-thumbs li{flex:0 0 auto!important;width:auto!important;float:none!important;margin:0!important;padding:0!important}
.woocommerce div.product .flex-control-thumbs img{display:block;box-sizing:border-box;height:var(--pg-th,80px)!important;width:auto!important;max-width:none!important;object-fit:contain;aspect-ratio:auto!important;border:2px solid transparent;border-radius:min(calc(8px * var(--r-k,1)),var(--r-max,999px));opacity:.6;-webkit-user-drag:none;user-select:none;cursor:pointer;transition:opacity .15s,border-color .15s}
.woocommerce div.product .flex-control-thumbs img:hover{opacity:.9}
.woocommerce div.product .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--dpm-accent,#b51f24)}
.dpm-pg-strip{position:relative;margin-top:10px}
.woocommerce div.product .dpm-pg-strip>.flex-control-thumbs{margin:0!important}
.dpm-pg-nav{position:absolute;z-index:2;top:0;bottom:0;width:34px;display:flex;align-items:center;padding:0;border:0;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.dpm-pg-nav.is-prev{left:0;justify-content:flex-start;padding-left:4px;background:linear-gradient(90deg,rgba(255,255,255,.95) 20%,rgba(255,255,255,0))}
.dpm-pg-nav.is-next{right:0;justify-content:flex-end;padding-right:4px;background:linear-gradient(270deg,rgba(255,255,255,.95) 20%,rgba(255,255,255,0))}
.dpm-pg-nav i{display:block;width:11px;height:min(34px,70%);background:rgba(30,41,59,.55);transition:background-color .15s}
.dpm-pg-nav.is-prev i{clip-path:polygon(100% 0,0 50%,100% 100%)}
.dpm-pg-nav.is-next i{clip-path:polygon(0 0,100% 50%,0 100%)}
.dpm-pg-nav:hover i{background:var(--dpm-accent,#b51f24)}
.dpm-pg-strip.can-prev>.is-prev,.dpm-pg-strip.can-next>.is-next{opacity:1;visibility:visible}
@media (min-width:769px){
  body.dpm-pg-left div.product .woocommerce-product-gallery:has(.flex-control-thumbs){padding-left:calc(var(--pg-th,80px) + 14px)!important;min-height:calc(var(--pg-th,80px) * 5)}
  body.dpm-pg-left div.product .dpm-pg-strip{position:absolute;left:0;top:0;bottom:0;width:var(--pg-th,80px);margin:0}
  body.dpm-pg-left div.product .dpm-pg-strip>.flex-control-thumbs{height:100%;flex-direction:column;overflow-x:hidden;overflow-y:auto}
  body.dpm-pg-left div.product .flex-control-thumbs:not(.dpm-pg-strip>*){position:absolute;left:0;top:0;bottom:0;width:var(--pg-th,80px);flex-direction:column;overflow-x:hidden;overflow-y:auto;margin:0!important}
  body.dpm-pg-left div.product .flex-control-thumbs img{width:var(--pg-th,80px)!important;height:auto!important}
  body.dpm-pg-left .dpm-pg-nav{left:0;right:0;width:auto;height:30px;justify-content:center;align-items:flex-start;padding:4px 0 0}
  body.dpm-pg-left .dpm-pg-nav.is-prev{top:0;bottom:auto;background:linear-gradient(180deg,rgba(255,255,255,.95) 20%,rgba(255,255,255,0))}
  body.dpm-pg-left .dpm-pg-nav.is-next{top:auto;bottom:0;align-items:flex-end;padding:0 0 4px;background:linear-gradient(0deg,rgba(255,255,255,.95) 20%,rgba(255,255,255,0))}
  body.dpm-pg-left .dpm-pg-nav i{width:min(34px,60%);height:11px}
  body.dpm-pg-left .dpm-pg-nav.is-prev i{clip-path:polygon(0 100%,50% 0,100% 100%)}
  body.dpm-pg-left .dpm-pg-nav.is-next i{clip-path:polygon(0 0,50% 100%,100% 0)}
}

/* ============================================================
 * 2.15.2 — Ảnh chính cao tối đa vừa màn hình, nằm sát trên; ảnh nhỏ một cột BÊN PHẢI; nút Mua ngay; thanh mua hàng điện thoại
 * ============================================================ */
.woocommerce div.product .woocommerce-product-gallery__image img{max-height:min(calc(var(--pg-maxh,100) * 1vh - 24px),calc(100vh - var(--hd-h,0px) - 70px))}
.woocommerce div.product .woocommerce-product-gallery{align-self:start}
.woocommerce div.product .woocommerce-product-gallery .flex-viewport,.woocommerce div.product .woocommerce-product-gallery__wrapper{vertical-align:top}
@media (min-width:769px){
  body.dpm-pg-left div.product .woocommerce-product-gallery:has(.flex-control-thumbs),
  body.dpm-pg-right div.product .woocommerce-product-gallery:has(.flex-control-thumbs){min-height:calc(var(--pg-th,80px) * 3)}
  body.dpm-pg-right div.product .woocommerce-product-gallery:has(.flex-control-thumbs){padding-right:calc(var(--pg-th,80px) + 14px)!important}
  body.dpm-pg-right div.product .dpm-pg-strip{position:absolute;right:0;top:0;bottom:0;width:var(--pg-th,80px);margin:0}
  body.dpm-pg-right div.product .dpm-pg-strip>.flex-control-thumbs{height:100%;flex-direction:column;overflow-x:hidden;overflow-y:auto}
  body.dpm-pg-right div.product .flex-control-thumbs:not(.dpm-pg-strip>*){position:absolute;right:0;top:0;bottom:0;width:var(--pg-th,80px);flex-direction:column;overflow-x:hidden;overflow-y:auto;margin:0!important}
  body.dpm-pg-right div.product .flex-control-thumbs img{width:var(--pg-th,80px)!important;height:auto!important}
  body.dpm-pg-right .dpm-pg-nav{left:0;right:0;width:auto;height:30px;justify-content:center;align-items:flex-start;padding:4px 0 0}
  body.dpm-pg-right .dpm-pg-nav.is-prev{top:0;bottom:auto;background:linear-gradient(180deg,rgba(255,255,255,.95) 20%,rgba(255,255,255,0))}
  body.dpm-pg-right .dpm-pg-nav.is-next{top:auto;bottom:0;align-items:flex-end;padding:0 0 4px;background:linear-gradient(0deg,rgba(255,255,255,.95) 20%,rgba(255,255,255,0))}
  body.dpm-pg-right .dpm-pg-nav i{width:min(34px,60%);height:11px}
  body.dpm-pg-right .dpm-pg-nav.is-prev i{clip-path:polygon(0 100%,50% 0,100% 100%)}
  body.dpm-pg-right .dpm-pg-nav.is-next i{clip-path:polygon(0 0,50% 100%,100% 0)}
  /* Cột ảnh nhỏ (trái / phải) cao bằng ảnh chính, không kéo dài khung */
  body:is(.dpm-pg-left,.dpm-pg-right) div.product .woocommerce-product-gallery{position:relative;height:auto}
}
/* Nút Mua ngay cạnh Thêm vào giỏ */
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.woocommerce div.product form.cart .variations,.woocommerce div.product form.cart .single_variation_wrap{flex:1 1 100%}
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:10px}
.woocommerce div.product form.cart .button.dpm-buynow{background:var(--dpm-cta-bg,#f59e0b)!important;color:var(--dpm-cta-text,#1f1300)!important;margin:0!important}
.woocommerce div.product form.cart .button.dpm-buynow:hover{filter:brightness(.94)}
.woocommerce div.product form.cart .single_add_to_cart_button{margin:0!important}
.dpm-cartline{margin:10px 0 0;padding:9px 12px;border:1px solid color-mix(in srgb,#16a34a 40%,transparent);background:color-mix(in srgb,#16a34a 8%,#fff);color:#166534;font-size:.92em;line-height:1.5}
.dpm-cartline a{font-weight:700;color:#166534;text-decoration:underline}
/* Thanh mua hàng dính đáy — chỉ điện thoại */
.dpm-mbar{display:none}
@media (max-width:768px){
  .dpm-mbar:not([hidden]){position:fixed;left:0;right:0;bottom:0;z-index:990;display:flex;align-items:center;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -6px 20px rgba(15,23,42,.12)}
  .dpm-mbar-price{flex:1 1 auto;min-width:0;font-weight:800;color:var(--dpm-accent,#b51f24);font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .dpm-mbar-price del{opacity:.5;font-weight:400;font-size:.85em}
  .dpm-mbar button{flex:0 0 auto;padding:11px 14px;border:0;font-weight:700;font-size:14px;line-height:1;cursor:pointer;border-radius:min(calc(8px * var(--r-k,1)),var(--r-max,999px))}
  .dpm-mbar-add{background:var(--dpm-accent,#b51f24);color:#fff}
  .dpm-mbar-buy{background:var(--dpm-cta-bg,#f59e0b);color:var(--dpm-cta-text,#1f1300)}
  body.single-product{padding-bottom:64px}
}
@media (min-width:769px){body.dpm-pg-right div.product .woocommerce-product-gallery__trigger{right:calc(var(--pg-th,80px) + 24px)!important}}
