/*
Theme Name: Đặc Sản Public Order
Theme URI: https://example.com/
Author: OpenAI
Description: WooCommerce storefront inspired by the Lite POS Public Order interface: mobile-first, quick shopping, sticky search/categories and bottom-sheet cart.
Version: 1.8.9
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: dacsan-public-order
*/
:root{--blue:#1267e8;--ink:#172033;--muted:#64748b;--line:#e7edf4;--soft:#f5f7fa;--green:#16a34a;--red:#ef4444;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f8fa;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-wrap{min-height:100vh}.container{width:min(1180px,calc(100% - 28px));margin:auto}
.site-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-logo{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#1267e8,#55a2ff);display:grid;place-items:center;color:#fff;font-weight:900;font-size:20px;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:cover}.brand-name{font-weight:850;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-sub{display:block;font-size:11px;color:var(--muted);margin-top:2px}.header-actions{display:flex;align-items:center;gap:8px}.header-actions a,.header-actions button{border:1px solid var(--line);background:#fff;border-radius:12px;width:42px;height:42px;display:grid;place-items:center;color:var(--ink)}
.hero{margin:14px 0;border-radius:20px;overflow:hidden;min-height:290px;position:relative;background:linear-gradient(110deg,#0e54c7,#2186f6);color:#fff;display:flex}.hero-copy{position:relative;z-index:2;width:56%;padding:34px}.hero-kicker{font-size:22px;font-weight:900}.hero h1{font-size:34px;line-height:1.08;margin:6px 0 10px}.hero p{margin:0 0 18px;color:rgba(255,255,255,.9)}.hero-pills{display:flex;gap:7px;flex-wrap:wrap}.hero-pills span{font-size:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:7px 9px}.hero-cta{margin-top:18px;border:0;border-radius:11px;background:#fff;color:#0f58c9;font-weight:850;padding:11px 18px}.hero-products{position:absolute;inset:0 0 0 46%;overflow:hidden}.hero-products img{position:absolute;width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 18px 16px rgba(0,0,0,.2));animation:float 5s ease-in-out infinite}.hero-products img:nth-child(1){right:30%;bottom:18%}.hero-products img:nth-child(2){right:-1%;bottom:26%;width:145px;height:145px;animation-delay:.8s}.hero-products img:nth-child(3){right:14%;bottom:-2%;width:150px;height:150px;animation-delay:1.5s}@keyframes float{50%{transform:translateY(-9px) rotate(1deg)}}
.shop-section{padding-bottom:120px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 10px}.section-head h2{font-size:19px;margin:0}.section-head a{color:var(--blue);font-size:12px;font-weight:800}
.filter{position:sticky;top:72px;z-index:80;background:rgba(255,255,255,.97);padding:8px 0 7px;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.searchbox{height:48px;background:#f2f5f8;border:1px solid #e8edf3;border-radius:13px;display:flex;align-items:center;padding:0 12px;gap:8px}.searchbox span{font-size:21px;color:#718096}.searchbox input{width:100%;border:0;outline:0;background:transparent;font-size:14px}.search-clear{border:0;background:transparent;color:#718096;font-size:21px}.cat-list{display:flex;gap:7px;overflow:auto;padding:8px 0 2px;scrollbar-width:none}.cat-list::-webkit-scrollbar{display:none}.cat-chip{flex:0 0 auto;border:0;background:#f0f3f7;color:#526075;border-radius:999px;padding:8px 14px;font-size:11px;font-weight:800}.cat-chip.active{background:var(--blue);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}.product-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden;position:relative;box-shadow:0 4px 14px rgba(15,23,42,.04)}.product-thumb{height:210px;background:#f3f5f7;position:relative}.product-thumb img{width:100%;height:100%;object-fit:cover}.sale-badge{position:absolute;left:8px;top:8px;background:var(--red);color:#fff;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:900}.heart{position:absolute;right:8px;top:8px;border:0;background:#fff;width:32px;height:32px;border-radius:50%;box-shadow:0 3px 10px rgba(0,0,0,.1)}.product-info{padding:10px}.product-title{font-size:13px;line-height:1.35;font-weight:800;min-height:35px}.product-meta{font-size:10px;color:var(--muted);margin-top:3px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}.price{font-size:15px;color:var(--blue);font-weight:900}.old-price{text-decoration:line-through;color:#9aa4b2;font-size:10px;margin-left:3px}.add-btn{width:34px;height:34px;border:0;border-radius:10px;background:var(--blue);color:#fff;font-size:20px;line-height:1}.qty-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}.qty-control button{width:30px;height:32px;border:0;background:#fff;color:var(--blue)}.qty-control b{width:25px;text-align:center;font-size:12px}
.empty{padding:40px 20px;text-align:center;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:15px}
.cart-bar{position:fixed;z-index:200;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(940px,calc(100% - 28px));background:#0f172a;color:#fff;border-radius:17px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 14px 35px rgba(15,23,42,.28)}.cart-bar small{display:block;color:#b9c2d0;font-size:10px}.cart-bar strong{display:block;font-size:18px;margin-top:2px}.cart-bar button{border:0;background:#fff;color:#111827;border-radius:11px;height:46px;padding:0 24px;font-weight:850}
.sheet-overlay{position:fixed;inset:0;z-index:300;background:rgba(15,23,42,.52);opacity:0;visibility:hidden;transition:.22s}.sheet-overlay.open{opacity:1;visibility:visible}.cart-sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%,105%);width:min(760px,100%);max-height:min(88vh,760px);background:#fff;border-radius:22px 22px 0 0;display:flex;flex-direction:column;transition:.28s ease;overflow:hidden}.sheet-overlay.open .cart-sheet{transform:translate(-50%,0)}.sheet-head{padding:16px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.sheet-head h2{margin:0;font-size:18px}.close-sheet{border:0;background:#f2f4f7;width:38px;height:38px;border-radius:50%;font-size:22px}.sheet-body{overflow:auto;padding:10px 18px}.cart-line{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1f5}.cart-line img{width:58px;height:58px;border-radius:10px;object-fit:cover;background:#f4f6f8}.cart-line-main b{font-size:13px;display:block}.cart-line-main small{color:var(--muted);font-size:10px}.line-right{text-align:right}.line-right>b{font-size:13px}.qty{display:flex;align-items:center;gap:5px;justify-content:flex-end;margin-top:4px}.qty button{width:27px;height:27px;border:1px solid #dbe2ea;border-radius:7px;background:#fff;color:var(--blue)}.qty span{min-width:20px;text-align:center}.sheet-footer{padding:13px 18px;border-top:1px solid var(--line);background:#fff}.sheet-total{display:flex;justify-content:space-between;font-size:13px;margin-bottom:10px}.sheet-total b{font-size:18px;color:var(--blue)}.checkout-btn{display:block;width:100%;height:48px;border:0;border-radius:12px;background:var(--blue);color:#fff;font-weight:900;text-align:center;line-height:48px}
.site-footer{background:#111827;color:#cbd5e1;padding:35px 0;margin-top:30px}.site-footer h3{color:#fff;margin:0 0 8px}.site-footer p{font-size:12px;line-height:1.6}.woocommerce-notices-wrapper{width:min(1180px,calc(100% - 28px));margin:10px auto}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:12px;padding:12px 14px!important}
.woocommerce .site-main,.single-product .site-main{width:min(1180px,calc(100% - 28px));margin:20px auto 80px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:#fff;border:1px solid var(--line);border-radius:15px;padding:10px;overflow:hidden}.woocommerce ul.products li.product img{border-radius:10px}.woocommerce div.product{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.woocommerce div.product form.cart .button,.woocommerce button.button,.woocommerce a.button{background:var(--blue);color:#fff;border-radius:10px}.woocommerce-cart .cart-collaterals .cart_totals,.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}
@media(max-width:900px){.product-grid,.woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important}.product-thumb{height:190px}.hero-copy{width:64%}.hero-products{left:52%}}
@media(max-width:640px){.container{width:calc(100% - 16px)}.header-inner{height:64px}.brand-logo{width:44px;height:44px}.header-actions a,.header-actions button{width:38px;height:38px}.filter{top:64px}.hero{min-height:250px;border-radius:16px}.hero-copy{width:67%;padding:22px 15px}.hero-kicker{font-size:17px}.hero h1{font-size:22px}.hero p{font-size:10px}.hero-pills span{font-size:8px;padding:6px}.hero-cta{font-size:11px;padding:9px 15px;margin-top:12px}.hero-products{left:48%}.hero-products img{width:125px;height:125px}.hero-products img:nth-child(2){width:105px;height:105px}.hero-products img:nth-child(3){width:105px;height:105px}.product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.product-thumb{height:145px}.product-info{padding:8px}.product-title{font-size:12px}.price{font-size:13px}.product-meta{font-size:9px}.add-btn{width:32px;height:32px}.cart-bar{width:calc(100% - 16px);border-radius:14px;padding:9px 10px}.cart-bar button{height:44px;font-size:12px;padding:0 17px}.shop-section{padding-bottom:115px}.woocommerce .site-main,.single-product .site-main{width:calc(100% - 16px);margin-top:12px}}

/* Public Order inline checkout / payment bottom sheet */
.dpo-checkout-steps{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;background:#fafbfc;border-bottom:1px solid var(--line);font-size:11px;color:#8a94a6}.dpo-checkout-steps>span{color:#c1c8d2}.dpo-step{border:0;background:transparent;color:#8a94a6;font-weight:700;font-size:11px;padding:4px 2px}.dpo-step span{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#e9edf2;margin-right:4px}.dpo-step.is-active{color:var(--blue)}.dpo-step.is-active span{background:var(--blue);color:#fff}.dpo-checkout-panel{display:none;overflow:auto;padding:12px 18px;flex:1;min-height:0}.dpo-checkout-panel.active{display:block}.dpo-checkout-content .woocommerce{margin:0!important;width:100%!important}.dpo-checkout-content form.checkout{display:block!important}.dpo-checkout-content #customer_details,.dpo-checkout-content #order_review{border:0!important;padding:0!important;background:transparent!important}.dpo-checkout-content .col2-set{display:block!important;width:100%!important;float:none!important}.dpo-checkout-content .col-1,.dpo-checkout-content .col-2{width:100%!important;float:none!important}.dpo-checkout-content .woocommerce-billing-fields,.dpo-checkout-content .woocommerce-shipping-fields,.dpo-checkout-content #order_review{margin:0 0 14px}.dpo-checkout-content h3{font-size:15px!important;margin:8px 0 10px!important}.dpo-checkout-content label{font-size:12px!important;font-weight:700!important;margin-bottom:4px!important}.dpo-checkout-content .form-row{padding:0!important;margin:0 0 9px!important;width:100%!important}.dpo-checkout-content input.input-text,.dpo-checkout-content textarea,.dpo-checkout-content select{width:100%!important;min-height:43px!important;border:1px solid #dce2e9!important;border-radius:10px!important;background:#fff!important;padding:9px 11px!important;font-size:13px!important;box-sizing:border-box}.dpo-checkout-content textarea{min-height:78px!important}.dpo-checkout-content .woocommerce-checkout-review-order-table{font-size:12px;border:1px solid #e5e9ef;border-radius:12px;overflow:hidden;margin:0!important}.dpo-checkout-content .woocommerce-checkout-review-order-table th,.dpo-checkout-content .woocommerce-checkout-review-order-table td{padding:9px!important}.dpo-checkout-content #payment{background:#f7f8fa!important;border-radius:13px!important;padding:12px!important;margin-top:10px}.dpo-checkout-content #payment ul.payment_methods{padding:0!important;margin:0 0 8px!important;border:0!important}.dpo-checkout-content #payment .payment_box{font-size:11px!important;padding:10px!important;margin:7px 0!important}.dpo-checkout-content #payment .place-order{padding:0!important;margin:10px 0 0!important}.dpo-checkout-content #place_order{width:100%!important;height:50px!important;border:0!important;border-radius:12px!important;background:var(--blue)!important;color:#fff!important;font-size:14px!important;font-weight:900!important}.dpo-checkout-content .woocommerce-terms-and-conditions-wrapper{font-size:10px!important}.dpo-checkout-content .woocommerce-privacy-policy-text{font-size:10px!important;color:var(--muted)}.dpo-checkout-content .woocommerce-form-coupon-toggle,.dpo-checkout-content .woocommerce-form-login-toggle{display:none!important}.dpo-checkout-content .woocommerce-notices-wrapper .woocommerce-message,.dpo-checkout-content .woocommerce-notices-wrapper .woocommerce-info{display:none!important}.dpo-checkout-content .woocommerce-notices-wrapper{margin:0!important;padding:0!important}.dpo-checkout-content .woocommerce-NoticeGroup-checkout{margin:0 0 10px!important}.dpo-checkout-content .woocommerce-NoticeGroup-checkout,.dpo-checkout-content .woocommerce-error,.dpo-inline-notice{font-size:11px!important;border-radius:10px!important;padding:10px 12px!important;margin:0 0 10px!important}.dpo-spinner,.dpo-error{padding:25px 10px;text-align:center;color:var(--muted);font-size:12px}.dpo-error,.dpo-inline-notice{color:#a61b1b;background:#fff0f0}.dpo-checkout-footer{display:flex;flex-direction:column;gap:9px}.dpo-checkout-footer[hidden],#dpo-cart-footer[hidden]{display:none!important}.dpo-back-cart{border:0;background:#eef2f6;color:#475467;border-radius:10px;height:40px;font-weight:800}.dpo-checkout-content .woocommerce-checkout-payment .payment_methods li{font-size:12px}.dpo-checkout-content .woocommerce-checkout-payment .payment_method_paypal img{max-height:24px}.dpo-checkout-content .select2-container{width:100%!important}.dpo-checkout-content .select2-container .select2-selection{height:43px!important;border:1px solid #dce2e9!important;border-radius:10px!important}.dpo-checkout-content .select2-container .select2-selection__rendered{line-height:41px!important;font-size:13px!important}.dpo-checkout-content .select2-container .select2-selection__arrow{height:41px!important}.cart-sheet{max-height:min(94vh,900px)}
@media(max-width:640px){.dpo-checkout-steps{gap:4px;padding:8px 7px}.dpo-step{font-size:10px}.dpo-step span{width:20px;height:20px}.dpo-checkout-panel{padding:10px 12px}.cart-sheet{max-height:96vh;border-radius:18px 18px 0 0}.dpo-checkout-content input.input-text,.dpo-checkout-content textarea,.dpo-checkout-content select{font-size:14px!important}.dpo-checkout-content #place_order{height:52px}}

/* v1.2.0 — compact Public Order checkout fields */
.dpo-checkout-content .woocommerce-checkout .col2-set,
.dpo-checkout-content .woocommerce-checkout .woocommerce-billing-fields h3,
.dpo-checkout-content .woocommerce-checkout .woocommerce-shipping-fields,
.dpo-checkout-content .woocommerce-checkout .create-account,
.dpo-checkout-content .woocommerce-checkout .woocommerce-form-login-toggle,
.dpo-checkout-content .woocommerce-checkout .woocommerce-account-fields { display:none; }
.dpo-checkout-content .woocommerce-checkout .woocommerce-billing-fields { margin:0; }
.dpo-checkout-content .woocommerce-checkout .form-row { margin:0 0 12px; padding:0; width:100%; }
.dpo-checkout-content .woocommerce-checkout label { display:block; margin:0 0 6px; font-weight:700; }
.dpo-checkout-content .woocommerce-checkout input,
.dpo-checkout-content .woocommerce-checkout select,
.dpo-checkout-content .woocommerce-checkout textarea { width:100%; box-sizing:border-box; border-radius:12px; padding:13px 14px; }
.dpo-checkout-content #order_comments { min-height:80px; resize:vertical; }
.dpo-checkout-content #payment { margin-top:18px; border-radius:14px; }
.dpo-checkout-content #payment .wc_payment_methods { margin:0; padding:0; list-style:none; }
.dpo-checkout-content #payment .payment_box { margin:8px 0 0; border-radius:10px; }
.dpo-checkout-content #place_order { width:100%; min-height:50px; border-radius:13px; font-size:16px; font-weight:700; }
.dpo-checkout-content .woocommerce-privacy-policy-text { font-size:12px; }
.dpo-checkout-content .woocommerce-terms-and-conditions-wrapper { font-size:12px; }


/* v1.2.2 — keep the checkout bottom sheet fully visible below the mobile viewport/header */
.cart-sheet{
  height:min(900px,calc(100dvh - 10px));
  max-height:calc(100dvh - 10px);
  top:auto;
  bottom:0;
}
@supports not (height: 100dvh){
  .cart-sheet{height:min(900px,calc(100vh - 10px));max-height:calc(100vh - 10px);}
}
.dpo-checkout-panel{
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
@media(max-width:640px){
  .cart-sheet{
    height:calc(100dvh - max(8px,env(safe-area-inset-top)));
    max-height:calc(100dvh - max(8px,env(safe-area-inset-top)));
    border-radius:18px 18px 0 0;
  }
  @supports not (height: 100dvh){
    .cart-sheet{height:calc(100vh - 8px);max-height:calc(100vh - 8px);}
  }
}


/* v1.3.2 — payment dropdown in one-step Public Order popup: cart + customer information + payment */
.dpo-checkout-steps,.dpo-checkout-footer{display:none!important}
.cart-sheet{max-height:min(94dvh,900px)}
.dpo-unified-body{display:block!important;overflow-y:auto;min-height:0;flex:1;padding:12px 18px 18px}
.dpo-cart-section,.dpo-checkout-section{background:#fff}
.dpo-section-title{font-size:15px;font-weight:900;margin:4px 0 10px}
.dpo-cart-section{padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.dpo-checkout-section[hidden]{display:none!important}
.dpo-checkout-panel{display:block!important;overflow:visible!important;padding:0!important;flex:none!important}
.dpo-checkout-content .woocommerce-checkout-review-order-table{display:none!important}
.dpo-checkout-content #order_review{margin:0!important}
.dpo-checkout-content #payment{margin-top:12px!important}
.dpo-unified-footer{display:block!important;position:relative;z-index:5;padding-bottom:max(13px,env(safe-area-inset-bottom));box-shadow:0 -4px 16px rgba(15,23,42,.05)}
.dpo-unified-footer .checkout-btn{height:50px;line-height:50px;font-size:15px}
.dpo-checkout-content #place_order{display:none!important}
.dpo-checkout-content .woocommerce-checkout{margin:0!important}
.dpo-checkout-content .woocommerce-billing-fields{padding:0!important}
@media(max-width:640px){
  .cart-sheet{height:calc(100dvh - max(8px,env(safe-area-inset-top)));max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))}
  .dpo-unified-body{padding:10px 12px 14px}
  .dpo-section-title{font-size:15px}
}
.add-order-btn{width:auto!important;min-width:74px!important;height:34px!important;padding:0 10px!important;display:inline-flex;align-items:center;justify-content:center;font-size:11px!important;font-weight:900;white-space:nowrap}
@media(max-width:640px){.add-order-btn{min-width:68px!important;padding:0 8px!important;font-size:10px!important}}


/* v1.3.2 — compact payment dropdown */
.dpo-checkout-content #payment{background:transparent!important;padding:0!important;margin-top:10px!important;border-radius:0!important}
.dpo-checkout-content #payment .dpo-payment-select-wrap{display:block;margin:0 0 12px!important}
.dpo-checkout-content #payment .dpo-payment-select-wrap label{display:block;font-size:12px!important;font-weight:700!important;margin:0 0 5px!important;color:#1f2937}
.dpo-checkout-content #payment .dpo-payment-select{display:block;width:100%!important;height:43px!important;min-height:43px!important;border:1px solid #dce2e9!important;border-radius:10px!important;background:#fff!important;padding:0 38px 0 11px!important;font-size:13px!important;color:#344054!important;box-sizing:border-box!important}
.dpo-checkout-content #payment ul.payment_methods{display:none!important}
.dpo-checkout-content #payment .payment_box{display:none!important}
.dpo-checkout-content #payment .place-order{padding:0!important;margin:0!important}

/* v1.3.5 — payment dropdown lives outside WooCommerce's replaceable #payment fragment */
.dpo-checkout-content > .dpo-payment-select-wrap{display:block!important;margin:0 0 12px!important}
.dpo-checkout-content > .dpo-payment-select-wrap label{display:block;font-size:12px!important;font-weight:700!important;margin:0 0 5px!important;color:#1f2937}
.dpo-checkout-content > .dpo-payment-select-wrap .dpo-payment-select{display:block;width:100%!important;height:43px!important;min-height:43px!important;border:1px solid #dce2e9!important;border-radius:10px!important;background:#fff!important;padding:0 38px 0 11px!important;font-size:13px!important;color:#344054!important;box-sizing:border-box!important}
/* v1.3.4 — keep one compact custom order-note field */
.dpo-checkout-content .woocommerce-additional-fields{display:none!important}
.dpo-checkout-content #dpo_order_note_field textarea{min-height:72px;resize:none}

/* v1.3.6 — selected delivery time is added to WooCommerce native order notes */

/* v1.3.7 — remove WooCommerce 'Đơn hàng của bạn' heading from unified payment popup */
.dpo-checkout-content #order_review_heading{display:none!important;}


/* v1.3.8 — Grab-style storefront: 4 featured products + list products with inline quantity controls */
.featured-section{padding:2px 0 8px}.featured-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}.featured-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(15,23,42,.04)}.featured-thumb{height:150px;background:#f3f5f7;position:relative}.featured-thumb img{width:100%;height:100%;object-fit:cover}.featured-info{padding:8px 9px 10px}.featured-title{display:block;font-size:12px;line-height:1.3;font-weight:800;min-height:31px;overflow:hidden}.featured-price{display:block;color:var(--blue);font-size:13px;font-weight:900;margin-top:5px}.product-list{display:flex;flex-direction:column;margin-top:10px;background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.product-list-item{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid #edf1f5;min-height:96px}.product-list-item:last-child{border-bottom:0}.list-thumb-link{display:block}.list-thumb{width:78px;height:78px;border-radius:12px;overflow:hidden;background:#f3f5f7;position:relative}.list-thumb img{width:100%;height:100%;object-fit:cover}.list-thumb .sale-badge{font-size:8px;left:5px;top:5px;padding:3px 5px}.list-info{min-width:0}.list-title{display:block;font-size:14px;line-height:1.35;font-weight:800;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.list-bottom{margin-top:6px}.list-action{display:flex;align-items:center;justify-content:center;min-width:42px}.list-add{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff!important;font-size:25px;line-height:1;font-weight:500;box-shadow:0 4px 10px rgba(18,103,232,.22)}.list-qty{display:flex;align-items:center;gap:0;border:1px solid #dbe3ed;border-radius:20px;overflow:hidden;background:#fff;height:38px}.list-qty button{width:34px;height:36px;border:0;background:#fff;color:var(--blue);font-size:21px;line-height:1}.list-qty b{min-width:24px;text-align:center;font-size:13px;color:#172033}.product-list-item.is-hidden{display:none!important}
@media(max-width:700px){.featured-grid{gap:8px}.featured-thumb{height:105px}.featured-info{padding:7px}.featured-title{font-size:10px;min-height:27px}.featured-price{font-size:11px}.product-list-item{grid-template-columns:70px minmax(0,1fr) auto;gap:10px;padding:9px 10px}.list-thumb{width:70px;height:70px}.list-title{font-size:13px}.list-add{width:36px;height:36px}.list-qty{height:36px}.list-qty button{width:31px;height:34px}.list-qty b{min-width:21px}}


/* v1.3.9 — storefront layout cleanup: homepage is the only storefront */

.dpo-theme.home .woocommerce-notices-wrapper{display:none!important}
.featured-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.product-list{margin-bottom:8px}
.product-list-item{position:relative}
.list-action{align-self:center}
@media(max-width:700px){
  .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .featured-thumb{height:125px}
}
@media(max-width:420px){
  .featured-thumb{height:110px}
  .product-list-item{grid-template-columns:64px minmax(0,1fr) auto;gap:8px}
  .list-thumb{width:64px;height:64px}
}
/* Keep the unified order sheet independent from the standard WooCommerce shop/cart layout. */
.dpo-theme .dpo-checkout-content .woocommerce-notices-wrapper{display:none!important}
.dpo-theme .dpo-checkout-content .woocommerce-form-coupon-toggle,
.dpo-theme .dpo-checkout-content .woocommerce-form-login-toggle{display:none!important}


/* v1.4.5 — unify cart quantity controls with storefront +/− controls */
.cart-line .cart-list-qty{display:flex;align-items:center;gap:0;border:1px solid #dbe3ed;border-radius:20px;overflow:hidden;background:#fff;height:38px;margin-top:4px;width:max-content;margin-left:auto}
.cart-line .cart-list-qty button{width:34px;height:36px;border:0;background:#fff;color:var(--blue);font-size:21px;line-height:1;padding:0}
.cart-line .cart-list-qty b{min-width:24px;text-align:center;font-size:13px;color:#172033;font-weight:700}
@media(max-width:700px){.cart-line .cart-list-qty{height:36px}.cart-line .cart-list-qty button{width:31px;height:34px}.cart-line .cart-list-qty b{min-width:21px}}

/* v1.5.0 - WooCommerce Single Product layout */
.dpo-single-product{width:100%;box-sizing:border-box;}
.dpo-single-product__inner{width:100%;max-width:1200px;margin:0 auto;padding:20px 16px;box-sizing:border-box;}
.dpo-single-product .woocommerce{width:100%;}
.dpo-single-product .product{width:100%;}
@media (max-width:767px){
  .dpo-single-product__inner{padding:14px 12px;}
}

/* v1.5.1 - Hide WooCommerce "View cart" notice after add-to-cart */
.woocommerce-message .added_to_cart,
.woocommerce-notices-wrapper .added_to_cart,
.woocommerce .woocommerce-message a.added_to_cart { display:none !important; }

/* v1.5.2 - sync +/− after AJAX add-to-cart; suppress transient View cart link */
.woocommerce-message a.added_to_cart,
.woocommerce-notices-wrapper a.added_to_cart {display:none!important;}

/* v1.5.4 - Prevent any flash of the transient View cart success notice */
.woocommerce-notices-wrapper .woocommerce-message:has(a.added_to_cart),
.woocommerce-message:has(a.added_to_cart){display:none!important;}

.dpo-single-product__inner{max-width:1200px;margin:0 auto;padding:16px}.dpo-single-product .product{display:block!important;opacity:1!important;visibility:visible!important}


/* v1.5.5 - Single Product visibility fix */
.single-product .site-main,
body.single-product .site-main {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.single-product .site-main .woocommerce,
body.single-product .site-main .woocommerce {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.single-product .woocommerce div.product {
  display: block !important;
}

/* v1.5.6 - Public Order add-to-cart */
.product-list-item .list-add-loading{display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;}

/* v1.5.7 - Direct order stays inside the Public Order popup */
.dpo-order-success{
  padding:20px;
  margin:12px 0;
  border-radius:14px;
  background:#f4fbf6;
  text-align:center;
  line-height:1.6;
}
#dpo-place-order:disabled{opacity:.7;cursor:wait;}

/* v1.5.8 - Modern Single Product */
body.single-product .dpo-single-product{background:#f7f7f5;padding:18px 0 48px}
body.single-product .dpo-single-product__inner{max-width:1180px;margin:0 auto;padding:0 16px}
body.single-product .dpo-single-product .product{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:38px;margin:0 auto!important;padding:22px!important;background:#fff;border-radius:22px;box-shadow:0 8px 30px rgba(0,0,0,.06);overflow:hidden}
body.single-product .dpo-single-product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
body.single-product .dpo-single-product .woocommerce-product-gallery__wrapper{margin:0!important}
body.single-product .dpo-single-product .woocommerce-product-gallery__image img{width:100%!important;height:auto!important;max-height:620px;object-fit:contain;border-radius:18px;background:#fafafa}
body.single-product .dpo-single-product .summary{width:100%!important;float:none!important;margin:0!important;padding:8px 4px;align-self:center}
body.single-product .dpo-single-product .product_title{font-size:clamp(26px,3vw,38px)!important;line-height:1.2!important;font-weight:750!important;margin:0 0 12px!important}
body.single-product .dpo-single-product .price{font-size:28px!important;font-weight:800!important;margin:0 0 20px!important}
body.single-product .dpo-single-product .woocommerce-product-details__short-description{font-size:16px;line-height:1.65;color:#555;margin:0 0 20px}
body.single-product .dpo-single-product form.cart{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0!important}
body.single-product .dpo-single-product form.cart .quantity{margin:0!important}
body.single-product .dpo-single-product form.cart .quantity input.qty{width:62px!important;height:46px!important;border:1px solid #ddd!important;border-radius:12px!important;text-align:center;font-weight:700}
body.single-product .dpo-single-product form.cart .single_add_to_cart_button{min-height:46px;padding:0 24px!important;border:0!important;border-radius:13px!important;font-weight:750!important;font-size:16px!important;cursor:pointer}
body.single-product .dpo-single-product .product_meta{padding-top:18px;border-top:1px solid #eee;color:#777;font-size:14px;line-height:1.8}
body.single-product .dpo-single-product .woocommerce-tabs{grid-column:1/-1;margin-top:6px!important;padding-top:28px!important;border-top:1px solid #eee}
body.single-product .dpo-single-product .woocommerce-tabs ul.tabs{padding:0!important;margin:0 0 18px!important}
body.single-product .dpo-single-product .woocommerce-tabs ul.tabs:before{display:none!important}
body.single-product .dpo-single-product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;padding:0 22px 10px 0!important;margin:0 20px 0 0!important}
body.single-product .dpo-single-product .woocommerce-tabs .panel{margin:0!important;font-size:15px;line-height:1.75}
body.single-product .dpo-single-product .related.products,body.single-product .dpo-single-product .up-sells.products{grid-column:1/-1;margin-top:10px}
body.single-product .dpo-single-product .related.products>h2,body.single-product .dpo-single-product .up-sells.products>h2{font-size:23px;margin-bottom:18px}
body.single-product .dpo-single-product .related.products ul.products,body.single-product .dpo-single-product .up-sells.products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body.single-product .dpo-single-product .related.products ul.products li.product,body.single-product .dpo-single-product .up-sells.products ul.products li.product{width:auto!important;margin:0!important;padding:12px!important;border:1px solid #eee;border-radius:16px;background:#fff}
@media(max-width:800px){body.single-product .dpo-single-product .product{grid-template-columns:1fr;gap:20px;padding:14px!important;border-radius:18px}body.single-product .dpo-single-product .summary{padding:4px 2px}body.single-product .dpo-single-product .product_title{font-size:27px!important}body.single-product .dpo-single-product .price{font-size:25px!important}body.single-product .dpo-single-product .related.products ul.products,body.single-product .dpo-single-product .up-sells.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){body.single-product .dpo-single-product{padding-top:8px}body.single-product .dpo-single-product__inner{padding:0 10px}body.single-product .dpo-single-product .product{box-shadow:none}body.single-product .dpo-single-product .woocommerce-product-gallery__image img{border-radius:14px}body.single-product .dpo-single-product form.cart .single_add_to_cart_button{flex:1;padding:0 14px!important}}

/* v1.5.9 - Mobile Single Product bottom-sheet experience */
@media (max-width: 767px){
  html,body{background:#f5f5f3;}
  body.single-product{overflow-x:hidden;}
  body.single-product .dpo-single-product{
    position:relative;
    min-height:100vh;
    padding:0!important;
    background:rgba(0,0,0,.34);
    isolation:isolate;
  }
  body.single-product .dpo-product-sheet-backdrop{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.34);
    z-index:1;
    pointer-events:none;
    animation:dpoSheetFade .24s ease both;
  }
  body.single-product .dpo-single-product__inner{
    position:fixed;
    z-index:2;
    left:0;
    right:0;
    bottom:0;
    top:7vh;
    width:100%;
    max-width:none;
    margin:0;
    padding:0!important;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    background:#fff;
    border-radius:22px 22px 0 0;
    box-shadow:0 -12px 38px rgba(0,0,0,.18);
    animation:dpoSheetUp .34s cubic-bezier(.22,.8,.24,1) both;
  }
  body.single-product .dpo-mobile-product-head{
    position:sticky;
    top:0;
    z-index:20;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 12px;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    border-bottom:1px solid #eee;
  }
  body.single-product .dpo-mobile-product-head:before{
    content:"";
    position:absolute;
    top:7px;
    left:50%;
    width:38px;
    height:4px;
    transform:translateX(-50%);
    border-radius:99px;
    background:#d8d8d8;
  }
  body.single-product .dpo-mobile-product-head span{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    font-size:15px;
    font-weight:750;
    white-space:nowrap;
  }
  body.single-product .dpo-product-back,
  body.single-product .dpo-product-close{
    width:38px;
    height:38px;
    margin-top:4px;
    border:0;
    border-radius:50%;
    background:#f3f3f3;
    color:#222;
    font-size:25px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:2;
  }
  body.single-product .dpo-product-back{font-size:30px;}
  body.single-product .dpo-single-product .product{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0 14px 34px!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
    overflow:visible!important;
  }
  body.single-product .dpo-single-product .woocommerce-product-gallery{
    width:calc(100% + 28px)!important;
    margin:0 -14px 0!important;
  }
  body.single-product .dpo-single-product .woocommerce-product-gallery__image img{
    display:block;
    width:100%!important;
    max-height:none!important;
    height:auto!important;
    min-height:300px;
    object-fit:contain;
    border-radius:0!important;
    background:#fafafa;
  }
  body.single-product .dpo-single-product .summary{
    width:100%!important;
    margin:0!important;
    padding:18px 2px 0!important;
  }
  body.single-product .dpo-single-product .product_title{
    font-size:24px!important;
    line-height:1.28!important;
    font-weight:800!important;
    margin:0 0 9px!important;
    letter-spacing:-.25px;
  }
  body.single-product .dpo-single-product .price{
    font-size:25px!important;
    line-height:1.2!important;
    font-weight:850!important;
    margin:0 0 14px!important;
  }
  body.single-product .dpo-single-product .woocommerce-product-details__short-description{
    font-size:15px;
    line-height:1.65;
    color:#555;
    margin:0 0 16px;
  }
  body.single-product .dpo-single-product form.cart{
    position:sticky;
    bottom:0;
    z-index:15;
    display:flex!important;
    align-items:center;
    gap:8px;
    margin:18px -2px 0!important;
    padding:10px 0 calc(10px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);
    border-top:1px solid #eee;
  }
  body.single-product .dpo-single-product form.cart .quantity{
    display:flex;
    align-items:center;
    margin:0!important;
  }
  body.single-product .dpo-single-product form.cart .quantity input.qty{
    width:54px!important;
    height:44px!important;
    padding:0!important;
    border:1px solid #ddd!important;
    border-radius:11px!important;
    font-size:16px!important;
    font-weight:750;
  }
  body.single-product .dpo-single-product form.cart .single_add_to_cart_button{
    flex:1;
    min-height:44px;
    border:0!important;
    border-radius:12px!important;
    font-size:15px!important;
    font-weight:800!important;
    padding:0 16px!important;
  }
  body.single-product .dpo-single-product .product_meta{
    margin-top:18px;
    padding-top:15px;
    font-size:13px;
  }
  body.single-product .dpo-single-product .woocommerce-tabs{
    margin:8px 0 0!important;
    padding:22px 2px 0!important;
  }
  body.single-product .dpo-single-product .woocommerce-tabs ul.tabs{
    display:flex;
    gap:20px;
    overflow:auto;
    white-space:nowrap;
    scrollbar-width:none;
  }
  body.single-product .dpo-single-product .woocommerce-tabs ul.tabs::-webkit-scrollbar{display:none;}
  body.single-product .dpo-single-product .woocommerce-tabs ul.tabs li{
    padding:0 0 9px!important;
    margin:0!important;
    font-size:14px;
  }
  body.single-product .dpo-single-product .woocommerce-tabs .panel{
    font-size:14px;
    line-height:1.72;
  }
  body.single-product .dpo-single-product .related.products,
  body.single-product .dpo-single-product .up-sells.products{
    margin-top:22px;
    padding-top:20px;
    border-top:1px solid #eee;
  }
  body.single-product .dpo-single-product .related.products>h2,
  body.single-product .dpo-single-product .up-sells.products>h2{
    font-size:20px;
    margin:0 0 14px;
  }
  body.single-product .dpo-single-product .related.products ul.products,
  body.single-product .dpo-single-product .up-sells.products ul.products{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  body.single-product .dpo-single-product .related.products ul.products li.product,
  body.single-product .dpo-single-product .up-sells.products ul.products li.product{
    width:auto!important;
    margin:0!important;
    padding:9px!important;
    border-radius:14px;
  }
}
@keyframes dpoSheetUp{
  from{transform:translateY(105%);opacity:.92}
  to{transform:translateY(0);opacity:1}
}
@keyframes dpoSheetFade{
  from{opacity:0}
  to{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  body.single-product .dpo-single-product__inner,
  body.single-product .dpo-product-sheet-backdrop{animation:none!important}
}

/* v1.5.10 - Actual Single Product bottom-sheet modal */
body.dpo-product-modal-open{overflow:hidden!important}
.dpo-product-modal{position:fixed;inset:0;z-index:999999;visibility:hidden;pointer-events:none}
.dpo-product-modal.is-open{visibility:visible;pointer-events:auto}
.dpo-product-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .25s ease}
.dpo-product-modal.is-open .dpo-product-modal__backdrop{opacity:1}
.dpo-product-modal__sheet{position:absolute;left:0;right:0;bottom:0;top:4vh;background:#fff;border-radius:22px 22px 0 0;overflow:hidden;transform:translateY(105%);transition:transform .34s cubic-bezier(.22,.8,.24,1);box-shadow:0 -12px 40px rgba(0,0,0,.22)}
.dpo-product-modal.is-open .dpo-product-modal__sheet{transform:translateY(0)}
.dpo-product-modal__bar{height:50px;display:flex;align-items:center;justify-content:center;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #eee}
.dpo-product-modal__bar:before{content:"";position:absolute;top:8px;width:38px;height:4px;border-radius:99px;background:#d5d5d5}
.dpo-product-modal__close{position:absolute;right:10px;top:8px;width:34px;height:34px;border:0;border-radius:50%;background:#f2f2f2;font-size:25px;line-height:1;display:flex;align-items:center;justify-content:center}
.dpo-product-modal__content{height:calc(100% - 50px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.dpo-product-modal__content .dpo-single-product{padding:0!important;background:#fff!important;min-height:0!important}
.dpo-product-modal__content .dpo-single-product__inner{position:static!important;max-width:none!important;padding:0!important;margin:0!important;overflow:visible!important;background:#fff!important;border-radius:0!important;box-shadow:none!important}
.dpo-product-modal__content .dpo-single-product__inner>.woocommerce{padding:0 14px 32px!important}
.dpo-product-modal__content .dpo-mobile-product-head{display:none!important}
.dpo-product-modal__content .dpo-single-product .product{display:block!important;width:100%!important;margin:0!important;padding:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;overflow:visible!important}
.dpo-product-modal__content .woocommerce-product-gallery{width:calc(100% + 28px)!important;margin:0 -14px!important;float:none!important}
.dpo-product-modal__content .woocommerce-product-gallery__image img{width:100%!important;max-height:none!important;object-fit:contain;border-radius:0!important;background:#fafafa}
.dpo-product-modal__content .summary{width:100%!important;float:none!important;margin:0!important;padding:18px 2px 0!important}
.dpo-product-modal__content .product_title{font-size:25px!important;line-height:1.28!important;font-weight:800!important;margin:0 0 9px!important}
.dpo-product-modal__content .price{font-size:25px!important;font-weight:850!important;margin:0 0 14px!important}
.dpo-product-modal__content form.cart{position:sticky!important;bottom:0!important;z-index:25!important;display:flex!important;align-items:center;gap:8px;margin:18px -2px 0!important;padding:10px 0 calc(10px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid #eee}
.dpo-product-modal__content form.cart .single_add_to_cart_button{flex:1;min-height:44px;border:0!important;border-radius:12px!important;font-weight:800!important}
.dpo-product-modal__loading{height:180px;display:flex;align-items:center;justify-content:center;gap:5px}
.dpo-product-modal__loading span{width:7px;height:7px;border-radius:50%;background:#aaa;animation:dpoDot 1s infinite ease-in-out}
.dpo-product-modal__loading span:nth-child(2){animation-delay:.12s}.dpo-product-modal__loading span:nth-child(3){animation-delay:.24s}
.dpo-product-modal__error{text-align:center;padding:60px 20px;color:#777}
@keyframes dpoDot{0%,80%,100%{transform:scale(.6);opacity:.45}40%{transform:scale(1);opacity:1}}
@media(min-width:768px){
 .dpo-product-modal__sheet{top:5vh;left:50%;right:auto;width:min(980px,94vw);transform:translate(-50%,105%);border-radius:20px}
 .dpo-product-modal.is-open .dpo-product-modal__sheet{transform:translate(-50%,0)}
 .dpo-product-modal__content .dpo-single-product .product{display:grid!important;grid-template-columns:1.08fr .92fr;gap:30px;padding:18px!important}
}

/* v1.5.11 - SEO-safe product modal controls */
.dpo-product-modal__title{font-size:15px;font-weight:750;}
.dpo-product-modal__full-link{padding:14px 16px calc(20px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid #eee;background:#fff;}
.dpo-product-modal__full-link a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border:1px solid #ddd;border-radius:12px;text-decoration:none;font-weight:700;}
.dpo-product-modal__fallback{display:inline-flex;padding:11px 18px;border-radius:12px;border:1px solid #ddd;text-decoration:none;font-weight:700;}

/* v1.5.12 - Minimal mobile product popup: 4 rows */
@media(max-width:767px){
  .dpo-product-modal__sheet{top:8vh;border-radius:20px 20px 0 0;}
  .dpo-product-modal__content{height:calc(100% - 50px);background:#fff;}
  .dpo-minimal-product{padding:0 14px 88px;background:#fff;}
  .dpo-minimal-product__title{
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 2px 12px;
    border-bottom:1px solid #eee;
  }
  .dpo-minimal-product__name{
    min-width:0;
    font-size:20px;
    line-height:1.25;
    font-weight:800;
    color:#202020;
  }
  .dpo-minimal-product__price{
    flex:0 0 auto;
    font-size:20px;
    line-height:1.2;
    font-weight:850;
    white-space:nowrap;
  }
  .dpo-minimal-product__image{
    width:100%;
    margin:0 -0px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fafafa;
    overflow:hidden;
  }
  .dpo-minimal-product__image img{
    display:block;
    width:100%;
    height:auto;
    max-height:55vh;
    object-fit:contain;
    aspect-ratio:1/1;
  }
  .dpo-minimal-product__description{
    padding:18px 2px 20px;
    font-size:15px;
    line-height:1.7;
    color:#555;
  }
  .dpo-minimal-product__description:empty{display:none;}
  .dpo-minimal-product__action{
    position:sticky;
    bottom:0;
    z-index:40;
    margin:0 -14px;
    padding:9px 14px calc(9px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);
    border-top:1px solid #e8e8e8;
  }
  .dpo-minimal-product__action form.cart{
    display:flex!important;
    width:100%;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    position:static!important;
  }
  .dpo-minimal-product__action .single_add_to_cart_button{
    display:flex!important;
    width:100%!important;
    min-height:48px!important;
    align-items:center;
    justify-content:center;
    border:0!important;
    border-radius:13px!important;
    font-size:16px!important;
    font-weight:800!important;
    margin:0!important;
  }
  .dpo-minimal-product__action .quantity,
  .dpo-minimal-product__action .variations,
  .dpo-minimal-product__action .woocommerce-variation-add-to-cart,
  .dpo-minimal-product__action .reset_variations{
    display:none!important;
  }
}
@media(min-width:768px){
  .dpo-minimal-product{padding:0 22px 95px}
  .dpo-minimal-product__title{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #eee}
  .dpo-minimal-product__name{font-size:26px;font-weight:800}
  .dpo-minimal-product__price{font-size:25px;font-weight:850}
  .dpo-minimal-product__image{display:flex;justify-content:center;background:#fafafa}
  .dpo-minimal-product__image img{width:100%;max-height:520px;object-fit:contain}
  .dpo-minimal-product__description{padding:20px 0;font-size:15px;line-height:1.7}
  .dpo-minimal-product__action{position:sticky;bottom:0;padding:12px 0;background:#fff;border-top:1px solid #eee}
  .dpo-minimal-product__action form.cart{margin:0!important;display:flex!important}
  .dpo-minimal-product__action .single_add_to_cart_button{flex:1;min-height:48px;border-radius:12px!important;font-weight:800}
}

/* v1.5.13 - Sticky split actions */
@media(max-width:767px){
  .dpo-minimal-product__action{
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .dpo-minimal-product__action form.cart{
    min-width:0!important;
    width:100%!important;
  }
  .dpo-minimal-product__action .single_add_to_cart_button{
    width:100%!important;
    min-height:48px!important;
  }
  .dpo-minimal-product__action .dpo-product-modal__full-product{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    width:100%;
    border:1px solid #ddd;
    border-radius:13px;
    text-decoration:none;
    font-size:15px;
    font-weight:800;
    white-space:nowrap;
  }
}
@media(min-width:768px){
  .dpo-minimal-product__action{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .dpo-minimal-product__action form.cart{width:100%;min-width:0;}
  .dpo-minimal-product__action .single_add_to_cart_button{width:100%;}
  .dpo-minimal-product__action .dpo-product-modal__full-product{
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    border:1px solid #ddd;
    border-radius:12px;
    text-decoration:none;
    font-weight:800;
  }
}

/* v1.5.14 - Exact four-row mobile product popup */
@media(max-width:767px){
  .dpo-minimal-product__title{order:1;}
  .dpo-minimal-product__image{order:2;}
  .dpo-minimal-product__description{
    order:3;
    display:block!important;
    min-height:70px;
    padding:18px 2px 22px!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .dpo-minimal-product__action{
    order:4;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .dpo-minimal-product__action .dpo-product-modal__full-product{
    grid-column:1;
    grid-row:1;
  }
  .dpo-minimal-product__action .dpo-modal-add-wrap{
    grid-column:2;
    grid-row:1;
    min-width:0;
  }
  .dpo-minimal-product__action .dpo-modal-add-wrap form.cart{
    width:100%!important;
    min-width:0!important;
  }
  .dpo-minimal-product__action .dpo-modal-add-wrap .single_add_to_cart_button{
    width:100%!important;
  }
  .dpo-minimal-product__description .dpo-no-description{
    margin:0;
    color:#777;
  }
}

/* v1.5.15 - Product modal actions fixed to viewport bottom */
@media(max-width:767px){
  .dpo-product-modal__content{
    padding-bottom:86px!important;
  }
  .dpo-minimal-product{
    padding-bottom:110px!important;
  }
  .dpo-minimal-product__action{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:9999999!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:9px 12px calc(9px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-top:1px solid #e5e5e5!important;
    box-shadow:0 -5px 20px rgba(0,0,0,.08);
  }
  .dpo-minimal-product__action .dpo-product-modal__full-product,
  .dpo-minimal-product__action .dpo-modal-add-wrap{
    min-height:48px!important;
  }
}
@media(min-width:768px){
  .dpo-minimal-product__action{
    position:fixed!important;
    left:50%;
    transform:translateX(-50%);
    bottom:0;
    z-index:9999999;
    width:min(940px,100vw);
    box-sizing:border-box;
    padding:10px 22px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.98);
    border-top:1px solid #e5e5e5;
    box-shadow:0 -5px 20px rgba(0,0,0,.08);
  }
}

/* v1.5.16 - Modal add-to-cart is an action, never a navigation */
#dpo-product-modal .dpo-modal-add-wrap .single_add_to_cart_button{
  cursor:pointer;
}

/* v1.8.7 - QuickView compatibility with theme-owned Single Product */
#dpo-product-modal .dpo-modal-quick-add{
  display:flex!important;
  width:100%!important;
  min-height:48px!important;
  height:48px!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:13px!important;
  background:#0b74e5!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:800!important;
  cursor:pointer!important;
}
#dpo-product-modal .dpo-modal-quick-add:hover,
#dpo-product-modal .dpo-modal-quick-add:focus{
  background:#0865c7!important;
  color:#fff!important;
}
#dpo-product-modal .dpo-modal-quick-add.is-loading{
  opacity:.7!important;
  cursor:wait!important;
}
#dpo-product-modal .dpo-minimal-product__description img{
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
@media(max-width:767px){
  #dpo-product-modal .dpo-minimal-product__title{
    min-height:58px!important;
  }
  #dpo-product-modal .dpo-minimal-product__description{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* v1.8.7 - Service ticker below header */
.dpo-service-ticker{
  width:100%;
  overflow:hidden;
  position:relative;
  z-index:20;
  box-sizing:border-box;
  color:#fff;
  background:linear-gradient(90deg,#075fca,#0879e8,#075fca);
  border-top:1px solid rgba(255,255,255,.15);
  border-bottom:1px solid rgba(0,50,120,.18);
  box-shadow:0 3px 10px rgba(7,78,150,.15);
}
.dpo-service-ticker__track{
  display:flex;
  width:max-content;
  min-width:100%;
  animation:dpoServiceTickerMove 22s linear infinite;
}
.dpo-service-ticker__items{
  display:flex;
  flex:none;
  align-items:center;
  white-space:nowrap;
}
.dpo-service-ticker__item{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:0 22px;
  font-size:13px;
  font-weight:800;
}
.dpo-service-ticker__item b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  padding:0 4px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:11px;
}
.dpo-service-ticker__item + .dpo-service-ticker__item:before{
  content:"•";
  margin-right:16px;
  opacity:.45;
}
@keyframes dpoServiceTickerMove{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media(max-width:767px){
  .dpo-service-ticker__item{
    min-height:36px;
    padding:0 17px;
    font-size:12px;
  }
  .dpo-service-ticker__track{animation-duration:19s}
}
@media(prefers-reduced-motion:reduce){
  .dpo-service-ticker__track{animation:none}
}

/* v1.8.7 - Floating product images on homepage hero */
.hero-products .hero-floating-product{
  transform-origin:50% 80%;
  will-change:transform;
  animation:dpoHeroProductSway 4.6s ease-in-out infinite;
}
.hero-products .hero-floating-product--2{
  animation-delay:-1.5s;
}
.hero-products .hero-floating-product--3{
  animation-delay:-3s;
}
@keyframes dpoHeroProductSway{
  0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}
  25%{transform:translate3d(-7px,-5px,0) rotate(1deg)}
  50%{transform:translate3d(5px,-10px,0) rotate(4deg)}
  75%{transform:translate3d(8px,-4px,0) rotate(0deg)}
}
@media(max-width:767px){
  .hero-products .hero-floating-product{
    animation-duration:4.2s;
  }
  .hero-products .hero-floating-product--1{
    right:28%!important;
    bottom:18%!important;
    width:145px!important;
    height:145px!important;
  }
  .hero-products .hero-floating-product--2{
    right:-2%!important;
    bottom:27%!important;
    width:118px!important;
    height:118px!important;
  }
  .hero-products .hero-floating-product--3{
    right:10%!important;
    bottom:0!important;
    width:125px!important;
    height:125px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-products .hero-floating-product{
    animation:none!important;
  }
}

/* v1.8.7 - Move floating hero products low/right */
.hero-products{
  display:block;
}
.hero-products img{
  bottom:2%!important;
}
.hero-products img:nth-child(1){
  right:12%!important;
  bottom:2%!important;
}
.hero-products img:nth-child(2){
  right:-2%!important;
  bottom:5%!important;
}
.hero-products img:nth-child(3){
  right:23%!important;
  bottom:-3%!important;
}
@media(max-width:767px){
  .hero-products{
    left:48%!important;
    right:0!important;
    bottom:0!important;
  }
  .hero-products img:nth-child(1){
    right:12%!important;
    bottom:2%!important;
    width:125px!important;
    height:125px!important;
  }
  .hero-products img:nth-child(2){
    right:-4%!important;
    bottom:5%!important;
    width:105px!important;
    height:105px!important;
  }
  .hero-products img:nth-child(3){
    right:25%!important;
    bottom:-3%!important;
    width:108px!important;
    height:108px!important;
  }
}

/* v1.8.7 - Remove floating product images from homepage banner */
.hero-products{display:none!important;}

/* v1.8.7 - Rounded floating product images on homepage hero */
.hero-products{
  display:block!important;
  position:absolute;
  inset:0 0 0 46%;
  overflow:hidden;
  z-index:3;
}
.hero-products img.hero-floating-product{
  position:absolute!important;
  object-fit:contain!important;
  border-radius:22px!important;
  border:4px solid rgba(255,255,255,.96)!important;
  background:#fff!important;
  padding:4px!important;
  box-sizing:border-box!important;
  filter:drop-shadow(0 15px 16px rgba(0,0,0,.22))!important;
  transform-origin:50% 85%!important;
  will-change:transform!important;
  animation:dpoHeroRoundedSway 4.8s ease-in-out infinite!important;
}
.hero-products img.hero-floating-product--1{
  right:12%!important;
  bottom:2%!important;
  width:180px!important;
  height:180px!important;
}
.hero-products img.hero-floating-product--2{
  right:-2%!important;
  bottom:5%!important;
  width:145px!important;
  height:145px!important;
  animation-delay:-1.6s!important;
}
.hero-products img.hero-floating-product--3{
  right:23%!important;
  bottom:-3%!important;
  width:150px!important;
  height:150px!important;
  animation-delay:-3.1s!important;
}
@keyframes dpoHeroRoundedSway{
  0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}
  25%{transform:translate3d(-5px,-4px,0) rotate(1deg)}
  50%{transform:translate3d(5px,-9px,0) rotate(3deg)}
  75%{transform:translate3d(7px,-3px,0) rotate(0deg)}
}
@media(max-width:767px){
  .hero-products{
    left:48%!important;
    right:0!important;
    bottom:0!important;
  }
  .hero-products img.hero-floating-product{
    border-radius:18px!important;
    border-width:3px!important;
    padding:3px!important;
    filter:drop-shadow(0 11px 12px rgba(0,0,0,.20))!important;
    animation-duration:4.3s!important;
  }
  .hero-products img.hero-floating-product--1{
    right:12%!important;
    bottom:2%!important;
    width:125px!important;
    height:125px!important;
  }
  .hero-products img.hero-floating-product--2{
    right:-4%!important;
    bottom:5%!important;
    width:105px!important;
    height:105px!important;
  }
  .hero-products img.hero-floating-product--3{
    right:25%!important;
    bottom:-3%!important;
    width:108px!important;
    height:108px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-products img.hero-floating-product{
    animation:none!important;
  }
}

/* v1.8.7 - Full-width store search + filter UI */
#dpo-products .filter{
  width:100%!important;
}
#dpo-products .searchbox{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}
#dpo-products .search-icon{
  flex:0 0 auto;
  font-size:21px;
  color:#718096;
  line-height:1;
}
#dpo-products .searchbox input{
  flex:1 1 auto!important;
  min-width:0!important;
}
#dpo-products .search-submit{
  flex:0 0 auto;
  height:32px;
  padding:0 12px;
  border:0;
  border-radius:9px;
  background:var(--blue);
  color:#fff;
  font-size:11px;
  font-weight:850;
}
#dpo-products .search-clear{
  flex:0 0 auto;
  width:28px;
  padding:0;
  cursor:pointer;
}
#dpo-products .cat-list{
  width:100%;
}
#dpo-products .cat-chip[aria-pressed="true"]{
  background:var(--blue);
  color:#fff;
}
#dpo-products .dpo-filter-result-count{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
}
#dpo-products .dpo-filter-empty{
  padding:38px 18px;
  margin-top:10px;
  text-align:center;
  color:var(--muted);
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
}
@media(max-width:640px){
  #dpo-products .searchbox{
    height:48px;
  }
  #dpo-products .search-submit{
    height:31px;
    padding:0 10px;
  }
}

/* v1.8.7 - Store search truly edge-to-edge inside shop content */
@media(max-width:767px){
  body .dpo-shop-page,
  body .shop-page,
  body .woocommerce-shop{
    overflow-x:hidden!important;
  }

  /* Break the search row out of the centered/padded shop container. */
  #dpo-products .filter,
  #dpo-products .searchbox{
    width:100vw!important;
    max-width:none!important;
    min-width:100vw!important;
    box-sizing:border-box!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }

  #dpo-products .searchbox{
    padding-left:12px!important;
    padding-right:12px!important;
    border-radius:0!important;
  }
}

@media(min-width:768px){
  #dpo-products .filter,
  #dpo-products .searchbox{
    width:100%!important;
    max-width:none!important;
  }
}

/* v1.8.7 - Search field inset padding and rounded corners */
@media(max-width:767px){
  #dpo-products .searchbox{
    width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-width:none!important;
    margin-left:12px!important;
    margin-right:12px!important;
    border-radius:16px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    padding-left:14px!important;
    padding-right:8px!important;
    background:#fff!important;
    border:1px solid rgba(20,35,55,.08)!important;
    box-shadow:0 4px 14px rgba(20,35,55,.06)!important;
  }
  #dpo-products .searchbox input{
    min-width:0!important;
    height:44px!important;
  }
}
@media(min-width:768px){
  #dpo-products .searchbox{
    border-radius:16px!important;
    padding-left:14px!important;
    padding-right:8px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
}

/* v1.8.7 - Move homepage banner product trio to the right */
.hero-products{
  left:58%!important;
  right:0!important;
}
.hero-products img.hero-floating-product--1{
  right:8%!important;
}
.hero-products img.hero-floating-product--2{
  right:-5%!important;
}
.hero-products img.hero-floating-product--3{
  right:19%!important;
}
@media(max-width:767px){
  .hero-products{
    left:54%!important;
    right:0!important;
  }
  .hero-products img.hero-floating-product--1{
    right:6%!important;
  }
  .hero-products img.hero-floating-product--2{
    right:-6%!important;
  }
  .hero-products img.hero-floating-product--3{
    right:20%!important;
  }
}

/* v1.8.7 FINAL - Hero floating products: single authoritative positioning */
.hero-products{
  position:absolute!important;
  left:auto!important;
  right:0!important;
  top:auto!important;
  bottom:0!important;
  width:52%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  z-index:4!important;
  pointer-events:none!important;
}
.hero-products img.hero-floating-product{
  position:absolute!important;
  display:block!important;
  object-fit:contain!important;
  box-sizing:border-box!important;
  pointer-events:none!important;
}
.hero-products img.hero-floating-product--1{
  right:7%!important;
  bottom:1%!important;
  left:auto!important;
  top:auto!important;
}
.hero-products img.hero-floating-product--2{
  right:-5%!important;
  bottom:4%!important;
  left:auto!important;
  top:auto!important;
}
.hero-products img.hero-floating-product--3{
  right:25%!important;
  bottom:-2%!important;
  left:auto!important;
  top:auto!important;
}
@media(max-width:767px){
  .hero-products{
    left:auto!important;
    right:0!important;
    bottom:0!important;
    width:53%!important;
    height:100%!important;
  }
  .hero-products img.hero-floating-product--1{
    right:4%!important;
    bottom:1%!important;
    width:125px!important;
    height:125px!important;
  }
  .hero-products img.hero-floating-product--2{
    right:-7%!important;
    bottom:4%!important;
    width:104px!important;
    height:104px!important;
  }
  .hero-products img.hero-floating-product--3{
    right:27%!important;
    bottom:-2%!important;
    width:108px!important;
    height:108px!important;
  }
}

/* v1.8.7 - Hide cart-products heading on order success screen only */
#dpo-cart-overlay.dpo-order-complete .dpo-cart-section > .dpo-section-title{
  display:none!important;
}

/* v1.8.7 - Order success refinements */
#dpo-cart-overlay.dpo-order-complete .dpo-checkout-section > .dpo-section-title{display:none!important;}
#dpo-cart-overlay.dpo-order-complete .dpo-order-urgent{margin-top:12px;font-size:14px;font-weight:700;color:#172033;}
#dpo-cart-overlay.dpo-order-complete .dpo-order-urgent a{color:#0879e8;text-decoration:none;font-weight:900;}

/* v1.8.7 - Rebalance homepage hero floating products */
.hero-products{
  left:62%!important;
  right:0!important;
  bottom:0!important;
  top:0!important;
  overflow:visible!important;
  pointer-events:none!important;
}
.hero-products img.hero-floating-product{
  pointer-events:none!important;
  border-radius:18px!important;
  border:3px solid rgba(255,255,255,.98)!important;
  padding:3px!important;
  filter:drop-shadow(0 9px 11px rgba(0,0,0,.18))!important;
}
.hero-products img.hero-floating-product--1{
  right:2%!important;
  bottom:1%!important;
  width:125px!important;
  height:125px!important;
}
.hero-products img.hero-floating-product--2{
  right:-5%!important;
  bottom:18%!important;
  width:94px!important;
  height:94px!important;
}
.hero-products img.hero-floating-product--3{
  right:27%!important;
  bottom:-2%!important;
  width:98px!important;
  height:98px!important;
}
@media(max-width:767px){
  .hero-products{
    left:59%!important;
    right:0!important;
    bottom:0!important;
    top:0!important;
  }
  .hero-products img.hero-floating-product{
    border-radius:15px!important;
    border-width:2px!important;
    padding:2px!important;
  }
  .hero-products img.hero-floating-product--1{
    right:0!important;
    bottom:0!important;
    width:88px!important;
    height:88px!important;
  }
  .hero-products img.hero-floating-product--2{
    right:-5%!important;
    bottom:25%!important;
    width:68px!important;
    height:68px!important;
  }
  .hero-products img.hero-floating-product--3{
    right:28%!important;
    bottom:-2%!important;
    width:70px!important;
    height:70px!important;
  }
}


/* v1.8.9 - Pagination: load exactly 10 more products per scroll */
#dpo-product-list{position:relative;}
#dpo-product-sentinel{width:100%;height:1px;display:block;}
#dpo-product-list.is-loading-more:after{
  content:'Đang tải thêm sản phẩm…';
  display:block;
  text-align:center;
  padding:14px 0 18px;
  color:var(--muted,#718096);
  font-size:13px;
  font-weight:700;
}

/* v1.8.9 - Infinite-scroll trigger must remain measurable */
#dpo-product-list{position:relative}
#dpo-product-sentinel{display:block!important;width:100%;height:2px;min-height:2px;clear:both;visibility:hidden}
#dpo-load-more-status{width:100%;padding:12px;text-align:center;font-size:12px;color:var(--muted);box-sizing:border-box}
#dpo-load-more-status[hidden]{display:none!important}
