/* DG Product UI Pro v1.1.0
 * Scoped only to body.dgpu-product-ui on single product pages.
 * No font-face, no template override, no global reset.
 */

body.dgpu-product-ui {
  --dgpu-red: #c91f28;
  --dgpu-red-2: #a90f17;
  --dgpu-ink: #17181b;
  --dgpu-muted: #667085;
  --dgpu-line: #e9eaee;
  --dgpu-surface: #ffffff;
  --dgpu-soft: #f7f7f9;
  --dgpu-soft-2: #fff8f8;
  --dgpu-success: #118a4e;
  --dgpu-radius: 18px;
  --dgpu-radius-sm: 12px;
  --dgpu-shadow: 0 12px 36px rgba(20, 24, 40, .08);
  --dgpu-shadow-hover: 0 18px 48px rgba(20, 24, 40, .13);
  --dgpu-ease: cubic-bezier(.2,.8,.2,1);
  background: #f6f7f9;
}

body.dgpu-product-ui #main,
body.dgpu-product-ui .shop-container,
body.dgpu-product-ui .custom-product-page,
body.dgpu-product-ui .custom-product-page > .section {
  background: transparent;
}

body.dgpu-product-ui .shop-container,
body.dgpu-product-ui .custom-product-page,
body.dgpu-product-ui .custom-product-page > .section > .section-content,
body.dgpu-product-ui .product-footer,
body.dgpu-product-ui .product-main {
  max-width: 1520px;
  width: calc(100% - 24px);
  margin-left: auto;
  margin-right: auto;
}

body.dgpu-product-ui .custom-product-page > .section > .section-content {
  padding-top: 14px;
}

body.dgpu-product-ui .row-thong-tin-san-pham.chiakhoi {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 16px 16px !important;
  background: var(--dgpu-surface);
  border: 1px solid rgba(20,24,40,.06);
  border-radius: 24px;
  box-shadow: var(--dgpu-shadow);
}

body.dgpu-product-ui .album-hinhanh-sanpham > .col-inner,
body.dgpu-product-ui .info-product > .col-inner {
  height: 100%;
}

/* Gallery */
body.dgpu-product-ui .album-hinhanh-sanpham .woocommerce-product-gallery {
  margin-bottom: 0;
}

body.dgpu-product-ui .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport {
  border: 1px solid var(--dgpu-line) !important;
  border-radius: 18px !important;
  background: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.4);
}

body.dgpu-product-ui .album-hinhanh-sanpham .woocommerce-product-gallery__image img {
  transition: transform .45s var(--dgpu-ease);
}

@media (hover:hover) {
  body.dgpu-product-ui .album-hinhanh-sanpham .woocommerce-product-gallery__image:hover img {
    transform: scale(1.025);
  }
}

body.dgpu-product-ui .album-hinhanh-sanpham .vertical-thumbnails,
body.dgpu-product-ui .album-hinhanh-sanpham .product-thumbnails {
  gap: 8px;
}

body.dgpu-product-ui .album-hinhanh-sanpham .vertical-thumbnails a,
body.dgpu-product-ui .album-hinhanh-sanpham .product-thumbnails a {
  border: 1px solid var(--dgpu-line);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.dgpu-product-ui .album-hinhanh-sanpham .vertical-thumbnails a:hover,
body.dgpu-product-ui .album-hinhanh-sanpham .product-thumbnails a:hover,
body.dgpu-product-ui .album-hinhanh-sanpham .vertical-thumbnails a.is-nav-selected,
body.dgpu-product-ui .album-hinhanh-sanpham .product-thumbnails a.is-nav-selected {
  border-color: var(--dgpu-red);
  box-shadow: 0 0 0 2px rgba(201,31,40,.10);
}

/* Quick specs under image */
body.dgpu-product-ui .dgpu-quick-specs {
  margin-top: 14px;
  padding: 16px;
  background: linear-gradient(180deg, #fff 0%, #fff9f9 100%);
  border: 1px solid rgba(201,31,40,.10);
  border-radius: 18px;
  box-shadow: var(--dgpu-shadow);
}

body.dgpu-product-ui .dgpu-card-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 14px;
}

body.dgpu-product-ui .dgpu-card-head strong {
  display: block;
  margin-bottom: 4px;
  font-size: 18px;
  line-height: 1.3;
  color: var(--dgpu-ink);
}

body.dgpu-product-ui .dgpu-card-head span {
  display: block;
  color: var(--dgpu-muted);
  font-size: 13px;
  line-height: 1.45;
}

body.dgpu-product-ui .dgpu-card-icon,
body.dgpu-product-ui .dgpu-cert-icon,
body.dgpu-product-ui .dgpu-mini-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

body.dgpu-product-ui .dgpu-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: #fff1f1;
  color: var(--dgpu-red);
}
body.dgpu-product-ui .dgpu-card-icon svg,
body.dgpu-product-ui .dgpu-cert-icon svg,
body.dgpu-product-ui .dgpu-mini-icon svg {
  display: block;
  width: 22px;
  height: 22px;
  fill: currentColor;
}

body.dgpu-product-ui .dgpu-spec-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

body.dgpu-product-ui .dgpu-spec-list li {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 12px;
  align-items: start;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid var(--dgpu-line);
  border-radius: 12px;
}

body.dgpu-product-ui .dgpu-spec-label {
  color: var(--dgpu-red);
  font-weight: 700;
  font-size: 13px;
  line-height: 1.45;
}
body.dgpu-product-ui .dgpu-spec-value {
  color: #3b3f48;
  font-size: 13px;
  line-height: 1.5;
}

/* Product info */
body.dgpu-product-ui .info-product {
  position: relative;
}

body.dgpu-product-ui .info-product > .col-inner {
  padding: 4px 6px 10px;
}

body.dgpu-product-ui .info-product .product-title-container {
  padding-bottom: 12px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--dgpu-line);
}

body.dgpu-product-ui .info-product .entry-title {
  margin: 0;
  color: var(--dgpu-ink);
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.28;
  letter-spacing: -.02em;
  font-weight: 750;
}

/* New certificate strip */
body.dgpu-product-ui .dgpu-cert-strip {
  margin: 0 0 14px;
  padding: 14px;
  background: linear-gradient(135deg, #fff7f7 0%, #ffffff 100%);
  border: 1px solid rgba(201,31,40,.12);
  border-radius: 16px;
}

body.dgpu-product-ui .dgpu-strip-head {
  display: grid;
  gap: 3px;
  margin-bottom: 10px;
}

body.dgpu-product-ui .dgpu-strip-head strong {
  font-size: 15px;
  color: var(--dgpu-ink);
}
body.dgpu-product-ui .dgpu-strip-head span {
  color: var(--dgpu-muted);
  font-size: 12px;
  line-height: 1.5;
}

body.dgpu-product-ui .dgpu-cert-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.dgpu-product-ui .dgpu-cert-card {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px;
  background: #fff;
  border: 1px solid rgba(20,24,40,.06);
  border-radius: 14px;
}

body.dgpu-product-ui .dgpu-cert-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #fff1f1;
  color: var(--dgpu-red);
}

body.dgpu-product-ui .dgpu-cert-card strong {
  display: block;
  font-size: 13px;
  line-height: 1.35;
  color: var(--dgpu-ink);
  margin-bottom: 2px;
}
body.dgpu-product-ui .dgpu-cert-card span:last-child {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: var(--dgpu-muted);
}

body.dgpu-product-ui .info-product .spct-cam-ket.dgpu-hide-original-trust {
  display: none !important;
}

/* Rating/meta */
body.dgpu-product-ui .info-product .thongtinban-masp {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  margin: 0 0 12px;
  padding: 0;
  color: var(--dgpu-muted);
}

body.dgpu-product-ui .info-product .thongtinban-masp > * {
  margin-top: 0;
  margin-bottom: 0;
}

/* Price card */
body.dgpu-product-ui .info-product .product-price-container {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 10px 18px;
  margin: 10px 0 16px;
  padding: 14px 16px;
  background: linear-gradient(135deg, #fff5f5 0%, #fff 70%);
  border: 1px solid #ffd9dc;
  border-radius: 16px;
}

body.dgpu-product-ui .info-product .product-price-container .price-wrapper,
body.dgpu-product-ui .info-product .product-price-container .price {
  margin: 0 !important;
}

body.dgpu-product-ui .info-product .product-price-container del,
body.dgpu-product-ui .info-product .product-price-container del bdi {
  color: #8a8f98 !important;
  font-size: 15px !important;
  font-weight: 500;
}

body.dgpu-product-ui .info-product .product-price-container ins {
  text-decoration: none;
}

body.dgpu-product-ui .info-product .product-price-container ins bdi,
body.dgpu-product-ui .info-product .product-price-container .price > .amount bdi {
  color: var(--dgpu-red) !important;
  font-size: clamp(27px, 2.5vw, 36px) !important;
  font-weight: 800 !important;
  letter-spacing: -.03em;
}

body.dgpu-product-ui .info-product .product-price-container .tietkiem {
  margin: 4px 0 0;
  color: var(--dgpu-success);
  font-size: 13px;
  font-weight: 650;
}

body.dgpu-product-ui .info-product .product-price-container .stock {
  margin: 0;
  padding: 7px 10px;
  background: #ecfdf3;
  border: 1px solid #c9f2d8;
  border-radius: 999px;
  color: var(--dgpu-success);
  font-size: 12px;
  white-space: nowrap;
}

body.dgpu-product-ui .info-product .product-price-container .stock span {
  color: inherit;
}

body.dgpu-product-ui .info-product .dgpq-cta-wrap {
  margin: 0 0 12px;
}

body.dgpu-product-ui .info-product .dgpq-open {
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(201,31,40,.09);
  transition: transform .2s var(--dgpu-ease), box-shadow .2s var(--dgpu-ease);
}

@media (hover:hover) {
  body.dgpu-product-ui .info-product .dgpq-open:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 26px rgba(201,31,40,.15);
  }
}

body.dgpu-product-ui .info-product .add-to-cart-container {
  display: block !important;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--dgpu-line);
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(20,24,40,.06);
}

body.dgpu-product-ui .info-product .add-to-cart-container > .stock {
  margin-bottom: 8px;
  color: var(--dgpu-success);
  font-size: 13px;
  font-weight: 650;
}

body.dgpu-product-ui .info-product form.cart {
  width: 100% !important;
  margin: 0;
}

body.dgpu-product-ui .info-product form.cart .quantity {
  min-width: 116px;
  height: 48px;
  border: 1px solid #d8dbe2 !important;
  border-radius: 12px !important;
  background: #fff;
}

body.dgpu-product-ui .info-product form.cart .quantity input,
body.dgpu-product-ui .info-product form.cart .quantity .button {
  height: 46px !important;
  min-height: 46px;
  border: 0 !important;
  background: transparent !important;
  color: var(--dgpu-ink) !important;
}

body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button,
body.dgpu-product-ui .info-product form.cart .ux-buy-now-button,
body.dgpu-product-ui .info-product .td_check_out_now {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 12px !important;
  font-weight: 750 !important;
  line-height: 1.2;
  transition: transform .2s var(--dgpu-ease), box-shadow .2s var(--dgpu-ease), filter .2s ease;
}

body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button {
  background: var(--dgpu-ink) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(23,24,27,.14);
}

body.dgpu-product-ui .info-product form.cart .ux-buy-now-button,
body.dgpu-product-ui .info-product .td_check_out_now {
  background: linear-gradient(135deg, var(--dgpu-red), var(--dgpu-red-2)) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(201,31,40,.22);
}

@media (hover:hover) {
  body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button:hover,
  body.dgpu-product-ui .info-product form.cart .ux-buy-now-button:hover,
  body.dgpu-product-ui .info-product .td_check_out_now:hover {
    transform: translateY(-1px);
    filter: brightness(.98);
  }
}

body.dgpu-product-ui .info-product .variations {
  margin-bottom: 10px;
}
body.dgpu-product-ui .info-product .variations th,
body.dgpu-product-ui .info-product .variations td {
  padding-top: 7px;
  padding-bottom: 7px;
}
body.dgpu-product-ui .info-product .rtwpvs-terms-wrapper .rtwpvs-term {
  border-radius: 10px !important;
}

/* Full-width description/spec area */
body.dgpu-product-ui .col-mo-ta-san-pham.chiakhoi,
body.dgpu-product-ui .col-sidebar-sanpham,
body.dgpu-product-ui .custom-product-reviews,
body.dgpu-product-ui .related.related-products-wrapper.product-section,
body.dgpu-product-ui .footer-thuonghieu.chiakhoi,
body.dgpu-product-ui .col-khachhang-muahang.chiakhoi,
body.dgpu-product-ui .footer-danhgia-khach-hang.chiakhoi {
  margin-top: 16px;
}

body.dgpu-product-ui .col-mo-ta-san-pham.chiakhoi .tabbed-content,
body.dgpu-product-ui .col-sidebar-sanpham .chiakhoi .col-inner,
body.dgpu-product-ui .custom-product-reviews,
body.dgpu-product-ui .related.related-products-wrapper.product-section,
body.dgpu-product-ui .footer-thuonghieu.chiakhoi > .col-inner,
body.dgpu-product-ui .col-khachhang-muahang.chiakhoi > .col-inner,
body.dgpu-product-ui .footer-danhgia-khach-hang.chiakhoi > .col > .col-inner {
  background: #fff;
  border: 1px solid rgba(20,24,40,.06);
  border-radius: var(--dgpu-radius) !important;
  box-shadow: var(--dgpu-shadow) !important;
  padding: 18px !important;
}

body.dgpu-product-ui .woocommerce-tabs.wc-tabs-wrapper,
body.dgpu-product-ui .col-mo-ta-san-pham.chiakhoi .tabbed-content,
body.dgpu-product-ui .woocommerce-Tabs-panel,
body.dgpu-product-ui .woocommerce-Tabs-panel > * {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

body.dgpu-product-ui .woocommerce-tabs.wc-tabs-wrapper {
  position: relative;
}

body.dgpu-product-ui .product.type-product .product-tabs {
  position: sticky;
  top: calc(var(--flatsome--header--sticky-height, 80px) + 6px);
  z-index: 6;
  display: flex;
  gap: 6px;
  margin: 0 0 16px;
  padding: 8px 10px;
  overflow-x: auto;
  scrollbar-width: none;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--dgpu-line);
  border-radius: 14px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

body.dgpu-product-ui .product.type-product .product-tabs::-webkit-scrollbar {
  display: none;
}

body.dgpu-product-ui .product.type-product .product-tabs > li {
  flex: 0 0 auto;
  margin: 0;
}

body.dgpu-product-ui .product.type-product .product-tabs > li > a {
  min-height: 38px;
  padding: 9px 14px !important;
  border-radius: 10px;
  color: #4a4f59 !important;
  font-size: 13px !important;
  font-weight: 700;
  line-height: 20px;
  white-space: nowrap;
}

body.dgpu-product-ui .product.type-product .product-tabs > li.active > a {
  background: var(--dgpu-ink) !important;
  color: #fff !important;
}

body.dgpu-product-ui .product.type-product .product-tabs > li > a::before {
  display: none !important;
}

body.dgpu-product-ui .woocommerce-Tabs-panel {
  color: #343741;
  line-height: 1.75;
  padding-top: 4px;
}

body.dgpu-product-ui .woocommerce-Tabs-panel h2,
body.dgpu-product-ui .woocommerce-Tabs-panel h3,
body.dgpu-product-ui .woocommerce-Tabs-panel h4 {
  color: var(--dgpu-ink);
  letter-spacing: -.01em;
}

body.dgpu-product-ui .woocommerce-Tabs-panel img {
  border-radius: 12px;
  max-width: 100%;
  height: auto;
}

body.dgpu-product-ui table.shop_attributes {
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--dgpu-line);
  border-radius: 12px;
  border-collapse: separate;
  border-spacing: 0;
}

body.dgpu-product-ui table.shop_attributes th,
body.dgpu-product-ui table.shop_attributes td {
  padding: 11px 12px;
  border-color: var(--dgpu-line);
}

/* Desktop side panels for wide screens */
body.dgpu-product-ui .dgpu-side-panels-wrap {
  display: none;
}

@media (min-width: 1600px) {
  body.dgpu-product-ui .dgpu-side-panels-wrap {
    display: block;
  }

  body.dgpu-product-ui .dgpu-side-panel {
    position: fixed;
    top: 130px;
    width: 220px;
    padding: 14px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(20,24,40,.08);
    border-radius: 18px;
    box-shadow: var(--dgpu-shadow);
    z-index: 8;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  body.dgpu-product-ui .dgpu-side-panel-left {
    left: 14px;
  }
  body.dgpu-product-ui .dgpu-side-panel-right {
    right: 14px;
  }
}

body.dgpu-product-ui .dgpu-side-panel__head {
  display: grid;
  gap: 3px;
  margin-bottom: 10px;
}
body.dgpu-product-ui .dgpu-side-panel__head strong {
  font-size: 15px;
  color: var(--dgpu-ink);
}
body.dgpu-product-ui .dgpu-side-panel__head span {
  font-size: 12px;
  color: var(--dgpu-muted);
  line-height: 1.45;
}
body.dgpu-product-ui .dgpu-mini-points {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
body.dgpu-product-ui .dgpu-mini-points li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 10px;
  background: var(--dgpu-soft);
  border: 1px solid var(--dgpu-line);
  border-radius: 12px;
}
body.dgpu-product-ui .dgpu-mini-icon {
  width: 34px;
  height: 34px;
  border-radius: 11px;
  background: #fff1f1;
  color: var(--dgpu-red);
}
body.dgpu-product-ui .dgpu-mini-points strong {
  display: block;
  font-size: 13px;
  line-height: 1.35;
  color: var(--dgpu-ink);
  margin-bottom: 2px;
}
body.dgpu-product-ui .dgpu-mini-points span:last-child {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: var(--dgpu-muted);
}

/* Related product cards */
body.dgpu-product-ui .related-products-wrapper .product-small > .col-inner {
  border: 1px solid var(--dgpu-line);
  border-radius: 16px;
  box-shadow: none;
  transition: transform .25s var(--dgpu-ease), box-shadow .25s var(--dgpu-ease), border-color .25s ease;
}

@media (hover:hover) {
  body.dgpu-product-ui .related-products-wrapper .product-small > .col-inner:hover {
    transform: translateY(-3px);
    border-color: #dedfe4;
    box-shadow: var(--dgpu-shadow-hover);
  }
}

body.dgpu-product-ui .dgpu-mobile-summary {
  display: none;
}

body.dgpu-product-ui.dgpu-motion .dgpu-reveal-ready {
  opacity: 0;
  transform: translateY(10px);
}
body.dgpu-product-ui.dgpu-motion .dgpu-reveal-ready.dgpu-inview {
  opacity: 1;
  transform: none;
  transition: opacity .45s var(--dgpu-ease), transform .45s var(--dgpu-ease);
}

@media (max-width: 849px) {
  body.dgpu-product-ui {
    background: #f3f4f6;
  }

  body.dgpu-product-ui .shop-container,
  body.dgpu-product-ui .custom-product-page,
  body.dgpu-product-ui .custom-product-page > .section > .section-content,
  body.dgpu-product-ui .product-footer,
  body.dgpu-product-ui .product-main {
    width: calc(100% - 16px);
  }

  body.dgpu-product-ui .custom-product-page > .section > .section-content {
    padding-top: 8px;
  }

  body.dgpu-product-ui .row-thong-tin-san-pham.chiakhoi {
    width: 100%;
    margin: 0 auto;
    padding: 10px 8px 8px !important;
    border-radius: 20px;
  }

  body.dgpu-product-ui .album-hinhanh-sanpham,
  body.dgpu-product-ui .info-product {
    padding-bottom: 0;
  }

  body.dgpu-product-ui .info-product > .col-inner {
    padding: 8px 8px 12px;
  }

  body.dgpu-product-ui .dgpu-cert-grid {
    grid-template-columns: 1fr 1fr;
  }

  body.dgpu-product-ui .dgpu-spec-list li {
    grid-template-columns: 110px 1fr;
  }

  body.dgpu-product-ui .product.type-product .product-tabs {
    top: var(--flatsome--header--sticky-height, 60px);
  }
}

@media (max-width: 549px) {
  body.dgpu-product-ui {
    --dgpu-radius: 16px;
    --dgpu-radius-sm: 12px;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  body.dgpu-product-ui .shop-container,
  body.dgpu-product-ui .custom-product-page,
  body.dgpu-product-ui .custom-product-page > .section > .section-content,
  body.dgpu-product-ui .product-footer,
  body.dgpu-product-ui .product-main {
    width: calc(100% - 8px);
  }

  body.dgpu-product-ui .row-thong-tin-san-pham.chiakhoi {
    width: 100%;
    padding: 6px 0 8px !important;
    border-radius: 18px;
    box-shadow: 0 5px 18px rgba(20,24,40,.06);
  }

  body.dgpu-product-ui .album-hinhanh-sanpham > .col-inner {
    padding-left: 6px;
    padding-right: 6px;
  }

  body.dgpu-product-ui .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport {
    border-radius: 15px !important;
  }

  body.dgpu-product-ui .info-product > .col-inner {
    padding: 10px 10px 14px;
  }

  body.dgpu-product-ui .info-product .entry-title {
    font-size: 20px !important;
    line-height: 1.32;
  }

  body.dgpu-product-ui .dgpu-mobile-summary {
    display: grid;
    gap: 3px;
    margin: 10px 0 2px;
    padding: 12px;
    background: #fff8f8;
    border: 1px solid rgba(201,31,40,.12);
    border-radius: 14px;
  }
  body.dgpu-product-ui .dgpu-mobile-summary strong {
    font-size: 14px;
    line-height: 1.45;
    color: var(--dgpu-ink);
  }
  body.dgpu-product-ui .dgpu-mobile-summary span {
    font-size: 13px;
    line-height: 1.45;
    color: var(--dgpu-red);
    font-weight: 700;
  }

  body.dgpu-product-ui .dgpu-cert-strip {
    padding: 12px;
  }

  body.dgpu-product-ui .dgpu-cert-grid {
    grid-template-columns: 1fr;
  }

  body.dgpu-product-ui .dgpu-cert-card {
    padding: 10px;
  }

  body.dgpu-product-ui .dgpu-quick-specs {
    padding: 12px;
    border-radius: 16px;
  }

  body.dgpu-product-ui .dgpu-card-head strong {
    font-size: 16px;
  }

  body.dgpu-product-ui .dgpu-spec-list li {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  body.dgpu-product-ui .dgpu-spec-label,
  body.dgpu-product-ui .dgpu-spec-value {
    font-size: 12.5px;
  }

  body.dgpu-product-ui .info-product .product-price-container {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px;
  }

  body.dgpu-product-ui .info-product .product-price-container .stock {
    justify-self: start;
  }

  body.dgpu-product-ui .info-product .product-price-container ins bdi,
  body.dgpu-product-ui .info-product .product-price-container .price > .amount bdi {
    font-size: 30px !important;
  }

  body.dgpu-product-ui .info-product .add-to-cart-container {
    padding: 9px;
    border-radius: 14px;
  }

  body.dgpu-product-ui .info-product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: stretch;
  }

  body.dgpu-product-ui .info-product form.cart .quantity {
    flex: 0 0 100%;
    min-width: 100%;
    margin: 0 !important;
  }

  body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button,
  body.dgpu-product-ui .info-product form.cart .ux-buy-now-button,
  body.dgpu-product-ui .info-product .td_check_out_now {
    flex: 1 1 100%;
    width: 100%;
    margin: 0 !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 13px !important;
  }

  body.dgpu-product-ui .col-mo-ta-san-pham.chiakhoi .tabbed-content,
  body.dgpu-product-ui .col-sidebar-sanpham .chiakhoi .col-inner,
  body.dgpu-product-ui .custom-product-reviews,
  body.dgpu-product-ui .related.related-products-wrapper.product-section,
  body.dgpu-product-ui .footer-thuonghieu.chiakhoi > .col-inner,
  body.dgpu-product-ui .col-khachhang-muahang.chiakhoi > .col-inner,
  body.dgpu-product-ui .footer-danhgia-khach-hang.chiakhoi > .col > .col-inner {
    padding: 12px !important;
    border-radius: 16px !important;
    box-shadow: 0 5px 18px rgba(20,24,40,.06) !important;
  }

  body.dgpu-product-ui .product.type-product .product-tabs {
    top: 0;
    padding: 7px 8px;
    margin-bottom: 12px;
  }

  body.dgpu-product-ui .woocommerce-Tabs-panel {
    font-size: 15px;
    line-height: 1.68;
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container {
    position: fixed;
    z-index: 9998;
    left: 8px;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom, 0px));
    width: auto;
    max-width: none;
    margin: 0;
    padding: 7px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(20,24,40,.10);
    border-radius: 16px;
    box-shadow: 0 14px 40px rgba(20,24,40,.20);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container > .stock {
    display: none;
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container form.cart {
    align-items: center;
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container .quantity {
    height: auto;
    min-height: 44px;
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container .quantity input,
  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container .quantity .button,
  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container :is(.single_add_to_cart_button,.ux-buy-now-button,.td_check_out_now) {
    min-height: 44px !important;
    height: 44px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active {
    padding-bottom: calc(146px + env(safe-area-inset-bottom, 0px));
  }

  body.dgpu-product-ui.dgpu-has-existing-mobile-nav .info-product .add-to-cart-container {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    box-shadow: 0 8px 22px rgba(20,24,40,.06) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.dgpu-product-ui.dgpu-has-existing-mobile-nav {
    padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dgpu-product-ui *,
  body.dgpu-product-ui *::before,
  body.dgpu-product-ui *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

body.dgpu-product-ui .dgpu-cart-anchor {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

/* ========================================================================
   DG Product UI Pro 1.2.0 — iOS-inspired visual layer
   Scoped, additive overrides only. No external fonts.
   ======================================================================== */
body.dgpu-product-ui {
  --dgpu-ios-bg: #f5f5f7;
  --dgpu-ios-card: rgba(255,255,255,.82);
  --dgpu-ios-card-strong: rgba(255,255,255,.94);
  --dgpu-ios-border: rgba(17,24,39,.08);
  --dgpu-ios-shadow: 0 18px 50px rgba(15,23,42,.09), 0 2px 10px rgba(15,23,42,.04);
  --dgpu-ios-shadow-soft: 0 10px 30px rgba(15,23,42,.07);
  --dgpu-ios-blur: blur(22px) saturate(150%);
  --dgpu-ios-radius-xl: 28px;
  --dgpu-ios-radius-lg: 22px;
  --dgpu-ios-radius-md: 16px;
  --dgpu-ios-spring: cubic-bezier(.22,1,.36,1);
  background:
    radial-gradient(circle at 12% 7%, rgba(201,31,40,.075), transparent 28%),
    radial-gradient(circle at 88% 18%, rgba(255,180,180,.13), transparent 30%),
    linear-gradient(180deg, #fafafa 0%, var(--dgpu-ios-bg) 100%);
}

body.dgpu-product-ui .custom-product-page,
body.dgpu-product-ui .custom-product-page button,
body.dgpu-product-ui .custom-product-page input,
body.dgpu-product-ui .custom-product-page select,
body.dgpu-product-ui .custom-product-page textarea,
body.dgpu-product-ui .dgpu-side-panels-wrap {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Preserve icon fonts used by theme/plugins */
body.dgpu-product-ui .icon,
body.dgpu-product-ui [class^="icon-"],
body.dgpu-product-ui [class*=" icon-"],
body.dgpu-product-ui .fa,
body.dgpu-product-ui .fas,
body.dgpu-product-ui .far,
body.dgpu-product-ui .fab {
  font-family: inherit;
}

body.dgpu-product-ui .row-thong-tin-san-pham.chiakhoi,
body.dgpu-product-ui .col-mo-ta-san-pham.chiakhoi .tabbed-content,
body.dgpu-product-ui .col-sidebar-sanpham .chiakhoi .col-inner,
body.dgpu-product-ui .custom-product-reviews,
body.dgpu-product-ui .related.related-products-wrapper.product-section,
body.dgpu-product-ui .footer-thuonghieu.chiakhoi > .col-inner,
body.dgpu-product-ui .col-khachhang-muahang.chiakhoi > .col-inner,
body.dgpu-product-ui .footer-danhgia-khach-hang.chiakhoi > .col > .col-inner,
body.dgpu-product-ui .dgpu-quick-specs,
body.dgpu-product-ui .dgpu-side-panel {
  background: var(--dgpu-ios-card) !important;
  border-color: var(--dgpu-ios-border) !important;
  box-shadow: var(--dgpu-ios-shadow) !important;
  backdrop-filter: var(--dgpu-ios-blur);
  -webkit-backdrop-filter: var(--dgpu-ios-blur);
}

body.dgpu-product-ui .row-thong-tin-san-pham.chiakhoi {
  border-radius: var(--dgpu-ios-radius-xl);
}

body.dgpu-product-ui .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport {
  border: 1px solid rgba(17,24,39,.08) !important;
  border-radius: 24px !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.8) inset, 0 12px 34px rgba(15,23,42,.08);
  background: rgba(255,255,255,.88);
}

body.dgpu-product-ui .album-hinhanh-sanpham .woocommerce-product-gallery__image img {
  transition: transform .65s var(--dgpu-ios-spring), filter .35s ease;
}
@media (hover:hover) {
  body.dgpu-product-ui .album-hinhanh-sanpham .woocommerce-product-gallery__image:hover img {
    transform: scale(1.035);
    filter: drop-shadow(0 18px 24px rgba(15,23,42,.08));
  }
}

body.dgpu-product-ui .album-hinhanh-sanpham .vertical-thumbnails a,
body.dgpu-product-ui .album-hinhanh-sanpham .product-thumbnails a {
  border-radius: 14px;
  transition: transform .28s var(--dgpu-ios-spring), border-color .2s ease, box-shadow .28s ease;
}
@media (hover:hover) {
  body.dgpu-product-ui .album-hinhanh-sanpham .vertical-thumbnails a:hover,
  body.dgpu-product-ui .album-hinhanh-sanpham .product-thumbnails a:hover {
    transform: translateY(-2px) scale(1.02);
  }
}

body.dgpu-product-ui .info-product .entry-title {
  font-weight: 760;
  letter-spacing: -.028em;
}

/* iOS-like glass certificate module */
body.dgpu-product-ui .dgpu-cert-strip {
  position: relative;
  overflow: hidden;
  padding: 16px;
  background: linear-gradient(145deg, rgba(255,255,255,.93), rgba(255,245,246,.82));
  border: 1px solid rgba(201,31,40,.10);
  border-radius: 20px;
  box-shadow: var(--dgpu-ios-shadow-soft);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}
body.dgpu-product-ui .dgpu-cert-strip::before {
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  right: -70px;
  top: -90px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,31,40,.12), rgba(201,31,40,0) 68%);
  pointer-events: none;
}

body.dgpu-product-ui .dgpu-cert-card {
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(17,24,39,.065);
  border-radius: 16px;
  box-shadow: 0 1px 0 rgba(255,255,255,.75) inset;
  transition: transform .35s var(--dgpu-ios-spring), box-shadow .35s var(--dgpu-ios-spring), background .25s ease;
}
@media (hover:hover) {
  body.dgpu-product-ui .dgpu-cert-card:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,.94);
    box-shadow: 0 12px 28px rgba(15,23,42,.08);
  }
}
body.dgpu-product-ui .dgpu-cert-icon,
body.dgpu-product-ui .dgpu-card-icon,
body.dgpu-product-ui .dgpu-mini-icon {
  background: linear-gradient(180deg, #fff 0%, #fff0f1 100%);
  box-shadow: 0 6px 16px rgba(201,31,40,.10), 0 1px 0 #fff inset;
}

/* Price card like iOS information sheet */
body.dgpu-product-ui .info-product .product-price-container {
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,242,243,.90));
  border: 1px solid rgba(201,31,40,.12);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(201,31,40,.065), 0 1px 0 rgba(255,255,255,.9) inset;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

body.dgpu-product-ui .info-product .product-price-container .stock {
  background: rgba(236,253,243,.82);
  border-color: rgba(17,138,78,.16);
  box-shadow: 0 5px 14px rgba(17,138,78,.08);
}

/* iOS buttons: spring, press state, specular highlight */
body.dgpu-product-ui .info-product .add-to-cart-container {
  background: rgba(255,255,255,.80) !important;
  border-color: rgba(17,24,39,.075);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(15,23,42,.08);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button,
body.dgpu-product-ui .info-product form.cart .ux-buy-now-button,
body.dgpu-product-ui .info-product .td_check_out_now,
body.dgpu-product-ui .info-product .dgpq-open {
  position: relative;
  overflow: hidden;
  border-radius: 14px !important;
  transition: transform .24s var(--dgpu-ios-spring), box-shadow .24s var(--dgpu-ios-spring), filter .2s ease !important;
  -webkit-tap-highlight-color: transparent;
}

body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button:active,
body.dgpu-product-ui .info-product form.cart .ux-buy-now-button:active,
body.dgpu-product-ui .info-product .td_check_out_now:active,
body.dgpu-product-ui .info-product .dgpq-open:active {
  transform: scale(.975) !important;
}

body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button {
  background: linear-gradient(180deg, #25262a, #111214) !important;
  box-shadow: 0 10px 24px rgba(17,18,20,.20), 0 1px 0 rgba(255,255,255,.12) inset;
}

body.dgpu-product-ui .info-product form.cart .ux-buy-now-button,
body.dgpu-product-ui .info-product .td_check_out_now {
  background: linear-gradient(180deg, #e52f38 0%, #c91f28 55%, #a90f17 100%) !important;
  box-shadow: 0 12px 26px rgba(201,31,40,.25), 0 1px 0 rgba(255,255,255,.28) inset;
}

body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button::after,
body.dgpu-product-ui .info-product form.cart .ux-buy-now-button::after,
body.dgpu-product-ui .info-product .td_check_out_now::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-125%) skewX(-18deg);
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.22) 48%, transparent 100%);
  pointer-events: none;
}

@media (hover:hover) and (prefers-reduced-motion: no-preference) {
  body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button:hover::after,
  body.dgpu-product-ui .info-product form.cart .ux-buy-now-button:hover::after,
  body.dgpu-product-ui .info-product .td_check_out_now:hover::after {
    animation: dgpu-ios-shine .72s ease both;
  }
}

@keyframes dgpu-ios-shine {
  to { transform: translateX(125%) skewX(-18deg); }
}

body.dgpu-product-ui .info-product form.cart .quantity {
  border-radius: 14px !important;
  background: rgba(246,247,249,.92) !important;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.04), 0 1px 0 rgba(255,255,255,.9);
}

/* Segmented control tabs inspired by iOS */
body.dgpu-product-ui .product.type-product .product-tabs {
  padding: 5px;
  gap: 4px;
  background: rgba(232,233,237,.78) !important;
  border: 1px solid rgba(17,24,39,.06);
  border-radius: 16px;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.05);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}

body.dgpu-product-ui .product.type-product .product-tabs > li > a {
  border-radius: 12px;
  transition: color .22s ease, background .28s var(--dgpu-ios-spring), box-shadow .28s var(--dgpu-ios-spring), transform .22s var(--dgpu-ios-spring);
}
body.dgpu-product-ui .product.type-product .product-tabs > li.active > a {
  color: var(--dgpu-ink) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 4px 12px rgba(15,23,42,.10), 0 1px 0 rgba(255,255,255,.96) inset;
}
body.dgpu-product-ui .product.type-product .product-tabs > li > a:active {
  transform: scale(.97);
}

/* Technical specs cells */
body.dgpu-product-ui .dgpu-spec-list li {
  background: rgba(255,255,255,.80);
  border-color: rgba(17,24,39,.065);
  border-radius: 14px;
  box-shadow: 0 1px 0 rgba(255,255,255,.9) inset;
  transition: transform .26s var(--dgpu-ios-spring), box-shadow .26s ease, background .2s ease;
}
@media (hover:hover) {
  body.dgpu-product-ui .dgpu-spec-list li:hover {
    transform: translateX(3px);
    background: rgba(255,255,255,.97);
    box-shadow: 0 8px 20px rgba(15,23,42,.06);
  }
}

/* Related cards and side panels */
body.dgpu-product-ui .related-products-wrapper .product-small > .col-inner {
  border-radius: 20px;
  background: rgba(255,255,255,.86);
  border-color: rgba(17,24,39,.07);
  box-shadow: 0 10px 26px rgba(15,23,42,.05);
}

@media (min-width: 1600px) {
  body.dgpu-product-ui .dgpu-side-panel {
    border-radius: 22px;
    animation: dgpu-ios-float 6s ease-in-out infinite;
  }
  body.dgpu-product-ui .dgpu-side-panel-right {
    animation-delay: -3s;
  }
}

@keyframes dgpu-ios-float {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

/* More natural reveal animation */
body.dgpu-product-ui.dgpu-motion .dgpu-reveal-ready {
  opacity: 0;
  transform: translateY(18px) scale(.985);
  filter: blur(2px);
}
body.dgpu-product-ui.dgpu-motion .dgpu-reveal-ready.dgpu-inview {
  opacity: 1;
  transform: none;
  filter: none;
  transition: opacity .65s var(--dgpu-ios-spring), transform .65s var(--dgpu-ios-spring), filter .45s ease;
}

/* Mobile: app-like sheet, safe-area, touch targets */
@media (max-width: 549px) {
  body.dgpu-product-ui {
    background:
      radial-gradient(circle at 50% 0%, rgba(201,31,40,.08), transparent 25%),
      #f2f2f7;
  }

  body.dgpu-product-ui .row-thong-tin-san-pham.chiakhoi {
    border-radius: 22px;
    background: rgba(255,255,255,.88) !important;
    box-shadow: 0 12px 32px rgba(15,23,42,.08) !important;
  }

  body.dgpu-product-ui .info-product .entry-title {
    font-size: 20px !important;
    letter-spacing: -.02em;
  }

  body.dgpu-product-ui .dgpu-mobile-summary {
    border-radius: 16px;
    background: rgba(255,255,255,.80);
    border-color: rgba(17,24,39,.07);
    box-shadow: 0 8px 22px rgba(15,23,42,.06);
    backdrop-filter: blur(16px) saturate(150%);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
  }

  body.dgpu-product-ui .dgpu-cert-strip,
  body.dgpu-product-ui .dgpu-quick-specs,
  body.dgpu-product-ui .info-product .product-price-container,
  body.dgpu-product-ui .info-product .add-to-cart-container {
    border-radius: 18px;
  }

  body.dgpu-product-ui .dgpu-cert-card,
  body.dgpu-product-ui .dgpu-spec-list li {
    border-radius: 15px;
  }

  body.dgpu-product-ui .product.type-product .product-tabs {
    top: max(6px, env(safe-area-inset-top, 0px));
    border-radius: 14px;
  }

  body.dgpu-product-ui .product.type-product .product-tabs > li > a {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px !important;
  }

  body.dgpu-product-ui .info-product form.cart .quantity,
  body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button,
  body.dgpu-product-ui .info-product form.cart .ux-buy-now-button,
  body.dgpu-product-ui .info-product .td_check_out_now {
    min-height: 50px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container {
    left: 10px;
    right: 10px;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    border-radius: 22px;
    background: rgba(255,255,255,.82) !important;
    border: 1px solid rgba(255,255,255,.72);
    box-shadow: 0 20px 50px rgba(15,23,42,.20), 0 0 0 1px rgba(15,23,42,.04);
    backdrop-filter: blur(28px) saturate(170%);
    -webkit-backdrop-filter: blur(28px) saturate(170%);
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container form.cart .quantity {
    flex-basis: 84px;
    min-width: 84px;
  }

  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container form.cart .single_add_to_cart_button,
  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container form.cart .ux-buy-now-button,
  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container .td_check_out_now {
    flex: 1 1 120px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dgpu-product-ui .dgpu-side-panel,
  body.dgpu-product-ui .info-product form.cart .single_add_to_cart_button::after,
  body.dgpu-product-ui .info-product form.cart .ux-buy-now-button::after,
  body.dgpu-product-ui .info-product .td_check_out_now::after {
    animation: none !important;
  }
}

/* ==========================================================
   DG Product UI Pro v1.3.0 – Mobile-first compact app layout
   ========================================================== */

body.dgpu-product-ui {
  --dgpu-ios-bg: #f4f5f7;
  --dgpu-ios-card: rgba(255,255,255,.90);
  --dgpu-ios-line: rgba(18,22,33,.075);
  --dgpu-ios-shadow: 0 8px 26px rgba(28,32,44,.075);
  --dgpu-ios-red: #d91f2a;
  --dgpu-ios-blue: #0a84ff;
}

body.dgpu-product-ui .dgpu-title-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 7px;
}

body.dgpu-product-ui .dgpu-title-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .04em;
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 4px 13px rgba(28,32,44,.08);
}
body.dgpu-product-ui .dgpu-hot-badge {
  color: #fff;
  background: linear-gradient(120deg,#ff2d55,#ff3b30,#ff9f0a);
}
body.dgpu-product-ui .dgpu-new-badge {
  color: #fff;
  background: linear-gradient(120deg,#0a84ff,#5e5ce6,#bf5af2);
}
body.dgpu-product-ui .dgpu-badge-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 3px rgba(255,255,255,.18);
}

body.dgpu-product-ui .info-product .entry-title.dgpu-gradient-title {
  color: transparent !important;
  background-image: linear-gradient(100deg,#17181b 0%,#d91f2a 18%,#ff7a00 36%,#8b5cf6 54%,#0a84ff 72%,#17181b 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: dgpu-title-gradient 7s linear infinite;
}

@keyframes dgpu-title-gradient {
  0% { background-position: 0% 50%; }
  100% { background-position: 260% 50%; }
}

@media (prefers-reduced-motion: reduce) {
  body.dgpu-product-ui .info-product .entry-title.dgpu-gradient-title {
    animation: none !important;
    background-position: 45% 50%;
  }
}

/* Mobile: full-width, compact, grouped information instead of long single column */
@media (max-width: 549px) {
  body.dgpu-product-ui.dgpu-mobile-app-layout {
    background:
      radial-gradient(circle at 12% 0%, rgba(255,59,48,.065), transparent 28%),
      radial-gradient(circle at 92% 18%, rgba(10,132,255,.055), transparent 24%),
      var(--dgpu-ios-bg);
    overflow-x: hidden;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout #main,
  body.dgpu-product-ui.dgpu-mobile-app-layout .shop-container,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-page,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-page > .section,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-page > .section > .section-content,
  body.dgpu-product-ui.dgpu-mobile-app-layout .product-main,
  body.dgpu-product-ui.dgpu-mobile-app-layout .product-footer {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .row-thong-tin-san-pham.chiakhoi {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 4px 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product,
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-mo-ta-san-pham.chiakhoi,
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-sidebar-sanpham,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-reviews,
  body.dgpu-product-ui.dgpu-mobile-app-layout .related.related-products-wrapper.product-section {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham > .col-inner,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product > .col-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport {
    border-radius: 16px !important;
    box-shadow: var(--dgpu-ios-shadow);
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .vertical-thumbnails,
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .product-thumbnails {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    overflow-x: auto !important;
    scrollbar-width: none;
    padding: 6px 2px 2px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .vertical-thumbnails::-webkit-scrollbar,
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .product-thumbnails::-webkit-scrollbar { display:none; }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .vertical-thumbnails a,
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .product-thumbnails a {
    flex: 0 0 54px !important;
    width: 54px !important;
    min-width: 54px !important;
    border-radius: 12px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product > .col-inner {
    margin-top: 6px;
    padding: 10px !important;
    background: var(--dgpu-ios-card);
    border: 1px solid var(--dgpu-ios-line);
    border-radius: 18px;
    box-shadow: var(--dgpu-ios-shadow);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-title-container {
    margin: 0 0 8px !important;
    padding: 0 0 8px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .entry-title {
    font-size: 18px !important;
    line-height: 1.25 !important;
    letter-spacing: -.025em !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-title-badges {
    margin-bottom: 5px;
    gap: 5px;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-title-badge {
    min-height: 20px;
    padding: 3px 7px;
    font-size: 9px;
  }

  /* Remove duplicated mobile summary from older version to save vertical space */
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-mobile-summary {
    display: none !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .thongtinban-masp {
    gap: 5px 8px !important;
    margin-bottom: 7px !important;
    font-size: 11px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container {
    grid-template-columns: 1fr auto !important;
    gap: 5px 8px !important;
    margin: 6px 0 8px !important;
    padding: 9px 10px !important;
    border-radius: 14px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container ins bdi,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container .price > .amount bdi {
    font-size: 26px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container del,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container del bdi {
    font-size: 12px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container .tietkiem,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container .stock {
    font-size: 10px !important;
  }

  /* Compact 2x2 certification dashboard */
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-strip {
    margin: 7px 0 8px !important;
    padding: 9px !important;
    border-radius: 15px !important;
    background: rgba(248,249,251,.92) !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-strip-head {
    grid-template-columns: 1fr;
    margin-bottom: 7px;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-strip-head strong {
    font-size: 12px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-strip-head span {
    display: none !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 6px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-card {
    min-width: 0;
    gap: 6px !important;
    padding: 7px !important;
    border-radius: 12px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-icon {
    width: 27px !important;
    height: 27px !important;
    border-radius: 9px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-icon svg {
    width: 15px !important;
    height: 15px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-card strong {
    font-size: 10.5px !important;
    line-height: 1.22 !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-card span:last-child {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 9px !important;
    line-height: 1.28 !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .dgpq-cta-wrap {
    margin-bottom: 7px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .dgpq-open {
    min-height: 44px !important;
    border-radius: 13px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .add-to-cart-container {
    padding: 7px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart {
    display: grid !important;
    grid-template-columns: 84px 1fr 1fr !important;
    gap: 6px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart .quantity {
    min-width: 0 !important;
    width: 84px !important;
    height: 42px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart .single_add_to_cart_button,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart .ux-buy-now-button,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .td_check_out_now {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 7px !important;
    font-size: 10.5px !important;
    border-radius: 11px !important;
  }

  /* Quick specs: all specs visible in a compact two-column grid */
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-quick-specs {
    margin: 7px 0 0 !important;
    padding: 10px !important;
    border-radius: 16px !important;
    box-shadow: var(--dgpu-ios-shadow) !important;
    background: var(--dgpu-ios-card) !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-head {
    margin-bottom: 7px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-head strong {
    font-size: 13px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-head > div > span {
    font-size: 9.5px !important;
    line-height: 1.3 !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-icon {
    width: 30px !important;
    height: 30px !important;
    border-radius: 10px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-icon svg {
    width: 16px !important;
    height: 16px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-list,
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-grid-mobile {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 6px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-list li {
    display: block !important;
    min-width: 0;
    padding: 7px 8px !important;
    border-radius: 11px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-label {
    display: block;
    margin-bottom: 2px;
    font-size: 9.5px !important;
    line-height: 1.25 !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-value {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 10px !important;
    line-height: 1.28 !important;
  }

  /* Full-width description/specification tabs, no clipping */
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-mo-ta-san-pham.chiakhoi {
    margin-top: 8px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-mo-ta-san-pham.chiakhoi .tabbed-content,
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-sidebar-sanpham .chiakhoi .col-inner,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-reviews,
  body.dgpu-product-ui.dgpu-mobile-app-layout .related.related-products-wrapper.product-section {
    padding: 10px !important;
    border-radius: 16px !important;
    background: var(--dgpu-ios-card) !important;
    box-shadow: var(--dgpu-ios-shadow) !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .product.type-product .product-tabs {
    position: sticky !important;
    top: 0 !important;
    z-index: 20;
    gap: 4px !important;
    margin: 0 0 8px !important;
    padding: 4px !important;
    border-radius: 12px !important;
    background: rgba(239,240,243,.92) !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .product.type-product .product-tabs > li > a {
    min-height: 32px !important;
    padding: 6px 9px !important;
    font-size: 10.5px !important;
    line-height: 20px !important;
    border-radius: 9px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .woocommerce-Tabs-panel,
  body.dgpu-product-ui.dgpu-mobile-app-layout .woocommerce-Tabs-panel > *,
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-mobile-full-panel {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .woocommerce-Tabs-panel {
    font-size: 13px !important;
    line-height: 1.58 !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .woocommerce-Tabs-panel h2 {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .woocommerce-Tabs-panel h3 {
    font-size: 16px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout table.shop_attributes th,
  body.dgpu-product-ui.dgpu-mobile-app-layout table.shop_attributes td {
    padding: 7px 8px !important;
    font-size: 10.5px !important;
  }

  /* Related products: 2-column grid rather than one long vertical chain */
  body.dgpu-product-ui.dgpu-mobile-app-layout .related-products-wrapper .row,
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-mobile-related-grid .row {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 7px !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .related-products-wrapper .product-small {
    width: 100% !important;
    max-width: none !important;
    flex-basis: auto !important;
    padding: 0 !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .related-products-wrapper .product-small > .col-inner {
    border-radius: 13px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .related-products-wrapper .box-text {
    padding: 7px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .related-products-wrapper .product-title,
  body.dgpu-product-ui.dgpu-mobile-app-layout .related-products-wrapper .product-title a {
    font-size: 10.5px !important;
    line-height: 1.3 !important;
  }

  /* Keep floating contact widgets from covering compact product UI */
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-side-panels-wrap {
    display: none !important;
  }
}

@media (max-width: 380px) {
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .entry-title {
    font-size: 17px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-card strong,
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-value {
    font-size: 9.5px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart {
    grid-template-columns: 76px 1fr 1fr !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart .quantity {
    width: 76px !important;
  }
}

/* ==========================================================
   DG Product UI Pro v1.3.1 – visibility + true compact mobile
   ========================================================== */

/* Safe title fallback: title is always readable, even when text clipping is unsupported. */
body.dgpu-product-ui .info-product .entry-title.dgpu-gradient-title {
  color: #17181b !important;
  -webkit-text-fill-color: #17181b !important;
  background: none !important;
  animation: none !important;
  position: relative;
  isolation: isolate;
}

/* Apply animated gradient only on browsers that explicitly support clipped text. */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  body.dgpu-product-ui .info-product .entry-title.dgpu-gradient-title {
    color: #17181b !important;
    background-image: linear-gradient(100deg,#17181b 0%,#d91f2a 18%,#ff7a00 36%,#8b5cf6 54%,#0a84ff 72%,#17181b 100%) !important;
    background-size: 260% 100% !important;
    background-repeat: repeat-x !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    animation: dgpu-title-gradient-safe 6.4s linear infinite !important;
  }
}

@keyframes dgpu-title-gradient-safe {
  0% { background-position: 0% 50%; }
  100% { background-position: 260% 50%; }
}

@media (prefers-reduced-motion: reduce) {
  body.dgpu-product-ui .info-product .entry-title.dgpu-gradient-title {
    animation: none !important;
    color: #c91f28 !important;
    -webkit-text-fill-color: #c91f28 !important;
    background: none !important;
  }
}

@media (max-width: 549px) {
  /* True edge-to-edge content. Preserve only a tiny safety gutter. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product,
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-mo-ta-san-pham.chiakhoi,
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-sidebar-sanpham,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-reviews,
  body.dgpu-product-ui.dgpu-mobile-app-layout .related.related-products-wrapper.product-section {
    padding-left: 3px !important;
    padding-right: 3px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product > .col-inner {
    margin-top: 4px !important;
    padding: 8px !important;
    border-radius: 15px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-title-container {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 5px !important;
    padding: 0 0 6px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .entry-title,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .entry-title.dgpu-gradient-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 1.25em !important;
    font-size: 16px !important;
    line-height: 1.24 !important;
    font-weight: 800 !important;
    letter-spacing: -.02em !important;
    margin: 0 !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-title-badges {
    margin: 0 0 4px !important;
    gap: 4px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-title-badge {
    min-height: 17px !important;
    padding: 2px 6px !important;
    font-size: 8px !important;
    box-shadow: none !important;
  }

  /* Certificates become a one-row horizontal carousel instead of a 2x2 vertical block. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-strip {
    margin: 5px 0 6px !important;
    padding: 7px !important;
    border-radius: 13px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-strip-head {
    margin-bottom: 5px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-strip-head strong {
    font-size: 11px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-grid,
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-mobile-cert-carousel .dgpu-cert-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-bottom: 1px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-grid::-webkit-scrollbar { display:none; }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-card {
    flex: 0 0 68% !important;
    scroll-snap-align: start;
    min-height: 50px !important;
    padding: 6px 7px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-card span:last-child {
    -webkit-line-clamp: 1 !important;
    font-size: 8.5px !important;
  }

  /* Price + action block tighter and visually grouped. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container {
    margin: 4px 0 5px !important;
    padding: 7px 8px !important;
    border-radius: 12px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container ins bdi,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .product-price-container .price > .amount bdi {
    font-size: 23px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .thongtinban-masp {
    margin-bottom: 4px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .dgpq-open {
    min-height: 38px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .add-to-cart-container {
    padding: 5px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart {
    grid-template-columns: 70px 1fr 1fr !important;
    gap: 4px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart .quantity {
    width: 70px !important;
    height: 38px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart .single_add_to_cart_button,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product form.cart .ux-buy-now-button,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .td_check_out_now {
    min-height: 38px !important;
    height: 38px !important;
    font-size: 9.5px !important;
  }

  /* Quick specs live after purchase and scroll horizontally: full data, minimal vertical height. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-quick-specs,
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-mobile-spec-carousel {
    margin: 6px 0 0 !important;
    padding: 7px !important;
    border-radius: 13px !important;
    box-shadow: none !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-head {
    margin-bottom: 5px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-head strong {
    font-size: 11.5px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-head > div > span {
    display: none !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-card-icon {
    width: 25px !important;
    height: 25px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-list,
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-grid-mobile {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-bottom: 1px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-list::-webkit-scrollbar { display:none; }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-list li {
    flex: 0 0 46% !important;
    scroll-snap-align: start;
    min-height: 54px !important;
    padding: 6px 7px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-label {
    font-size: 9px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-value {
    -webkit-line-clamp: 2 !important;
    font-size: 9.5px !important;
  }

  /* Description/spec tabs remain full information, but top spacing is reduced. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-mo-ta-san-pham.chiakhoi {
    margin-top: 5px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-mo-ta-san-pham.chiakhoi .tabbed-content,
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-sidebar-sanpham .chiakhoi .col-inner,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-reviews,
  body.dgpu-product-ui.dgpu-mobile-app-layout .related.related-products-wrapper.product-section {
    padding: 8px !important;
    border-radius: 13px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .woocommerce-Tabs-panel {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
  }
}

@media (max-width: 380px) {
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .entry-title,
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product .entry-title.dgpu-gradient-title {
    font-size: 15px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-card { flex-basis: 76% !important; }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-spec-list li { flex-basis: 52% !important; }
}

/* ================================================================
   DGPU v1.3.2 — MOBILE TRUE FULLSCREEN + TITLE-FIRST PRODUCT FLOW
   Order: product name -> gallery -> commercial info -> trust -> content.
   ================================================================ */
@media (max-width: 549px) {
  html { overflow-x: hidden; }
  body.dgpu-product-ui.dgpu-mobile-app-layout {
    overflow-x: clip !important;
    background: #fff !important;
  }

  /* True viewport-width product canvas: do not compress into a narrow card. */
  body.dgpu-product-ui.dgpu-mobile-app-layout #main,
  body.dgpu-product-ui.dgpu-mobile-app-layout .shop-container,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-page,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-page > .section,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-page > .section > .section-content,
  body.dgpu-product-ui.dgpu-mobile-app-layout .product-main,
  body.dgpu-product-ui.dgpu-mobile-app-layout .product-footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .row-thong-tin-san-pham.chiakhoi {
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  /* The actual WooCommerce title node is moved here by JS. */
  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell {
    order: -30 !important;
    display: block !important;
    width: 100% !important;
    padding: 12px 14px 8px !important;
    margin: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(18,18,18,.055);
  }

  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell .product-title-container {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell .dgpu-title-badges {
    margin: 0 0 6px !important;
    gap: 5px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell .dgpu-title-badge {
    padding: 3px 7px !important;
    border-radius: 999px !important;
    font-size: 8.5px !important;
    line-height: 1.1 !important;
  }

  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell .entry-title,
  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell .entry-title.dgpu-gradient-title {
    display: inline-block !important;
    margin: 0 !important;
    max-width: 100% !important;
    font-size: 19px !important;
    line-height: 1.24 !important;
    letter-spacing: -.025em !important;
    font-weight: 780 !important;
    color: #17181b !important;
  }

  /* Gallery follows title and stays visually compact, while its section remains full-width. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham {
    order: -20 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    padding: 6px 0 4px !important;
    background: #fff !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham > .col-inner {
    width: 100% !important;
    padding: 0 !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .woocommerce-product-gallery {
    width: 86vw !important;
    max-width: 360px !important;
    margin: 0 auto !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport,
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .woocommerce-product-gallery__wrapper {
    border-radius: 14px !important;
    box-shadow: none !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: auto !important;
    max-height: 295px !important;
    object-fit: contain !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .vertical-thumbnails,
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .product-thumbnails {
    width: 88vw !important;
    max-width: 370px !important;
    margin: 7px auto 0 !important;
    padding: 0 2px !important;
    gap: 6px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .vertical-thumbnails a,
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .product-thumbnails a {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    border-radius: 10px !important;
  }

  /* Commercial product details fill screen immediately after image. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product {
    order: -10 !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .info-product > .col-inner {
    width: 100% !important;
    padding: 8px 12px 12px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  /* The moved title should not leave duplicated spacing inside info. */
  body.dgpu-product-ui.dgpu-mobile-title-first .info-product .product-title-container {
    display: none !important;
  }

  /* Hide quick specs by default on mobile. User can re-enable in plugin settings. */
  body.dgpu-product-ui.dgpu-mobile-quick-specs-off .dgpu-quick-specs {
    display: none !important;
  }

  body.dgpu-product-ui.dgpu-mobile-quick-specs-on .dgpu-quick-specs {
    display: block !important;
    margin: 8px 0 0 !important;
    padding: 9px !important;
  }

  /* Compact trust strip so it no longer becomes another long vertical section. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-strip {
    margin: 8px 0 0 !important;
    padding: 8px !important;
    border-radius: 14px !important;
    box-shadow: none !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 6px !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    padding-bottom: 1px;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-grid::-webkit-scrollbar { display:none; }
  body.dgpu-product-ui.dgpu-mobile-app-layout .dgpu-cert-card {
    flex: 0 0 178px !important;
    min-width: 178px !important;
    scroll-snap-align: start;
    padding: 7px !important;
  }

  /* The content panels below also use the full viewport canvas. */
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-mo-ta-san-pham.chiakhoi,
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-sidebar-sanpham,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-reviews,
  body.dgpu-product-ui.dgpu-mobile-app-layout .related.related-products-wrapper.product-section {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  body.dgpu-product-ui.dgpu-mobile-app-layout .col-mo-ta-san-pham.chiakhoi .tabbed-content,
  body.dgpu-product-ui.dgpu-mobile-app-layout .col-sidebar-sanpham .chiakhoi .col-inner,
  body.dgpu-product-ui.dgpu-mobile-app-layout .custom-product-reviews,
  body.dgpu-product-ui.dgpu-mobile-app-layout .related.related-products-wrapper.product-section {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media (max-width: 380px) {
  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell .entry-title,
  body.dgpu-product-ui.dgpu-mobile-title-first .dgpu-mobile-title-shell .entry-title.dgpu-gradient-title {
    font-size: 18px !important;
  }
  body.dgpu-product-ui.dgpu-mobile-app-layout .album-hinhanh-sanpham .woocommerce-product-gallery {
    width: 82vw !important;
  }
}


/* ========================================================================
   DG Product UI Pro 1.3.3 — Mobile Compact Product Cockpit
   Goal: title first, compact gallery + decision info in first ~2 scrolls.
   ======================================================================== */
@media (max-width: 549px) {
  body.dgpu-product-ui.dgpu-compact-mobile {
    overflow-x: hidden;
  }

  /* True edge-to-edge product canvas on mobile */
  body.dgpu-product-ui.dgpu-compact-mobile .shop-container,
  body.dgpu-product-ui.dgpu-compact-mobile .custom-product-page,
  body.dgpu-product-ui.dgpu-compact-mobile .custom-product-page > .section,
  body.dgpu-product-ui.dgpu-compact-mobile .custom-product-page > .section > .section-content,
  body.dgpu-product-ui.dgpu-compact-mobile .product-main,
  body.dgpu-product-ui.dgpu-compact-mobile .product-footer {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Main product becomes a compact two-column cockpit */
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi {
    display: grid !important;
    grid-template-columns: minmax(118px, 40%) minmax(0, 60%);
    column-gap: 8px;
    row-gap: 6px;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 6px 10px !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.96) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    align-items: start;
  }

  /* Title must always be first and span the full viewport */
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    margin: 0 !important;
    padding: 6px 5px 7px !important;
    border: 0 !important;
    background: transparent !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell .product-title-container {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-title-badges {
    margin: 0 0 4px !important;
    gap: 4px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-title-badge {
    min-height: 17px !important;
    padding: 2px 6px !important;
    font-size: 8.5px !important;
    line-height: 1 !important;
    border-radius: 999px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .entry-title,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell .entry-title {
    display: block !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.23 !important;
    letter-spacing: -.025em !important;
    font-weight: 780 !important;
    color: #15171a;
    -webkit-text-fill-color: #15171a;
    max-width: 100%;
  }
  @supports ((-webkit-background-clip: text) or (background-clip: text)) {
    body.dgpu-product-ui.dgpu-compact-mobile.dgpu-motion .dgpu-mobile-title-shell .entry-title {
      background: linear-gradient(90deg,#15171a 0%,#c91f28 25%,#ff6a00 48%,#7c3aed 72%,#15171a 100%);
      background-size: 260% 100%;
      -webkit-background-clip: text;
      background-clip: text;
      color: #15171a;
      -webkit-text-fill-color: transparent;
      animation: dgpuTitleFlowCompact 7s linear infinite;
    }
  }
  @keyframes dgpuTitleFlowCompact {
    0% { background-position: 0% 50%; }
    100% { background-position: 260% 50%; }
  }

  /* Smaller product image, enough visual context without dominating screen */
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham {
    grid-column: 1;
    grid-row: 2;
    width: 100% !important;
    max-width: none !important;
    flex-basis: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham > .col-inner {
    padding: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery {
    width: 100% !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport {
    min-height: 0 !important;
    height: min(42vw, 178px) !important;
    border-radius: 13px !important;
    box-shadow: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image a {
    height: min(42vw, 178px) !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  /* Thumbnails reduced to a tiny contextual strip */
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .vertical-thumbnails,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .product-thumbnails {
    display: flex !important;
    gap: 4px !important;
    margin-top: 5px !important;
    overflow: hidden !important;
    max-height: 38px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .vertical-thumbnails > *,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .product-thumbnails > * {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .vertical-thumbnails > *:nth-child(n+4),
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .product-thumbnails > *:nth-child(n+4) {
    display: none !important;
  }

  /* Decision information sits next to image */
  body.dgpu-product-ui.dgpu-compact-mobile .info-product {
    grid-column: 2;
    grid-row: 2;
    width: 100% !important;
    max-width: none !important;
    flex-basis: auto !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product > .col-inner {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 0 !important;
    min-width: 0;
  }

  /* Hide duplicate title container left behind after title relocation */
  body.dgpu-product-ui.dgpu-compact-mobile .info-product > .col-inner > .product-title-container:empty {
    display: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-summary {
    display: none !important;
  }

  body.dgpu-product-ui.dgpu-compact-mobile .info-product .thongtinban-masp {
    order: 1;
    gap: 3px 5px !important;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .star-rating {
    font-size: 11px !important;
  }

  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container {
    order: 2;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    margin: 0 !important;
    padding: 7px 8px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    background: linear-gradient(145deg,#fff,#fff6f6) !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container ins bdi,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container .price > .amount bdi {
    font-size: 21px !important;
    line-height: 1.05 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container del,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container del bdi {
    font-size: 10px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container .tietkiem {
    font-size: 9px !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container .stock {
    width: max-content;
    max-width: 100%;
    padding: 3px 6px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  /* Quote + purchase controls compact enough to remain within first two scrolls */
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .dgpq-cta-wrap {
    order: 3;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .dgpq-open {
    min-height: 34px !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    box-shadow: none !important;
  }

  body.dgpu-product-ui.dgpu-compact-mobile .info-product .add-to-cart-container {
    order: 4;
    margin: 0 !important;
    padding: 5px !important;
    border-radius: 11px !important;
    box-shadow: none !important;
    background: rgba(255,255,255,.96) !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product form.cart {
    display: grid !important;
    grid-template-columns: 54px minmax(0,1fr) !important;
    gap: 4px !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product form.cart .quantity {
    min-width: 0 !important;
    width: 54px !important;
    height: 34px !important;
    border-radius: 9px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product form.cart .quantity input,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product form.cart .quantity .button {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 3px !important;
    font-size: 10px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product form.cart .single_add_to_cart_button,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product form.cart .ux-buy-now-button,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .td_check_out_now {
    min-height: 34px !important;
    height: 34px !important;
    padding: 5px 7px !important;
    margin: 0 !important;
    border-radius: 9px !important;
    font-size: 9.5px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product form.cart .ux-buy-now-button,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .td_check_out_now {
    grid-column: 1 / -1;
  }

  /* Certificates become a full-width ultra-compact confidence strip */
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-cert-strip {
    grid-column: 1 / -1;
    width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 7px 6px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-strip-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin: 0 0 5px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-strip-head strong {
    font-size: 10.5px !important;
    white-space: nowrap;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-strip-head span {
    display: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-cert-grid {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 4px !important;
    overflow: visible !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-cert-card {
    min-width: 0 !important;
    padding: 5px 3px !important;
    gap: 3px !important;
    align-items: center !important;
    justify-content: flex-start;
    flex-direction: column;
    text-align: center;
    border-radius: 9px !important;
    box-shadow: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-cert-icon {
    width: 22px !important;
    height: 22px !important;
    border-radius: 7px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-cert-icon svg {
    width: 12px !important;
    height: 12px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-cert-card strong {
    margin: 0 !important;
    font-size: 8.3px !important;
    line-height: 1.15 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-cert-card span:last-child {
    display: none !important;
  }

  /* Quick specs are deliberately removed from the purchase cockpit on mobile */
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-quick-specs {
    display: none !important;
  }

  /* Reduce secondary meta/noise near purchase zone */
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product_meta,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .social-icons,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .is-divider,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-short-description:empty {
    display: none !important;
  }

  /* Long-form information begins after the compact cockpit, full width */
  body.dgpu-product-ui.dgpu-compact-mobile .col-mo-ta-san-pham.chiakhoi,
  body.dgpu-product-ui.dgpu-compact-mobile .col-sidebar-sanpham,
  body.dgpu-product-ui.dgpu-compact-mobile .custom-product-reviews,
  body.dgpu-product-ui.dgpu-compact-mobile .related.related-products-wrapper.product-section {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Sticky cart stays compact if it activates */
  body.dgpu-product-ui.dgpu-mobile-sticky-cart.dgpu-cart-sticky-active .info-product .add-to-cart-container {
    left: 4px !important;
    right: 4px !important;
    bottom: calc(4px + env(safe-area-inset-bottom,0px)) !important;
    padding: 4px !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 380px) {
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi {
    grid-template-columns: minmax(108px, 38%) minmax(0, 62%);
    column-gap: 6px;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image a {
    height: min(40vw, 150px) !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell .entry-title {
    font-size: 15px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container ins bdi,
  body.dgpu-product-ui.dgpu-compact-mobile .info-product .product-price-container .price > .amount bdi {
    font-size: 19px !important;
  }
}

/* ========================================================================
   DG Product UI Pro 1.3.4 — Mobile decision-first layout fixes
   Root fix: distinguish commercial info block from separate promotion block.
   ======================================================================== */
@media (max-width: 549px) {
  body.dgpu-product-ui.dgpu-compact-mobile {
    overflow-x: hidden !important;
    background: #fff !important;
  }

  /* Only the real buy-info column participates in the compact cockpit. */
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi {
    display: grid !important;
    grid-template-columns: minmax(104px, 34%) minmax(0, 66%) !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 6px !important;
    row-gap: 5px !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding: 6px 5px 9px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    padding: 4px 6px 6px !important;
    margin: 0 !important;
    min-height: 0 !important;
  }

  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell .entry-title,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell .entry-title.dgpu-gradient-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    min-height: 1.2em !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
  }

  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-title-badges {
    margin: 0 0 3px !important;
  }

  /* Main gallery: intentionally small, with real product thumbnails visible. */
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery {
    width: 100% !important;
    max-width: 138px !important;
    margin: 0 auto !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image a {
    height: clamp(118px, 31vw, 142px) !important;
    min-height: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .vertical-thumbnails,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .product-thumbnails {
    display: block !important;
    width: 100% !important;
    max-width: 138px !important;
    height: 31px !important;
    max-height: 31px !important;
    margin: 4px auto 0 !important;
    overflow: hidden !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .product-thumbnails .flickity-viewport {
    height: 31px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .product-thumbnails .flickity-slider > .col {
    width: 31px !important;
    max-width: 31px !important;
    height: 31px !important;
    padding: 0 2px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .product-thumbnails .flickity-slider > .col img {
    width: 27px !important;
    height: 27px !important;
    object-fit: contain !important;
    border-radius: 7px !important;
  }

  /* Only commercial info is allowed in the right column. */
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info {
    grid-column: 2 !important;
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info > .col-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Remove template spacer noise that was creating huge blank areas. */
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info > .col-inner > p:empty,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info > .col-inner > .gap-element,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .dgpu-mobile-secondary-note,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product_meta,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .spct-cam-ket,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-title-container:empty {
    display: none !important;
  }

  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .thongtinban-masp {
    order: 1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 2px 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 9px !important;
    line-height: 1.05 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .star-rating {
    font-size: 10px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .sold-quantity-daban,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info strong.rating {
    font-size: 9px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
  }

  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container {
    order: 2 !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 2px 5px !important;
    margin: 0 !important;
    padding: 6px 7px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container .price-wrapper {
    min-width: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container ins bdi,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container .price > .amount bdi {
    font-size: 19px !important;
    line-height: 1 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container del,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container del bdi {
    font-size: 9px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container .tietkiem {
    margin: 1px 0 0 !important;
    font-size: 8.5px !important;
    line-height: 1.05 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container .stock {
    align-self: center !important;
    padding: 3px 5px !important;
    font-size: 8px !important;
    line-height: 1 !important;
  }

  /* Hide quote CTA on mobile by default; desktop is unchanged. */
  body.dgpu-product-ui.dgpu-mobile-hide-quote .dgpu-main-info .dgpq-cta-wrap {
    display: none !important;
  }

  /* Purchase area is the primary CTA and must remain visible in the first viewport area. */
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .dgpu-purchase-row {
    order: 3 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .dgpu-purchase-row > .col,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .dgpu-purchase-row > .col > .col-inner {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .add-to-cart-container {
    display: block !important;
    margin: 0 !important;
    padding: 4px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .add-to-cart-container > .stock {
    display: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info form.cart {
    display: grid !important;
    grid-template-columns: 46px minmax(0,1fr) !important;
    gap: 3px !important;
    width: 100% !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info form.cart .quantity {
    width: 46px !important;
    min-width: 46px !important;
    height: 31px !important;
    margin: 0 !important;
    border-radius: 8px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info form.cart .quantity input,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info form.cart .quantity .button {
    min-height: 29px !important;
    height: 29px !important;
    padding: 0 2px !important;
    font-size: 9px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info form.cart .single_add_to_cart_button,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info form.cart .ux-buy-now-button,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .td_check_out_now {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 31px !important;
    height: 31px !important;
    margin: 0 !important;
    padding: 4px 5px !important;
    border-radius: 8px !important;
    font-size: 8.8px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info form.cart .ux-buy-now-button,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .td_check_out_now {
    grid-column: 1 / -1 !important;
  }

  /* Trust moves out of the narrow info column and becomes a single compact full-width row. */
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi > .dgpu-cert-strip {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    margin: 1px 0 0 !important;
    padding: 5px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi > .dgpu-cert-strip .dgpu-strip-head {
    display: none !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi > .dgpu-cert-strip .dgpu-cert-grid {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    gap: 3px !important;
    overflow: visible !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi > .dgpu-cert-strip .dgpu-cert-card {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 4px 2px !important;
    gap: 2px !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    border-radius: 8px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi > .dgpu-cert-strip .dgpu-cert-icon {
    width: 19px !important;
    height: 19px !important;
    border-radius: 6px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi > .dgpu-cert-strip .dgpu-cert-icon svg {
    width: 10px !important;
    height: 10px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi > .dgpu-cert-strip .dgpu-cert-card strong {
    font-size: 7.5px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi > .dgpu-cert-strip .dgpu-cert-card span:last-child {
    display: none !important;
  }

  /* The second .info-product in this Flatsome layout is promotion copy, not buy info. */
  body.dgpu-product-ui.dgpu-mobile-hide-promo .row-thong-tin-san-pham.chiakhoi > .dgpu-promo-info,
  body.dgpu-product-ui.dgpu-mobile-hide-promo .dgpu-promo-info {
    display: none !important;
  }

  /* Quick specs are intentionally omitted from the mobile decision zone. */
  body.dgpu-product-ui.dgpu-mobile-quick-specs-off .dgpu-quick-specs {
    display: none !important;
  }

  /* Full-width lower content without the old centered card feeling. */
  body.dgpu-product-ui.dgpu-compact-mobile .col-mo-ta-san-pham.chiakhoi,
  body.dgpu-product-ui.dgpu-compact-mobile .col-sidebar-sanpham,
  body.dgpu-product-ui.dgpu-compact-mobile .custom-product-reviews,
  body.dgpu-product-ui.dgpu-compact-mobile .related.related-products-wrapper.product-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
}

@media (max-width: 380px) {
  body.dgpu-product-ui.dgpu-compact-mobile .row-thong-tin-san-pham.chiakhoi {
    grid-template-columns: minmax(96px, 32%) minmax(0,68%) !important;
    column-gap: 5px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell .entry-title,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-mobile-title-shell .entry-title.dgpu-gradient-title {
    font-size: 15px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery {
    max-width: 124px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery .flickity-viewport,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image,
  body.dgpu-product-ui.dgpu-compact-mobile .album-hinhanh-sanpham .woocommerce-product-gallery__image a {
    height: 118px !important;
  }
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container ins bdi,
  body.dgpu-product-ui.dgpu-compact-mobile .dgpu-main-info .product-price-container .price > .amount bdi {
    font-size: 17px !important;
  }
}


/* DG Product UI Pro v1.3.5 - guaranteed mobile title visibility */
.dgpu-mobile-title-text{display:none}
@media (max-width:549px){
  body.dgpu-product-ui.dgpu-mobile-title-safe .dgpu-mobile-title-shell,
  body.dgpu-product-ui.dgpu-mobile-title-safe .product-title-container{
    min-height:0!important;height:auto!important;overflow:visible!important
  }
  body.dgpu-product-ui.dgpu-mobile-title-safe .product-title-container>h1.entry-title{
    position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
    overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important
  }
  body.dgpu-product-ui .dgpu-mobile-title-text{
    display:block!important;width:100%!important;margin:4px 0 3px!important;padding:0!important;
    color:#17181b!important;-webkit-text-fill-color:#17181b!important;font-size:17px!important;line-height:1.24!important;
    font-weight:800!important;letter-spacing:-.018em!important;overflow-wrap:anywhere!important
  }
  @supports ((-webkit-background-clip:text) or (background-clip:text)){
    body.dgpu-product-ui.dgpu-motion .dgpu-mobile-title-text{
      background-image:linear-gradient(100deg,#17181b 0%,#c91f28 22%,#ff6b00 44%,#7c3aed 66%,#0a84ff 82%,#17181b 100%)!important;
      background-size:260% 100%!important;background-repeat:repeat-x!important;-webkit-background-clip:text!important;background-clip:text!important;
      -webkit-text-fill-color:transparent!important;animation:dgpu-mobile-title-gradient-135 7s linear infinite!important
    }
  }
  @keyframes dgpu-mobile-title-gradient-135{from{background-position:0% 50%}to{background-position:260% 50%}}
}
@media (max-width:380px){body.dgpu-product-ui .dgpu-mobile-title-text{font-size:15.5px!important}}
@media (prefers-reduced-motion:reduce){
 body.dgpu-product-ui .dgpu-mobile-title-text{animation:none!important;background:none!important;color:#c91f28!important;-webkit-text-fill-color:#c91f28!important}
}


/* DG Product UI Pro v1.3.6 - hover-reveal edge side panels
   Desktop: panels hug viewport edges, only a slim curiosity handle remains visible.
   Hover/focus: smoothly slides open. Mobile/tablet: completely hidden. */
body.dgpu-product-ui .dgpu-side-panels-wrap {
  pointer-events: none;
}

@media (min-width: 1024px) {
  body.dgpu-product-ui .dgpu-side-panels-wrap {
    display: block !important;
  }

  body.dgpu-product-ui .dgpu-side-panel {
    --dgpu-edge-peek: 30px;
    --dgpu-edge-gap: 0px;
    position: fixed !important;
    top: clamp(118px, 17vh, 168px) !important;
    width: 220px !important;
    padding: 14px !important;
    margin: 0 !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(20,24,40,.09) !important;
    box-shadow: 0 16px 42px rgba(15,23,42,.13), 0 3px 12px rgba(15,23,42,.07) !important;
    z-index: 999 !important;
    backdrop-filter: blur(14px) saturate(145%);
    -webkit-backdrop-filter: blur(14px) saturate(145%);
    pointer-events: auto;
    cursor: default;
    will-change: transform;
    transition: transform .42s cubic-bezier(.22,1,.36,1), box-shadow .28s ease !important;
  }

  body.dgpu-product-ui .dgpu-side-panel-left {
    left: var(--dgpu-edge-gap) !important;
    right: auto !important;
    border-radius: 0 18px 18px 0 !important;
    transform: translateX(calc(-100% + var(--dgpu-edge-peek))) !important;
    animation: dgpu-edge-nudge-left 2.8s ease-in-out infinite;
  }

  body.dgpu-product-ui .dgpu-side-panel-right {
    right: var(--dgpu-edge-gap) !important;
    left: auto !important;
    border-radius: 18px 0 0 18px !important;
    transform: translateX(calc(100% - var(--dgpu-edge-peek))) !important;
    animation: dgpu-edge-nudge-right 2.8s ease-in-out .45s infinite;
  }

  body.dgpu-product-ui .dgpu-side-panel:hover,
  body.dgpu-product-ui .dgpu-side-panel:focus,
  body.dgpu-product-ui .dgpu-side-panel:focus-within {
    transform: translateX(0) !important;
    animation: none !important;
    outline: none;
    box-shadow: 0 20px 52px rgba(15,23,42,.18), 0 4px 16px rgba(15,23,42,.09) !important;
  }

  /* Slim visible handle that invites hover without covering product content. */
  body.dgpu-product-ui .dgpu-side-panel::before {
    content: attr(data-edge-label);
    position: absolute;
    top: 50%;
    width: 30px;
    min-height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 10px 5px;
    background: linear-gradient(180deg, #d71920 0%, #a9151b 100%);
    color: #fff;
    font-size: 10px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    box-shadow: 0 7px 18px rgba(183,24,31,.28);
    transform: translateY(-50%);
    pointer-events: none;
  }

  body.dgpu-product-ui .dgpu-side-panel-left::before {
    right: 0;
    border-radius: 0 11px 11px 0;
  }

  body.dgpu-product-ui .dgpu-side-panel-right::before {
    left: 0;
    border-radius: 11px 0 0 11px;
    writing-mode: vertical-lr;
  }

  /* Tiny glow dot = curiosity cue. */
  body.dgpu-product-ui .dgpu-side-panel::after {
    content: '';
    position: absolute;
    top: calc(50% - 56px);
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 0 0 rgba(255,255,255,.72);
    animation: dgpu-edge-pulse 1.55s ease-out infinite;
    pointer-events: none;
  }

  body.dgpu-product-ui .dgpu-side-panel-left::after { right: 11px; }
  body.dgpu-product-ui .dgpu-side-panel-right::after { left: 11px; }

  body.dgpu-product-ui .dgpu-side-panel:hover::after,
  body.dgpu-product-ui .dgpu-side-panel:focus::after,
  body.dgpu-product-ui .dgpu-side-panel:focus-within::after {
    animation: none;
    opacity: 0;
  }

  @keyframes dgpu-edge-nudge-left {
    0%, 72%, 100% { transform: translateX(calc(-100% + var(--dgpu-edge-peek))); }
    80% { transform: translateX(calc(-100% + var(--dgpu-edge-peek) + 7px)); }
    88% { transform: translateX(calc(-100% + var(--dgpu-edge-peek) + 2px)); }
  }

  @keyframes dgpu-edge-nudge-right {
    0%, 72%, 100% { transform: translateX(calc(100% - var(--dgpu-edge-peek))); }
    80% { transform: translateX(calc(100% - var(--dgpu-edge-peek) - 7px)); }
    88% { transform: translateX(calc(100% - var(--dgpu-edge-peek) - 2px)); }
  }

  @keyframes dgpu-edge-pulse {
    0% { box-shadow: 0 0 0 0 rgba(255,255,255,.72); opacity: 1; }
    75%, 100% { box-shadow: 0 0 0 8px rgba(255,255,255,0); opacity: .7; }
  }
}

/* Requirement: hide both edge panels completely on mobile/tablet. */
@media (max-width: 1023px) {
  body.dgpu-product-ui .dgpu-side-panels-wrap,
  body.dgpu-product-ui .dgpu-side-panel {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dgpu-product-ui .dgpu-side-panel,
  body.dgpu-product-ui .dgpu-side-panel::after {
    animation: none !important;
    transition: none !important;
  }
}
