/* DPM WooCommerce Product 0.7.0 – giao diện ngoài site (viết lại gọn từ 0.6.6).
 * Nhiều chỗ dùng !important vì Flatsome/WooCommerce tự đặt kích thước thẻ sản phẩm.
 */

/* ===== Trang chi tiết: bộ chọn quy cách ===== */
.dpmpp-box{border:1px solid #e4e4e4;border-radius:10px;padding:16px;margin:16px 0;background:#fff}
.dpmpp-box h3{margin:0 0 12px}
.dpmpp-field{margin:0 0 12px}
.dpmpp-field>label{display:block;font-weight:600;margin-bottom:5px}
.dpmpp-field select{width:100%;max-width:100%}
.dpmpp-checks{display:flex;flex-wrap:wrap;gap:8px 14px}
.dpmpp-checks label{background:#f6f6f6;padding:6px 9px;border-radius:6px}
.dpmpp-total{padding-top:10px;border-top:1px solid #eee;font-size:1.08em}
.dpmpp-total strong{font-size:1.15em}
.dpmpp-quote{margin-left:8px}
.dpmpp-spec-extra-blocks{margin:14px 0 18px}
.dpmpp-spec-extra-block{padding:12px 0;border-top:1px solid #e5e5e5}
.dpmpp-spec-extra-block:first-child{border-top:0}
.dpmpp-spec-extra-block h3{margin:0 0 7px}
.dpmpp-spec-extra-content>:first-child{margin-top:0}
.dpmpp-spec-extra-content>:last-child{margin-bottom:0}
.single-product .summary .dpmpp-summary-ux-block{display:block;width:100%;margin:14px 0 0;clear:both}
.single-product .summary .dpmpp-summary-ux-block:empty{display:none;margin:0}

/* ===== Thanh công cụ: bộ lọc + nút chế độ xem ===== */
.dpmpp-filter{margin:0 0 10px}
.dpmpp-filter-form{display:flex;align-items:center;gap:5px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:2px 0;scrollbar-width:thin}
.dpmpp-filter-control{flex:0 0 auto;margin:0}
.dpmpp-filter-control select,.dpmpp-filter-control input,.dpmpp-filter-submit,.dpmpp-filter-reset,.dpmpp-filter-open,.dpmpp-detail-button,
.dpmpp-view-toggle button,.dpmpp-view-toggle select{box-sizing:border-box!important;height:34px!important;min-height:34px!important;max-height:34px!important;margin-top:0!important;margin-bottom:0!important;border:1px solid #d7d7d7;border-radius:5px;background:#fff;color:#333;font-size:13px;line-height:32px!important;padding:0 9px;white-space:nowrap;vertical-align:middle}
.dpmpp-filter-control select{min-width:105px;max-width:170px}
.dpmpp-filter-control.dpmpp-price input{width:92px}
.dpmpp-filter-submit,.dpmpp-filter-open{background:#333;color:#fff;border-color:#333;cursor:pointer}
.dpmpp-detail-button{border-color:#555;background:#555;color:#fff!important;padding:0 10px;text-decoration:none!important;cursor:pointer}
.dpmpp-filter-reset{display:inline-block;text-decoration:none}
.dpmpp-filter-open{display:none;margin-bottom:5px!important}
.dpmpp-filter-popup .dpmpp-filter-open{display:inline-block}
.dpmpp-filter-popup .dpmpp-filter-form{display:none;padding:10px;border:1px solid #e1e1e1;background:#fff;border-radius:7px;flex-wrap:wrap;overflow:visible}
.dpmpp-filter-popup.is-open .dpmpp-filter-form{display:flex}
.dpmpp-detail-filter.is-detail-hidden{display:none!important}
.dpmpp-detail-filter.dpmpp-filter-top .dpmpp-filter-form{flex-wrap:wrap;overflow:visible;padding:8px;border:1px solid #e1e1e1;border-radius:6px;background:#fff}
.dpmpp-filter-layout{display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);gap:18px;align-items:start}
.dpmpp-filter-layout.is-right{grid-template-columns:minmax(0,1fr) minmax(190px,240px)}
.dpmpp-filter-layout.is-right>.dpmpp-filter{order:2}
.dpmpp-filter-layout>.dpmpp-filter .dpmpp-filter-form{display:flex;flex-direction:column;align-items:stretch;overflow:visible}
.dpmpp-filter-layout>.dpmpp-filter :is(.dpmpp-filter-control,select,input,.dpmpp-filter-submit,.dpmpp-filter-reset){width:100%;max-width:none}
.dpmpp-filter-layout>.dpmpp-products-loop{min-width:0}

.dpmpp-view-toggle{display:flex;gap:5px;justify-content:flex-end;align-items:center;margin:0 0 10px;min-height:34px}
.dpmpp-view-toggle button{cursor:pointer}
.dpmpp-view-toggle button.active{background:#333;color:#fff;border-color:#333}
.dpmpp-view-toggle .dpmpp-view-icon{display:inline-flex!important;align-items:center;justify-content:center;width:34px!important;min-width:34px!important;max-width:34px!important;padding:0!important;font-size:17px!important}
.dpmpp-view-toggle .dpmpp-view-icon span{display:block;line-height:1}
.dpmpp-cols-label{display:flex;align-items:center;gap:4px;margin:0;font-size:12px;color:#666}
.dpmpp-cols-label .dpmpp-cols{width:48px!important;min-width:48px!important;max-width:48px!important;padding:0 20px 0 8px!important}
.dpmpp-cols:disabled{opacity:.45;cursor:not-allowed}

.dpmpp-product-toolbar{display:flex!important;align-items:center;justify-content:space-between;gap:18px;width:100%;margin:0 0 14px!important;clear:both}
.dpmpp-product-toolbar>.dpmpp-basic-filter{flex:1 1 auto;min-width:0;margin:0!important}
.dpmpp-product-toolbar>.dpmpp-basic-filter .dpmpp-filter-form{min-height:34px;margin:0!important;padding:0!important}
.dpmpp-product-toolbar>.dpmpp-view-toggle{flex:0 0 auto;margin:0!important;padding:0!important}
.dpmpp-product-toolbar .dpmpp-filter-control{display:flex;align-items:center;min-height:34px}

/* ===== Khung chung danh sách sản phẩm ===== */
.dpmpp-products-loop{width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;float:none!important;clear:both!important;column-count:auto!important}
.dpmpp-products-loop::before,.dpmpp-products-loop::after{display:none!important}
.dpmpp-products-loop>.dpmpp-product-card{box-sizing:border-box!important;position:relative!important;float:none!important;min-width:0!important;height:auto!important;min-height:0!important;margin:0!important;transform:none!important;top:auto!important;left:auto!important}
.dpmpp-products-loop img{max-width:100%!important;height:auto!important}

/* ===== LƯỚI ===== */
ul.products.dpmpp-grid{display:grid!important;grid-template-columns:repeat(var(--dpmpp-cols-now),minmax(0,1fr))!important;gap:20px!important}
ul.products.dpmpp-grid>.dpmpp-product-card{width:100%!important;max-width:100%!important;flex:none!important;padding-left:0!important;padding-right:0!important}
.products.row.dpmpp-grid{display:flex!important;flex-flow:row wrap!important;align-items:stretch!important;gap:0!important;margin-left:-10px!important;margin-right:-10px!important;width:auto!important;max-width:none!important}
.products.row.dpmpp-grid>.dpmpp-product-card{display:block!important;flex:0 0 calc(100% / var(--dpmpp-cols-now))!important;width:calc(100% / var(--dpmpp-cols-now))!important;max-width:calc(100% / var(--dpmpp-cols-now))!important;padding-left:10px!important;padding-right:10px!important}
.dpmpp-products-loop{--dpmpp-cols-now:var(--dpmpp-grid-cols,4)}
@media(max-width:900px){.dpmpp-products-loop.dpmpp-grid{--dpmpp-cols-now:min(var(--dpmpp-grid-cols,4),3)}}
@media(max-width:640px){.dpmpp-products-loop.dpmpp-grid{--dpmpp-cols-now:min(var(--dpmpp-grid-cols,4),2)}}
.dpmpp-grid-style-2 .box-text{padding-top:6px!important;padding-bottom:6px!important}
.dpmpp-grid-style-2 .button:not(.dpmpp-action-control){display:none!important}
.dpmpp-grid-style-3 .box-text{padding:10px!important}
.dpmpp-grid-style-4 .box-text{padding:6px!important;font-size:.92em!important}

/* ===== CỘT (xếp so le theo chiều cao ảnh; JS tính chỗ cho từng thẻ) ===== */
.dpmpp-products-loop.dpmpp-columns{display:grid!important;grid-template-columns:repeat(var(--dpmpp-cols-now),minmax(0,1fr))!important;grid-auto-rows:1px!important;column-gap:14px!important;row-gap:0!important;align-items:start!important;margin-left:0!important;margin-right:0!important;overflow:visible!important}
@media(max-width:700px){.dpmpp-products-loop.dpmpp-columns{--dpmpp-cols-now:min(var(--dpmpp-grid-cols,4),2)}}
.dpmpp-products-loop.dpmpp-columns>.dpmpp-product-card{display:block!important;width:100%!important;max-width:100%!important;flex:none!important;padding:0!important}
.dpmpp-products-loop.dpmpp-columns :is(.col-inner,.box,.box-text){height:auto!important;min-height:0!important}
.dpmpp-products-loop.dpmpp-columns .box-text{padding-bottom:10px!important;overflow:visible!important}

/* ===== DANH SÁCH: ảnh trái, tên + giá cùng dòng, mô tả bên dưới ===== */
.dpmpp-products-loop.dpmpp-list{display:block!important}
.dpmpp-products-loop.dpmpp-list>.dpmpp-product-card{display:block!important;width:100%!important;max-width:100%!important;flex:none!important;clear:both!important;margin:0 0 14px!important;padding:0!important}
.dpmpp-products-loop.dpmpp-list>li.product>a.woocommerce-LoopProduct-link,
.dpmpp-products-loop.dpmpp-list>.dpmpp-product-card .box{display:grid!important;grid-template-columns:minmax(150px,230px) minmax(0,1fr)!important;column-gap:18px!important;row-gap:6px!important;align-items:start!important;align-content:start!important;height:auto!important;min-height:0!important}
.dpmpp-products-loop.dpmpp-list>li.product>a.woocommerce-LoopProduct-link>img{grid-row:1 / span 5!important}
.dpmpp-products-loop.dpmpp-list>li.product>a.woocommerce-LoopProduct-link>:not(img){grid-column:2!important;margin:0!important;padding:0!important}
.dpmpp-products-loop.dpmpp-list>li.product>.button{margin:-40px 0 0 248px!important;position:relative!important}
.dpmpp-products-loop.dpmpp-list .col-inner{height:auto!important;min-height:0!important}
.dpmpp-products-loop.dpmpp-list .box-image,.dpmpp-products-loop.dpmpp-list li.product img{margin:0!important;width:100%!important;max-width:230px!important;min-height:0!important}
.dpmpp-products-loop.dpmpp-list :is(.product-title,.woocommerce-loop-product__title){text-align:left!important}
.dpmpp-products-loop.dpmpp-list .box-text{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;column-gap:16px!important;row-gap:7px!important;align-items:center!important;align-content:start!important;padding-top:0!important;height:auto!important;min-height:0!important}
.dpmpp-products-loop.dpmpp-list .box-text>:is(.title-wrapper,.product-title,.woocommerce-loop-product__title){grid-column:1!important;grid-row:1!important;min-width:0!important;margin:0!important;text-align:left!important}
.dpmpp-products-loop.dpmpp-list .box-text>:is(.price-wrapper,.add-to-cart-button){grid-column:2!important;grid-row:1!important;justify-self:end!important;margin:0!important;width:auto!important;text-align:left!important}
.dpmpp-products-loop.dpmpp-list .box-text>.dpmpp-loop-desc{grid-column:1 / -1!important;grid-row:2!important;margin:0!important}
@media(max-width:640px){
  .dpmpp-products-loop.dpmpp-list>li.product>a.woocommerce-LoopProduct-link,
  .dpmpp-products-loop.dpmpp-list>.dpmpp-product-card .box{grid-template-columns:110px minmax(0,1fr)!important;column-gap:12px!important}
  .dpmpp-products-loop.dpmpp-list>li.product>.button{margin:6px 0 0 122px!important}
}

/* ===== HÀNG: chỉ Tên | Giá | Mô tả, không ảnh ===== */
.dpmpp-row-summary{display:none!important}
.dpmpp-products-loop.dpmpp-row{display:block!important}
.dpmpp-products-loop.dpmpp-row>.dpmpp-product-card{display:block!important;width:100%!important;max-width:100%!important;flex:none!important;clear:both!important;margin:0 0 2px!important;padding:0!important}
.dpmpp-products-loop.dpmpp-row>.dpmpp-product-card :is(.col-inner,.product-small,.box,.box-text){height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}
.dpmpp-products-loop.dpmpp-row :is(.box-image,.image-tools,.badge-container,.dpmpp-loop-desc),
.dpmpp-products-loop.dpmpp-row .box-text>:not(.dpmpp-row-summary),
.dpmpp-products-loop.dpmpp-row>li.product>:not(.dpmpp-row-summary){display:none!important}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-summary{display:grid!important;grid-template-columns:minmax(0,24%) minmax(120px,20%) minmax(0,1fr)!important;column-gap:24px!important;row-gap:0!important;align-items:center!important;width:100%!important;box-sizing:border-box!important;min-height:28px!important;padding:4px 8px!important;border:1px solid #e3e3e3!important;border-radius:3px!important;background:#fff!important;font-size:12.5px!important;line-height:1.18!important;text-align:left!important}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-summary>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-name{font-weight:600}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-name a{display:block;color:inherit!important;font:inherit;text-decoration:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-name a:hover{text-decoration:underline!important}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-price{text-align:right}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-price .price{display:inline!important;width:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;line-height:1.18!important}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-desc{display:block;padding-left:2px;color:#666!important}
.dpmpp-products-loop.dpmpp-row .dpmpp-row-desc p{display:inline;margin:0;padding:0}
@media(max-width:640px){
  .dpmpp-products-loop.dpmpp-row .dpmpp-row-summary{grid-template-columns:minmax(0,1fr) auto!important;column-gap:12px!important;row-gap:2px!important;padding:4px 6px!important}
  .dpmpp-products-loop.dpmpp-row .dpmpp-row-desc{grid-column:1 / -1}
}

/* ===== Mô tả ngắn trong thẻ (Lưới luôn hiện; Cột/Danh sách theo cài đặt) ===== */
.dpmpp-loop-desc{display:none}
.dpmpp-products-loop .dpmpp-loop-desc{position:relative;z-index:1;float:none;clear:both;box-sizing:border-box;width:100%;max-width:100%;margin:5px 0 7px!important;padding:0;border:0;background:transparent;box-shadow:none;color:#666!important;font:inherit;line-height:1.45!important;text-align:left!important;white-space:normal;overflow:hidden}
.dpmpp-loop-desc p{margin:0!important;padding:0!important}
.dpmpp-products-loop.dpmpp-grid .dpmpp-loop-desc,
.dpmpp-products-loop.dpmpp-columns.dpmpp-desc-columns .dpmpp-loop-desc,
.dpmpp-products-loop.dpmpp-list.dpmpp-desc-list .dpmpp-loop-desc{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:var(--dpmpp-desc-lines,2);line-clamp:var(--dpmpp-desc-lines,2)}
.dpmpp-products-loop.dpmpp-grid .dpmpp-loop-desc{text-align:center!important}
.dpmpp-products-loop.dpmpp-desc-all .dpmpp-loop-desc{-webkit-line-clamp:unset;line-clamp:none}

/* ===== Nút Giá / Liên hệ trong thẻ (không áp dụng ở Hàng và kiểu "Theo theme") ===== */
.dpmpp-products-loop:not(.dpmpp-row) :is(.price-wrapper:has(>.dpmpp-price-control),.add-to-cart-button:has(.dpmpp-action-control)){width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.dpmpp-products-loop:is(.dpmpp-grid,.dpmpp-columns) :is(.price-wrapper,.add-to-cart-button){text-align:center!important}
.dpmpp-products-loop:not(.dpmpp-row) :is(.dpmpp-price-control,.dpmpp-action-control){box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;position:static!important;inset:auto!important;float:none!important;clear:none!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:max-content!important;height:auto!important;min-height:30px!important;margin:6px 0 0!important;padding:6px 12px!important;border:0!important;border-radius:5px!important;background:var(--primary-color,#007b63)!important;color:#fff!important;box-shadow:none!important;text-shadow:none!important;line-height:1.2!important;white-space:normal!important;text-align:center!important;text-decoration:none!important;transform:none!important}
.dpmpp-products-loop:not(.dpmpp-row) :is(.dpmpp-price-control,.dpmpp-action-control)>*{position:static!important;float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:inherit!important;box-shadow:none!important;line-height:inherit!important;text-decoration:none!important}
ul.products.dpmpp-products-loop:is(.dpmpp-grid,.dpmpp-columns) :is(.dpmpp-price-control,.dpmpp-action-control){margin-left:auto!important;margin-right:auto!important}
.dpmpp-products-loop.dpmpp-list :is(.dpmpp-price-control,.dpmpp-action-control){align-self:flex-start!important}
/* Các kiểu giá chọn trong Cài đặt */
.dpmpp-products-loop.dpmpp-price-pill:not(.dpmpp-row) :is(.dpmpp-price-control,.dpmpp-action-control){border-radius:999px!important}
.dpmpp-products-loop.dpmpp-price-outline:not(.dpmpp-row) :is(.dpmpp-price-control,.dpmpp-action-control){background:transparent!important;border:1px solid var(--primary-color,#007b63)!important;color:var(--primary-color,#007b63)!important}
.dpmpp-products-loop.dpmpp-price-text:not(.dpmpp-row) .dpmpp-price-control{background:transparent!important;color:var(--primary-color,#007b63)!important;padding:0!important;min-height:0!important;font-weight:700!important}
.dpmpp-products-loop.dpmpp-price-strong:not(.dpmpp-row) .dpmpp-price-control{font-size:1.12em!important;font-weight:700!important;padding:7px 14px!important}
.dpmpp-products-loop.dpmpp-price-contact:not(.dpmpp-row) .dpmpp-price-control{display:none!important}

/* ===== Nút "Hiển thị tiếp sản phẩm" ===== */
.dpmpp-load-more{display:table!important;margin:14px auto 20px!important;padding:7px 16px!important;min-height:34px!important}

@media(max-width:900px){
  .dpmpp-product-toolbar{flex-wrap:wrap;gap:8px}
  .dpmpp-product-toolbar>.dpmpp-basic-filter,.dpmpp-product-toolbar>.dpmpp-view-toggle{flex:1 1 100%}
  .dpmpp-product-toolbar>.dpmpp-view-toggle{justify-content:flex-start;overflow-x:auto}
  .dpmpp-product-toolbar>.dpmpp-basic-filter .dpmpp-filter-form{max-width:100%}
  .dpmpp-filter-layout,.dpmpp-filter-layout.is-right{grid-template-columns:1fr}
  .dpmpp-filter-layout.is-right>.dpmpp-filter{order:0}
  .dpmpp-filter-layout>.dpmpp-filter .dpmpp-filter-form{flex-direction:row;overflow-x:auto}
  .dpmpp-filter-layout>.dpmpp-filter :is(.dpmpp-filter-control,select,input,.dpmpp-filter-submit,.dpmpp-filter-reset){width:auto;max-width:170px}
}
@media(max-width:640px){
  .dpmpp-quote{margin-left:0;margin-top:8px}
  .dpmpp-view-toggle{justify-content:flex-start;overflow-x:auto}
}
@media(max-width:380px){.dpmpp-cols-label{display:none}}
