﻿/* Composition lives in a UX Builder block; product data remains native WooCommerce. */
body.single-product #main .dgp-pdp { color: #202020; background: #fff; }
body.single-product #main .dgp-pdp > .section-content > .row {
  width: 100% !important;
  max-width: var(--dgp-site-max-width, 1400px) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.dgp-pdp-heading .col { padding-bottom: 12px; }
.dgp-pdp .woocommerce-breadcrumb { font-size: 14px; margin-bottom: 12px; text-transform: none; }
.dgp-pdp .product-title { font-size: clamp(30px, 2.65vw, 42px); line-height: 1.14; margin: 0 0 18px; color: #293992; }
.dgp-pdp-overview { align-items: flex-start; }
.dgp-pdp-overview > .dgp-pdp-media,
.dgp-pdp-overview > .dgp-pdp-purchase { align-self: flex-start; }
.dgp-pdp .product-gallery { margin-bottom: 20px; }
.dgp-pdp .woocommerce-product-gallery__image img { width: 100%; object-fit: contain; }
.dgp-pdp .product-gallery-slider .slide img {
  width: 100%;
  aspect-ratio: 1.25 / 1;
  max-height: 760px;
  object-fit: cover;
}
.dgp-pdp .product-gallery-slider { border-radius: 3px; }
/* Make thumbnail, arrow, and variation image changes feel continuous. */
@keyframes dgp-pdp-gallery-slide-forward {
  from { opacity: 0; transform: translate3d(20px, 0, 0) scale(1.012); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes dgp-pdp-gallery-slide-backward {
  from { opacity: 0; transform: translate3d(-20px, 0, 0) scale(1.012); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.dgp-pdp .product-gallery-slider.dgp-gallery-motion-forward .is-selected img {
  animation: dgp-pdp-gallery-slide-forward 180ms ease-out both;
}
.dgp-pdp .product-gallery-slider.dgp-gallery-motion-backward .is-selected img {
  animation: dgp-pdp-gallery-slide-backward 180ms ease-out both;
}
@media (prefers-reduced-motion: reduce) {
  .dgp-pdp .product-gallery-slider .is-selected img { animation: none !important; }
}
/* Hide the sale badge background too, not just its text. */
.dgp-pdp .woocommerce-product-gallery .badge-inner.on-sale,
.dgp-pdp .onsale,
.dgp-pdp .badge-container .onsale,
.dgp-pdp .badge-container > .onsale,
body.single-product .onsale {
  display: none !important;
}
.dgp-pdp .product-thumbnails {
  width: min(78%, 560px);
  margin: 12px auto 0 0;
}
.dgp-pdp .product-thumbnails .col {
  max-width: 112px;
  padding-inline: 5px;
}
.dgp-pdp-purchase > .col-inner { border: 0; padding: 0 0 0 24px; }
.dgp-pdp-promotion {
  display: grid;
  grid-template-columns: minmax(130px, .72fr) 1fr;
  min-height: 108px;
  margin-bottom: 14px;
  overflow: hidden;
  border-radius: 14px;
  background: #fff4ef;
  box-shadow: 0 10px 28px rgba(41, 57, 146, .12);
}
.dgp-pdp-promotion__offer {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #f35a1e;
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}
.dgp-pdp-promotion__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 14px 18px;
}
body.single-product #main .dgp-pdp-promotion__copy h2 {
  margin: 0 0 6px;
  color: #293992;
  font-size: 18px !important;
  line-height: 1.3;
}
.dgp-pdp-promotion__copy p { margin: 0; color: #34312d; font-size: 14px; line-height: 1.55; }
.dgp-pdp .product-price-container { padding: 12px 0 6px; border-top: 1px solid #d8dce8; }
.dgp-pdp .product-price-container .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; }
.dgp-pdp .product-price-container .amount { font-size: 30px; color: #c32a20; }
.dgp-pdp .product-price-container ins .amount { font-size: 32px; }
.dgp-pdp .product-price-container del .amount { font-size: 18px; color: #605c58; }
.dgp-pdp .product-price-container ins { text-decoration: none; }
.dgp-pdp form.cart { margin: 8px 0 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: center; }
.dgp-pdp form.cart .quantity,
.dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
  display: inline-flex;
  flex: 0 0 112px;
  width: 112px;
  height: 44px;
  align-items: stretch;
  margin: 0;
  grid-column: 2;
  justify-self: end;
}
.dgp-pdp .quantity .ux-quantity__button {
  display: inline-flex;
  flex: 0 0 35px;
  width: 35px;
  height: 44px;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid #c8cfdf;
  background: #f7f8fc;
  color: #293992;
  font-size: 16px;
  line-height: 1;
  transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.dgp-pdp .quantity .ux-quantity__button--minus { border-radius: 3px 0 0 3px; }
.dgp-pdp .quantity .ux-quantity__button--plus { border-radius: 0 3px 3px 0; }
.dgp-pdp .quantity .ux-quantity__button:hover {
  border-color: #293992;
  background: #293992;
  color: #fff;
}
.dgp-pdp .quantity .ux-quantity__button:disabled {
  cursor: not-allowed;
  background: #eef0f7;
  color: #737b92;
}
.dgp-pdp .quantity .ux-quantity__button:focus-visible {
  position: relative;
  z-index: 1;
  outline: 2px solid #293992;
  outline-offset: 2px;
}
.dgp-pdp .quantity input[type="number"] {
  flex: 0 0 42px;
  width: 42px !important;
  max-width: 42px !important;
  height: 44px;
  min-height: 44px;
  margin: 0 -1px;
  padding: 0;
  border: 1px solid #c8cfdf !important;
  border-radius: 0 !important;
  color: #202020;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  text-align: center;
}
.dgp-pdp .quantity input[type="number"]:focus-visible {
  position: relative;
  z-index: 1;
  border-color: #293992 !important;
  outline: 2px solid #293992;
  outline-offset: 2px;
}
/* Keep the quantity control available while WooCommerce resolves a variation. */
body.single-product #main .dgp-pdp .variations_form .quantity.hidden {
  display: inline-flex !important;
  visibility: visible !important;
}
/* Flatsome uses a hidden quantity input for some variations; render its value visibly. */
.dgp-pdp .quantity:has(input[type="hidden"]) .ux-quantity__button--minus { order: 1; }
.dgp-pdp .quantity:has(input[type="hidden"])::before {
  content: attr(data-dgp-quantity);
  display: inline-flex;
  order: 2;
  flex: 0 0 42px;
  width: 42px;
  height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0 -1px;
  border: 1px solid #c8cfdf;
  background: #fff;
  color: #202020;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}
.dgp-pdp .quantity:has(input[type="hidden"]) .ux-quantity__button--plus { order: 3; }
.dgp-pdp .single_add_to_cart_button.button {
  background-color: #293992 !important;
  color: #fff !important;
}
.dgp-pdp .single_add_to_cart_button.button.disabled,
.dgp-pdp .single_add_to_cart_button.button[disabled] {
  cursor: not-allowed;
  opacity: 1 !important;
}
.dgp-pdp .single_add_to_cart_button.button:hover,
.dgp-pdp .single_add_to_cart_button.button:focus-visible {
  background-color: #1e2a6e !important;
  color: #fff !important;
}
.dgp-pdp form.cart .single_add_to_cart_button { width: 100%; min-height: 48px; margin: 0; }
.dgp-pdp .dgp-pdp-zalo-button {
  display: inline-flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid #1668e8;
  background: #fff !important;
  color: #1668e8 !important;
  font-weight: 700;
}
.dgp-pdp .dgp-pdp-zalo-button:hover,
.dgp-pdp .dgp-pdp-zalo-button:focus-visible { background: #1668e8 !important; color: #fff !important; }
.dgp-pdp form.variations_form {
  display: block;
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid #d8dce8;
}
.dgp-pdp .variations_form .variations {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: separate;
  border-spacing: 0 10px;
  table-layout: fixed;
}
.dgp-pdp .variations_form .variations th,
.dgp-pdp .variations_form .variations td {
  padding: 0;
  border: 0;
  background: transparent;
  vertical-align: middle;
}
.dgp-pdp .variations_form .variations th.label {
  width: 96px;
  padding-right: 12px;
  text-align: left;
}
.dgp-pdp .variations_form .variations th label {
  display: block;
  margin: 0;
  color: #34312d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.dgp-pdp .variations_form .variations td.value { position: relative; }
.dgp-pdp .variations_form .variations select {
  display: block;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 10px 38px 10px 14px;
  border: 1px solid #c8cfdf;
  border-radius: 3px;
  background-color: #fff;
  color: #34312d;
  font: inherit;
  font-size: 14px;
  line-height: 1.4;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.dgp-pdp .variations_form .variations select:hover { border-color: #293992; }
.dgp-pdp .variations_form .variations select:focus-visible {
  border-color: #293992;
  outline: 2px solid #293992;
  outline-offset: 2px;
}
.dgp-pdp .variations_form .reset_variations {
  position: static;
  inset: auto;
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  margin: 2px 0 0;
  padding: 4px 6px;
  color: #435b75;
  font-size: 13px;
  line-height: 1.3;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dgp-pdp .variations_form .reset_variations:hover { color: #293992; }
.dgp-pdp .single_variation_wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  align-items: center;
  margin-top: 8px;
}
.dgp-pdp .single_variation_wrap .single_variation {
  grid-column: 1;
  margin: 0;
  padding: 8px 0;
  border-block: 1px solid #e3e6ed;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-price .price {
  margin: 0;
  color: #c32a20;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-price .amount,
.dgp-pdp .single_variation_wrap .woocommerce-variation-price bdi,
.dgp-pdp .single_variation_wrap .woocommerce-variation-price ins {
  color: #c32a20;
}
.dgp-pdp-purchase > .col-inner:has(.woocommerce-variation-price .price) > .product-price-container {
  display: none;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-price .price del {
  color: #605c58;
  font-size: 15px;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-price del .amount,
.dgp-pdp .single_variation_wrap .woocommerce-variation-price del bdi {
  color: #605c58;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-availability {
  margin-top: 4px;
  font-size: 13px;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-availability .stock { margin: 0; }
.dgp-pdp-purchase .product-title-container > .is-divider,
.dgp-pdp .single_variation_wrap .woocommerce-variation-availability .stock.in-stock {
  display: none;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart { display: contents; }
.dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  grid-column: 1;
  grid-row: 2;
  width: 100%;
  min-height: 48px;
  margin: 0;
}
.dgp-pdp .single_variation_wrap .single_add_to_cart_button:disabled {
  cursor: not-allowed;
}
.dgp-pdp .single_variation_wrap .dgp-pdp-zalo-button {
  grid-column: 2;
  grid-row: 2;
}
.dgp-pdp .button { min-height: 46px; border-radius: 3px; font-size: 16px; letter-spacing: 0; text-transform: none; }
.dgp-pdp .button:hover { background: #1e2a6e; color: #fff; }
.dgp-pdp-mobile-cart { display: none; }
@media (min-width: 850px) {
  .dgp-pdp-purchase > .col-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 14px;
    align-items: center;
  }
  .dgp-pdp-purchase .product-title,
  .dgp-pdp-purchase .dgp-pdp-promotion,
  .dgp-pdp-purchase form.variations_form {
    grid-column: 1 / -1;
  }
  .dgp-pdp-purchase > .col-inner > .product-title-container {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100%;
    min-width: 0;
  }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-promotion {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .dgp-pdp-purchase > .col-inner > .product-price-container {
    grid-column: 1;
    grid-row: 3;
    align-self: center;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container,
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) {
    display: contents;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) .quantity {
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) .single_add_to_cart_button {
    grid-column: 1;
    grid-row: 4;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) .dgp-pdp-zalo-button {
    grid-column: 2;
    grid-row: 4;
  }
}

/* PDP desktop refresh: open purchase surface, breadcrumb stock, and red offer banner. */
@media (min-width: 850px) {
  body.single-product .header-nav-main > li > a { color: #293992; }
  .dgp-pdp-heading .col-inner {
    display: flex;
    align-items: center;
    gap: 18px;
  }
  .dgp-pdp-heading .woocommerce-breadcrumb { margin: 0; }
  .dgp-pdp-breadcrumb-stock {
    color: #293992;
    font-size: 14px;
    white-space: nowrap;
  }
  .dgp-pdp-breadcrumb-stock strong { color: #202020; }
  .dgp-pdp .product-title {
    color: #111 !important;
    font-size: 20px !important;
    line-height: 1.35;
  }
  .dgp-pdp-purchase > .col-inner {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .dgp-pdp-promotion {
    min-height: 108px;
    border: 0;
    border-radius: 12px;
    background: linear-gradient(105deg, #b91e24 0%, #df3b30 68%, #f15a38 100%);
    box-shadow: 0 10px 22px rgba(185, 30, 36, .18);
  }
  .dgp-pdp-promotion__offer {
    background: rgba(0, 0, 0, .08);
    color: #fff;
    font-size: 27px;
    font-weight: 800;
    text-transform: uppercase;
  }
  body.single-product #main .dgp-pdp-promotion__copy h2,
  .dgp-pdp-promotion__copy p { color: #fff; }
  .dgp-pdp-promotion__copy p { opacity: .9; }
  .dgp-pdp .variations_form .reset_variations {
    display: inline-flex;
    float: none;
    min-height: 28px;
    margin: 5px 0 0 !important;
    padding: 3px 0;
    color: #293992;
    font-size: 12px;
    line-height: 1.2;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails { position: relative !important; }
  .dgp-pdp .product-gallery-slider .flickity-button { display: none !important; }
  .dgp-pdp .product-thumbnails .dgp-pdp-gallery-nav {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}

/* Browser-compatible desktop gallery geometry. */
@media (min-width: 850px) {
  .dgp-pdp-media > .col-inner {
    grid-template-columns: calc(20% - 8.8px) minmax(0, 1fr) !important;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--dgp-pdp-rail-height, auto) !important;
  }
  .dgp-pdp .product-thumbnails .flickity-viewport,
  .dgp-pdp .product-thumbnails .flickity-slider { width: 100% !important; }
  .dgp-pdp .product-thumbnails .col,
  .dgp-pdp .product-thumbnails > .col {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--dgp-pdp-thumb-size, auto) !important;
    flex-basis: var(--dgp-pdp-thumb-size, auto) !important;
  }
  .dgp-pdp-purchase > .col-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 14px;
    align-items: center;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form { display: contents !important; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .variations {
    grid-column: 1 / -1;
    grid-row: 5;
    margin-top: 8px;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .single_variation_wrap,
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .woocommerce-variation-add-to-cart { display: contents; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .quantity {
    grid-column: 2;
    grid-row: 4;
    justify-self: end;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .single_add_to_cart_button { grid-column: 1; grid-row: 6; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .dgp-pdp-zalo-button { grid-column: 2; grid-row: 6; }
}

/* Final PDP gallery and purchase-panel authority. */
@media (min-width: 850px) {
  .dgp-pdp-media > .col-inner {
    --dgp-pdp-thumb-size: calc(20% - 8.8px);
    grid-template-columns: var(--dgp-pdp-thumb-size) minmax(0, 1fr);
    gap: 14px;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails {
    position: relative !important;
    width: var(--dgp-pdp-thumb-size) !important;
    min-width: var(--dgp-pdp-thumb-size);
    max-width: var(--dgp-pdp-thumb-size);
    height: calc((var(--dgp-pdp-thumb-size) * 4) + 30px) !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  .dgp-pdp .product-thumbnails .flickity-viewport {
    height: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .dgp-pdp .product-thumbnails .flickity-slider {
    position: static !important;
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    width: 100% !important;
    transform: none !important;
  }
  .dgp-pdp .product-thumbnails .col,
  .dgp-pdp .product-thumbnails > .col {
    width: var(--dgp-pdp-thumb-size) !important;
    min-width: var(--dgp-pdp-thumb-size);
    max-width: var(--dgp-pdp-thumb-size);
    height: var(--dgp-pdp-thumb-size);
    flex: 0 0 var(--dgp-pdp-thumb-size);
    margin: 0 !important;
    padding: 0 !important;
  }
  .dgp-pdp .product-thumbnails .col > a,
  .dgp-pdp .product-thumbnails img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1;
    object-fit: cover;
  }
  .dgp-pdp .product-thumbnails .flickity-button,
  .dgp-pdp .product-thumbnails .flickity-prev-next-button {
    display: none !important;
  }
  .dgp-pdp-gallery-nav {
    position: absolute;
    z-index: 4;
    left: 50%;
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
    border: 0;
    border-radius: 50%;
    background: rgba(41, 57, 146, .92);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    box-shadow: 0 3px 10px rgba(23, 32, 82, .2);
  }
  .dgp-pdp-gallery-nav--previous { top: -14px; }
  .dgp-pdp-gallery-nav--next { bottom: -14px; }
  .dgp-pdp-gallery-nav:hover:not(:disabled),
  .dgp-pdp-gallery-nav:focus-visible { background: #1f2b70; color: #fff; }
  .dgp-pdp-gallery-nav:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
  .dgp-pdp-gallery-nav:disabled { cursor: default; opacity: .42; }

  .dgp-pdp-purchase > .col-inner > .product-title-container { grid-row: 1; }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-promotion { grid-row: 2; }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-meta { grid-column: 1 / -1; grid-row: 3; }
  .dgp-pdp-purchase > .col-inner > .product-price-container { grid-column: 1; grid-row: 4; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) .quantity {
    grid-column: 2;
    grid-row: 4;
  }
  .dgp-pdp-purchase > .col-inner > form.variations_form { display: contents !important; }
  .dgp-pdp-purchase > .col-inner > form.variations_form .variations {
    grid-column: 1 / -1;
    grid-row: 5;
    margin-top: 8px;
  }
  .dgp-pdp-purchase > .col-inner > form.variations_form .single_variation_wrap,
  .dgp-pdp-purchase > .col-inner > form.variations_form .woocommerce-variation-add-to-cart { display: contents; }
  .dgp-pdp-purchase > .col-inner > form.variations_form .quantity {
    grid-column: 2;
    grid-row: 4;
    justify-self: end;
  }
  .dgp-pdp-purchase > .col-inner > form.variations_form .single_add_to_cart_button { grid-column: 1; grid-row: 6; }
  .dgp-pdp-purchase > .col-inner > form.variations_form .dgp-pdp-zalo-button { grid-column: 2; grid-row: 6; }
}
.dgp-pdp-specifications { padding: 24px 0 0; background: #fff; }
body.single-product #main .dgp-pdp-specifications h2 {
  font-size: 18px !important;
  line-height: 1.4;
  margin: 0 0 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #d8dce8;
  color: #293992;
}
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
}
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table th,
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td {
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid #d8dce8;
  vertical-align: top;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table th {
  width: 30%;
  color: #202020;
  font-weight: 700;
  text-align: left;
  text-transform: none;
}
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td {
  color: #34312d;
  text-transform: none;
}
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:nth-child(odd) > * { background: #fff; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:nth-child(even) > * { background: #f1f1f1; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:hover > * { background: #e7e7e7; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td a { color: inherit; text-underline-offset: 3px; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td a:hover { color: #293992; text-decoration: underline; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td a:focus-visible { outline: 2px solid #293992; outline-offset: 4px; }
.dgp-pdp-technical-info {
  margin: 18px 0;
  padding: 16px 0;
  border-top: 1px solid #d8dce8;
  border-bottom: 1px solid #d8dce8;
}
body.single-product #main .dgp-pdp-technical-info h2 {
  font-size: 16px !important;
  line-height: 1.4;
  margin: 0 0 10px;
  color: #293992;
}
.dgp-pdp-technical-info-content {
  color: #34312d;
  font-size: 14px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.dgp-pdp-technical-info-content > :last-child { margin-bottom: 0; }
.dgp-pdp-technical-info-content ul,
.dgp-pdp-technical-info-content ol { padding-left: 20px; }
.dgp-pdp-technical-info-content li { margin-bottom: 8px; }
.dgp-pdp-technical-info-content li:last-child { margin-bottom: 0; }
.dgp-pdp-content { padding-top: 24px; }
.dgp-pdp-content .product-section { border-top: 0; padding-top: 0; }
.dgp-pdp-content .product-section > .row { display: block; padding-inline: 0 !important; }
.dgp-pdp-content .product-section > .row > .col { width: 100%; max-width: 100%; flex-basis: 100%; padding-inline: 0; }
.dgp-pdp-content .entry-content { line-height: 1.75; overflow-wrap: anywhere; }
.dgp-pdp-content .entry-content img { max-width: 100%; height: auto; }
body.single-product #main .dgp-pdp-content .product-section > .row > .col:first-child h5.uppercase {
  margin: 0;
  color: var(--pdp-ink, #171b28);
  font-family: "Be Vietnam Pro", Arial, sans-serif;
  font-size: 29px !important;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  text-transform: none;
}
@media (min-width: 901px) {
  /* Keep long product descriptions at a comfortable reading measure. */
  .dgp-pdp-content .entry-content {
    width: 75%;
    max-width: 75%;
  }
}
.dgp-pdp-content #comments ol.commentlist { width: 100%; margin: 0; padding: 0; list-style: none; }
.dgp-pdp-content #comments ol.commentlist > li { padding: 16px 0; border-bottom: 1px solid #d8dce8; }
.dgp-pdp-content #comments .star-rating,
.dgp-pdp-content #comments .star-rating span { color: #293992; }
/* Give the review area the same navy-and-soft-neutral palette as the product page. */
body.single-product #main .dgp-pdp #reviews :is(.woocommerce-Reviews-title, #reply-title, .comment-reply-title) {
  color: #293992;
}
body.single-product #main .dgp-pdp #reviews :is(.star-rating, .star-rating::before, .star-rating span) {
  color: #293992 !important;
}
body.single-product #main .dgp-pdp #reviews .comment-text,
body.single-product #main .dgp-pdp #reviews .comment-text :is(p, time, .meta) {
  color: #414654;
}
body.single-product #main .dgp-pdp #reviews #respond {
  border-color: #d8dce8;
  background: #fff;
}
.dgp-pdp-summary { padding-top: 24px; }
.dgp-pdp-summary .product-short-description { margin-bottom: 0; }
.dgp-pdp-related { border-top: 1px solid #d8dce8; padding-top: 32px; }
.dgp-pdp-related .related-products-wrapper { border-top: 0; }
.dgp-pdp-viewed .dgp-recently-viewed { border-top: 0; }
body.single-product #main .dgp-pdp-viewed .dgp-recently-viewed__header h2 { color: #293992; }
.dgp-pdp :focus-visible { outline: 2px solid #293992; outline-offset: 4px; }
/* Keep WooCommerce's five rating choices as one continuous, selectable star strip. */
body.single-product #main .dgp-pdp :is(.stars a, .star-rating, .star-rating span) { font-family: fl-icons !important; }
.dgp-pdp #respond p.stars { margin: 6px 0 12px; }
.dgp-pdp #respond p.stars > span[role="group"] {
  display: inline-flex;
  flex-wrap: nowrap;
  gap: 4px;
  vertical-align: middle;
}
.dgp-pdp #respond p.stars a,
.dgp-pdp #respond p.stars a + a {
  display: inline-flex;
  width: 40px;
  height: 44px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  font-size: 0;
  line-height: 1;
  color: transparent !important;
  text-decoration: none;
}
.dgp-pdp #respond p.stars a:after,
.dgp-pdp #respond p.stars a.star-2:after,
.dgp-pdp #respond p.stars a.star-3:after,
.dgp-pdp #respond p.stars a.star-4:after,
.dgp-pdp #respond p.stars a.star-5:after {
  margin: 0;
  color: #c8c8c8;
  content: "\e005";
  font-size: 23px;
  line-height: 1;
  transition: color 0.15s ease;
}
.dgp-pdp #respond p.stars:hover a:after,
.dgp-pdp #respond p.stars:has(a.active) a:after { color: #293992; }
.dgp-pdp #respond p.stars a:hover ~ a:after,
.dgp-pdp #respond p.stars:has(a.active) a.active ~ a:after { color: #c8c8c8; }
.dgp-pdp #respond p.stars a:focus-visible {
  border-radius: 3px;
  outline: 2px solid #293992;
  outline-offset: 1px;
}
body.single-product #main .dgp-pdp #respond p.stars:hover a:after,
body.single-product #main .dgp-pdp #respond p.stars:has(a.active) a:after {
  color: #293992;
}
body.single-product #main .dgp-pdp #respond p.stars a:hover ~ a:after,
body.single-product #main .dgp-pdp #respond p.stars:has(a.active) a.active ~ a:after {
  color: #c8c8c8;
}
body.single-product #main .dgp-pdp #respond p.stars a:focus-visible {
  color: transparent !important;
}
/* Product ratings use a warm yellow, including the selected review score. */
body.single-product #main .dgp-pdp #reviews :is(.star-rating, .star-rating::before, .star-rating span),
body.single-product #main .dgp-pdp #respond p.stars:hover a:after,
body.single-product #main .dgp-pdp #respond p.stars:has(a.active) a:after {
  color: #f5bd27 !important;
}
body.single-product #main .dgp-pdp #respond p.stars a:hover ~ a:after,
body.single-product #main .dgp-pdp #respond p.stars:has(a.active) a.active ~ a:after {
  color: #c8c8c8 !important;
}
@media (min-width: 1025px) {
  .dgp-pdp-content #reviews.woocommerce-Reviews {
    display: grid;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 24px;
    margin-inline: 0;
    padding: 0 !important;
  }
  .dgp-pdp-content #reviews > #comments,
  .dgp-pdp-content #reviews > #review_form_wrapper {
    grid-column: 1;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
  }
  .dgp-pdp-content #review_form_wrapper .review-form-inner {
    padding: 24px;
    border: 1px solid #d8dce8;
    background: #fff;
    box-shadow: 0 8px 24px rgba(30, 42, 110, .1);
  }
  .dgp-pdp-content #review_form_wrapper #respond,
  .dgp-pdp-content #review_form_wrapper #commentform {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }
  .dgp-pdp-content #review_form_wrapper #commentform textarea,
  .dgp-pdp-content #review_form_wrapper #commentform input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]) {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .dgp-pdp-content #review_form_wrapper #commentform textarea {
    min-height: 140px;
  }
}
@media (max-width: 1024px) {
  body.single-product #main .dgp-pdp-content > .col {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
    padding-inline: 0;
  }
  .dgp-pdp-content > .col > .col-inner,
  .dgp-pdp-content .product-page-sections,
  .dgp-pdp-content .product-section {
    width: 100%;
    max-width: none;
  }
  .dgp-pdp-content .entry-content {
    color: #34312d;
    font-size: 16px;
    line-height: 1.75;
  }
  .dgp-pdp-content .entry-content :is(table, iframe, video) {
    max-width: 100%;
  }
  .dgp-pdp-content .entry-content table {
    display: block;
    overflow-x: auto;
  }
  .dgp-pdp-content #reviews.woocommerce-Reviews {
    display: flex;
    width: 100%;
    max-width: none;
    flex-wrap: wrap;
    margin-inline: 0;
    padding: 0 !important;
  }
  .dgp-pdp-content #comments,
  .dgp-pdp-content #review_form_wrapper {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    margin: 0;
    padding: 0 0 24px !important;
  }
  .dgp-pdp-content #review_form_wrapper .review-form-inner {
    padding: 0;
    border: 0;
    background: transparent;
  }
  .dgp-pdp-content #commentform label {
    color: #34312d;
    font-size: 15px;
    line-height: 1.5;
  }
  .dgp-pdp-content #respond,
  .dgp-pdp-content #commentform {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }
  .dgp-pdp-content #commentform textarea,
  .dgp-pdp-content #commentform input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]) {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .dgp-pdp-content #commentform textarea {
    min-height: 140px;
  }
  .dgp-pdp-content #commentform .form-submit {
    margin-top: 12px;
  }
  .dgp-pdp-content #commentform .form-submit input {
    width: auto;
    min-width: 140px;
    min-height: 44px;
    margin: 0;
    border: 0;
    border-radius: 3px;
    background: #293992;
    color: #fff;
  }
}
@media (max-width: 849px) {
  .dgp-pdp-purchase > .col-inner { padding: 20px; }
  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table th { width: 32%; padding: 12px; }
  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td { padding: 12px; }
  .dgp-pdp .product-price-container .amount { font-size: 28px; }
  .dgp-pdp .product-gallery-slider .slide img { aspect-ratio: 1; max-height: 390px; }
}

/* Keep every product-gallery slide on a square canvas, regardless of the
   source file's original (for example, A4/portrait) dimensions. */
.dgp-pdp .product-gallery-slider .slide {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.dgp-pdp .product-gallery-slider .slide > a,
.dgp-pdp .product-gallery-slider .slide > a > img {
  display: block;
  width: 100%;
  height: 100%;
}
.dgp-pdp .product-gallery-slider .slide > a > img {
  aspect-ratio: 1 / 1;
  max-height: none;
  object-fit: cover;
}

/* 2026 product-detail composition: reference-led, brand-native. */
body.single-product #main .dgp-pdp {
  --pdp-navy: #293992;
  --pdp-navy-dark: #1e2a6e;
  --pdp-red: #c92b24;
  --pdp-ink: #171b28;
  --pdp-muted: #4d5260;
  --pdp-line: #cfd4e2;
  --pdp-soft: #f4f6fb;
  font-family: "Be Vietnam Pro", Arial, sans-serif;
  color: var(--pdp-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.single-product #main .dgp-pdp > .section-content > .row {
  max-width: var(--dgp-site-max-width) !important;
}
.dgp-pdp-heading { border-bottom: 1px solid var(--pdp-line); }
.dgp-pdp-heading .col { padding-bottom: 14px; }
.dgp-pdp .woocommerce-breadcrumb { margin: 0; color: var(--pdp-muted); font-size: 13px; }
.dgp-pdp .woocommerce-breadcrumb a { color: var(--pdp-ink); }
.dgp-pdp-overview { gap: 22px; padding-top: 26px !important; }
.dgp-pdp-overview > .col { padding-inline: 10px; }
.dgp-pdp-media { flex-basis: calc(55% - 11px); max-width: calc(55% - 11px); }
.dgp-pdp-purchase { flex-basis: calc(43% - 11px); max-width: calc(43% - 11px); }
.dgp-pdp-purchase > .col-inner {
  position: sticky;
  top: 24px;
  padding: 2px 0 0 16px;
}
.dgp-pdp .product-title {
  margin: 0 0 10px;
  color: var(--pdp-ink);
  font-family: "Be Vietnam Pro", Arial, sans-serif;
  font-size: clamp(27px, 2.1vw, 36px);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.25;
}
.dgp-pdp-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 0;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--pdp-line);
  color: var(--pdp-muted);
  font-size: 14px;
}
.dgp-pdp-meta span + span { margin-left: 14px; padding-left: 14px; border-left: 1px solid var(--pdp-line); }
.dgp-pdp-meta strong { color: var(--pdp-ink); font-weight: 600; }
.dgp-pdp-meta a,
.dgp-pdp-meta__stock { color: var(--pdp-navy); }
.dgp-pdp-stock-text[data-in-stock="false"] { color: #c32a20; font-weight: 700; }
.dgp-pdp .single_add_to_cart_button.wc-variation-is-unavailable,
.dgp-pdp .single_add_to_cart_button.dgp-variation-out-of-stock,
.dgp-pdp .single_add_to_cart_button:disabled {
  cursor: not-allowed;
  background: #64748b !important;
  color: #fff !important;
}
.dgp-pdp .product-price-container { margin: 0; padding: 0 0 14px; border: 0; }
.dgp-pdp .product-price-container .amount,
.dgp-pdp .product-price-container ins .amount { color: var(--pdp-red); font-size: clamp(29px, 2.3vw, 36px); font-weight: 700; }
.dgp-pdp .product-price-container .price-on-sale { flex-direction: column; align-items: flex-start; gap: 2px; }
.dgp-pdp .product-price-container .price-on-sale ins { order: 1; }
.dgp-pdp .product-price-container .price-on-sale del { order: 2; }
@media (min-width: 850px) {
  body.single-product #main .dgp-pdp .product-price-container .price ins,
  body.single-product #main .dgp-pdp .product-price-container .price ins .amount,
  body.single-product #main .dgp-pdp .product-price-container .price ins bdi,
  body.single-product #main .dgp-pdp .product-price-container .price ins .woocommerce-Price-currencySymbol {

    font-weight: 800 !important;
  }
}
.dgp-pdp-promotion {
  grid-template-columns: 92px 1fr;
  min-height: 76px;
  margin: 0 0 18px;
  border: 1px solid #dce1f3;
  border-radius: 12px;
  background: var(--pdp-soft);
  box-shadow: none;
}
.dgp-pdp-promotion__offer {
  padding: 12px;
  background: var(--pdp-navy);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: none;
}
.dgp-pdp-promotion__copy { padding: 12px 15px; }
body.single-product #main .dgp-pdp-promotion__copy h2 { margin-bottom: 3px; color: var(--pdp-ink); font-size: 15px !important; }
.dgp-pdp-promotion__copy p { color: var(--pdp-muted); font-size: 12px; line-height: 1.45; }
.dgp-pdp .product-gallery { position: relative; margin: 0; }
.dgp-pdp .product-gallery-slider {
  overflow: hidden;
  border: 0;
  border-radius: 3px;
  background: var(--pdp-soft);
}
.dgp-pdp .product-gallery-slider .slide img { aspect-ratio: 1.18 / 1; max-height: 650px; object-fit: cover; }
.dgp-pdp .product-thumbnails { width: 100%; margin: 12px 0 0; }
.dgp-pdp .product-thumbnails .col { max-width: 92px; padding-inline: 5px; }
.dgp-pdp .product-thumbnails img { border: 0 !important; border-radius: 0; }
.dgp-pdp .product-thumbnails .is-nav-selected img { border: 0 !important; box-shadow: none; }

@media (min-width: 850px) {
  .dgp-pdp-media > .col-inner {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
  }
  .dgp-pdp-media > .col-inner > .product-images,
  .dgp-pdp-media > .col-inner > .product-images-container {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(23, 32, 82, .14);
  }
  .dgp-pdp .product-gallery-slider {
    border: 0;
    box-shadow: none;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails {
    grid-column: 1;
    grid-row: 1;
    width: 86px;
    margin: 0;
  }
  .dgp-pdp-media > .col-inner > .dgp-pdp-specifications {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  .dgp-pdp .product-thumbnails .flickity-viewport {
    height: auto !important;
    overflow: visible;
  }
  .dgp-pdp .product-thumbnails .flickity-slider {
    position: static;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transform: none !important;
  }
  .dgp-pdp .product-thumbnails .col {
    position: static !important;
    left: auto !important;
    width: 86px !important;
    max-width: 86px;
    padding: 0;
  }
  .dgp-pdp .product-thumbnails .col > a {
    display: block;
    box-sizing: border-box;
    width: 86px;
    aspect-ratio: 1;
    overflow: hidden;
    border: 1px solid #d5d9e4;
    background: #fff;
    box-shadow: none;
    transition: border-color .18s ease;
  }
  .dgp-pdp .product-thumbnails .is-nav-selected > a {
    border: 2px solid var(--pdp-navy);
  }
  .dgp-pdp .product-thumbnails .flickity-button,
  .dgp-pdp .product-thumbnails .flickity-prev-next-button { display: none; }
  .dgp-pdp .product-thumbnails img {
    width: 86px;
    height: 86px;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 0;
    box-shadow: none;
  }
  .dgp-pdp-purchase > .col-inner {
    display: block;
    padding: 26px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(30, 42, 110, .11);
  }
}

.dgp-pdp .product-gallery-slider .slide img {
  width: 100%;
  aspect-ratio: 1;
  max-height: none;
  object-fit: cover;
}
.dgp-pdp .single_variation_wrap .woocommerce-variation-price { display: none !important; }
.dgp-pdp-purchase > .col-inner:has(.woocommerce-variation-price .price) > .product-price-container { display: block; }
.dgp-pdp .single_variation_wrap .single_variation {
  grid-column: 1 / -1;
  min-height: 0;
  padding: 0;
  border: 0;
}
.dgp-pdp .single_add_to_cart_button,
.dgp-pdp-mobile-cart__button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.dgp-pdp .single_add_to_cart_button::before,
.dgp-pdp-mobile-cart__button::before {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  background-color: currentColor;
  content: "";
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M3 4h2l2.2 10.1a2 2 0 0 0 2 1.6h7.9a2 2 0 0 0 2-1.6L21 7H7M10 20a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm9 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M3 4h2l2.2 10.1a2 2 0 0 0 2 1.6h7.9a2 2 0 0 0 2-1.6L21 7H7M10 20a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm9 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.dgp-pdp .dgp-pdp-zalo-button { gap: 9px; }
.dgp-pdp .dgp-pdp-zalo-button__icon {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  object-fit: contain;
}
.dgp-pdp form.cart { gap: 10px; margin: 0 0 14px; }
.dgp-pdp form.cart .single_add_to_cart_button { min-height: 54px; font-weight: 700; }
.dgp-pdp .dgp-pdp-zalo-button { min-height: 54px; border-color: var(--pdp-navy); color: var(--pdp-navy) !important; }
.dgp-pdp .dgp-pdp-zalo-button:hover,
.dgp-pdp .dgp-pdp-zalo-button:focus-visible { background: var(--pdp-navy) !important; color: #fff !important; }
.dgp-pdp .variations_form .variations { margin-bottom: 12px; }
.dgp-pdp .variations_form .variations tr { border-bottom: 0; }
.dgp-pdp .variations_form .variations th.label { width: 25%; color: var(--pdp-ink); font-size: 14px; font-weight: 700; }
.dgp-pdp .variations_form .variations select { min-height: 46px; border-color: #aeb6cb; border-radius: 8px; background-color: #fff; color: var(--pdp-ink); font-size: 14px; font-weight: 500; }
.dgp-pdp-assurances {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 0;
  padding: 17px 0 0;
  border-top: 1px solid var(--pdp-line);
  list-style: none;
}
.dgp-pdp-assurances li { display: flex; min-width: 0; align-items: center; gap: 8px; color: #343846; font-size: 13px; font-weight: 500; line-height: 1.4; }
.dgp-pdp-assurances svg { width: 25px; height: 25px; flex: 0 0 25px; fill: none; stroke: var(--pdp-navy); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.dgp-pdp-technical-info { margin-top: 18px; padding: 17px 0 0; border-top: 1px solid var(--pdp-line); }
body.single-product #main .dgp-pdp-technical-info h2 { margin-bottom: 10px; color: var(--pdp-ink); font-size: 17px !important; }
.dgp-pdp-technical-info-content { color: #414654; font-size: 15px; line-height: 1.75; }
.dgp-pdp-specifications { margin-top: 30px; padding-top: 0; }
body.single-product #main .dgp-pdp-specifications h2,
.dgp-pdp-content .product-section-title,
.dgp-pdp-related h3,
.dgp-pdp-viewed h2 { color: var(--pdp-ink); font-family: "Be Vietnam Pro", Arial, sans-serif; letter-spacing: -.015em; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table { overflow: hidden; border: 1px solid var(--pdp-line); border-radius: 10px; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table th { width: 29%; color: var(--pdp-navy); font-weight: 700; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td { color: #303542; font-size: 14px; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:nth-child(odd) > * { background: #fff !important; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:nth-child(even) > * { background: #f1f2f5 !important; }
body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:hover > * { background: #e5e8f0 !important; }
.dgp-pdp-content { margin-top: 36px; padding-top: 32px; border-top: 0; }
.dgp-pdp-related,
.dgp-pdp-viewed { margin-top: 36px; padding-top: 32px; border-top: 1px solid var(--pdp-line); }
.dgp-pdp :focus-visible { outline: 3px solid rgba(41, 57, 146, .35); outline-offset: 3px; }

@media (max-width: 849px) {
  body.single-product #main .dgp-pdp { padding-top: 14px !important; }
  .dgp-pdp-overview { gap: 0; padding-top: 16px !important; }
  .dgp-pdp-media,
  .dgp-pdp-purchase { max-width: 100%; flex-basis: 100%; }
  .dgp-pdp-purchase > .col-inner { position: static; padding: 18px 0 0; }
  .dgp-pdp .product-gallery-slider .slide img { aspect-ratio: 1 / 1; }
  .dgp-pdp .product-title { font-size: 25px; }
  .dgp-pdp-meta { margin-bottom: 12px; }
  .dgp-pdp-promotion { grid-template-columns: 84px 1fr; }
  .dgp-pdp-assurances { grid-template-columns: 1fr; gap: 10px; }
  .dgp-pdp-assurances li { font-size: 13px; }
  .dgp-pdp-specifications { margin-top: 24px; }
  .dgp-pdp-content,
  .dgp-pdp-related,
  .dgp-pdp-viewed { margin-top: 24px; padding-top: 24px; }
}
@media (max-width: 549px) {
  .dgp-pdp .product-thumbnails .col {
    width: 66px !important;
    min-width: 66px !important;
    max-width: 66px !important;
    height: 66px !important;
    flex: 0 0 66px !important;
  }
  .dgp-pdp .product-thumbnails .flickity-slider {
    gap: 8px !important;
  }
  .dgp-pdp-purchase > .col-inner { padding: 18px; }
  .dgp-pdp-promotion { grid-template-columns: 1fr; }
  .dgp-pdp-promotion__offer { min-height: 84px; }
  .dgp-pdp-promotion__copy { padding: 16px; }
  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table th { width: 38%; padding: 10px; font-size: 14px; }
  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td { padding: 10px; font-size: 14px; }
  .dgp-pdp .variations_form .variations { border-spacing: 0 12px; }
  .dgp-pdp .variations_form .variations tbody,
  .dgp-pdp .variations_form .variations tr { display: block; width: 100%; }
  .dgp-pdp .variations_form .variations tr + tr { margin-top: 12px; }
  .dgp-pdp .variations_form .variations th.label {
    display: block;
    width: 100%;
    padding: 0 0 6px;
  }
  .dgp-pdp .variations_form .variations td.value { display: block; width: 100%; }
  .dgp-pdp form.cart,
  .dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart { gap: 10px; }
}
@media (max-width: 849px) {
  body.single-product { overflow-x: hidden; }
  body.single-product #main .dgp-pdp {
    padding-bottom: calc(92px + env(safe-area-inset-bottom)) !important;
  }
  .dgp-pdp-heading .col { padding-bottom: 14px; }
  .dgp-pdp-heading .col-inner { max-width: calc(100vw - 60px); }
  .dgp-pdp .woocommerce-breadcrumb {
    margin-bottom: 8px;
    font-size: 12px;
    line-height: 1.45;
  }
  .dgp-pdp .product-title {
    max-width: 100%;
    margin-bottom: 8px;
    font-size: clamp(22px, 6vw, 28px);
    line-height: 1.25;
    overflow-wrap: anywhere;
    white-space: normal !important;
    word-break: break-word;
  }
  .dgp-pdp-overview {
    display: flex;
    flex-direction: column;
  }
  .dgp-pdp-overview > .dgp-pdp-media,
  .dgp-pdp-overview > .dgp-pdp-purchase,
  .dgp-pdp-media > .col-inner,
  .dgp-pdp-purchase > .col-inner {
    display: contents;
  }
  .dgp-pdp-media .product-images {
    order: 1;
    width: 100%;
    margin: 0 0 12px;
  }
  .dgp-pdp-media .product-thumbnails {
    order: 2;
    width: min(100%, 560px);
    margin: 0 0 16px;
  }
  .dgp-pdp-purchase .product-price-container {
    order: 4;
    width: 100%;
    margin: 0;
    padding: 12px 0;
    border-top: 1px solid #d8dce8;
  }
  .dgp-pdp-purchase .product-price-container .price { gap: 6px 10px; }
  .dgp-pdp-purchase .product-price-container .amount { font-size: clamp(24px, 6vw, 30px); }
  .dgp-pdp-purchase .product-price-container ins .amount { font-size: clamp(26px, 6vw, 32px); }
  .dgp-pdp-purchase .dgp-pdp-promotion {
    order: 3;
    width: 100%;
    margin: 0 0 14px;
  }
  .dgp-pdp-purchase .dgp-pdp-intro {
    order: 5;
    width: 100%;
    margin: 12px 0 8px;
  }
  .dgp-pdp-purchase .add-to-cart-container { display: contents; }
  .dgp-pdp-purchase form.cart {
    order: 6;
    width: 100%;
    margin: 8px 0 16px;
  }
  body.dgp-pdp-has-mobile-cart .dgp-pdp-purchase form.cart :is(.single_add_to_cart_button, .dgp-pdp-zalo-button) {
    display: none !important;
  }
  .dgp-pdp-mobile-cart {
    position: fixed;
    z-index: 1002;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px;
    height: calc(78px + env(safe-area-inset-bottom));
    box-sizing: border-box;
    align-items: center;
    padding: 10px max(14px, env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
    border-top: 1px solid #d8dce8;
    background: #fff;
    box-shadow: 0 -6px 18px rgb(32 42 83 / 8%);
  }
  .dgp-pdp-mobile-cart__button {
    width: 100%;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 52px;
    box-sizing: border-box;
    margin: 0;
    padding-inline: 8px;
    border: 0;
    background: #293992 !important;
    color: #fff !important;
    box-shadow: 0 3px 12px rgb(30 42 110 / 20%);
  }
  .dgp-pdp-mobile-cart__zalo {
    display: inline-flex;
    width: 100%;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 52px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding-inline: 8px;
    border: 1px solid #1668e8;
    background: #fff !important;
    color: #1668e8 !important;
  }
  .dgp-pdp-mobile-cart__zalo:hover,
  .dgp-pdp-mobile-cart__zalo:focus-visible { background: #1668e8 !important; color: #fff !important; }
  .dgp-pdp-mobile-cart__button:hover { background: #1e2a6e !important; color: #fff !important; }
  .dgp-pdp-mobile-cart__button:focus-visible { outline: 2px solid #293992; outline-offset: 2px; }
  .dgp-pdp-mobile-cart__button:disabled {
    cursor: not-allowed;
    opacity: .55;
  }
  .dgp-pdp-purchase .dgp-pdp-technical-info {
    order: 5;
    width: 100%;
    margin: 8px 0 16px;
  }
  .dgp-pdp-summary { padding-top: 16px; }
  .dgp-pdp-media .dgp-pdp-specifications {
    order: 7;
    width: 100%;
    padding-top: 16px;
  }
  .dgp-pdp-content,
  .dgp-pdp-related,
  .dgp-pdp-viewed { scroll-margin-top: 16px; }
}

/* Final narrow-screen authority for the 2026 composition. */
@media (max-width: 849px) {
  body.single-product #main .dgp-pdp { padding-top: 14px !important; }
  .dgp-pdp-overview { gap: 0; padding-top: 16px !important; }
  .dgp-pdp-overview > .dgp-pdp-media,
  .dgp-pdp-overview > .dgp-pdp-purchase { max-width: 100%; flex-basis: 100%; }
  .dgp-pdp-purchase > .col-inner { position: static; padding: 18px 0 0; }
  .dgp-pdp .product-title { font-size: 25px; }
  .dgp-pdp-promotion { grid-template-columns: 84px 1fr; }
  .dgp-pdp-promotion__offer { min-height: 76px; }
  .dgp-pdp-assurances { grid-template-columns: 1fr; gap: 10px; }
  .dgp-pdp-assurances li { font-size: 13px; }

  /* Match the homepage's two-column mobile card width without touching tablet. */
  body.single-product #main .related-products-wrapper {
    width: 100%;
    margin-inline: 0;
  }
  body.single-product #main .related-products-wrapper > .products.row {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-product #main .dgp-pdp-related .related-products-wrapper > .row > .dgp-product-card {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding-inline: 0 !important;
  }
}

@media (max-width: 767px) {
  body.single-product #main .dgp-pdp-content .product-section > .row > .col:first-child h5.uppercase {
    font-size: 16px !important;
    line-height: 1.3;
  }
  body.single-product #main .dgp-pdp-related > .col {
    padding-bottom: 0 !important;
  }
  body.single-product #main .dgp-pdp-viewed {
    margin-top: 12px !important;
    padding-top: 12px !important;
  }
  body.single-product #main .dgp-pdp-viewed .dgp-recently-viewed {
    margin-top: 0 !important;
    padding: 16px 0 36px !important;
    box-sizing: border-box;
  }
  body.single-product #main .dgp-pdp-viewed .dgp-recently-viewed__header {
    margin-inline: -22px;
  }
  body.single-product #main .dgp-pdp-viewed .dgp-recently-viewed__grid {
    width: calc(100% + 44px);
    max-width: none;
    margin-inline: -22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  body.single-product #main .dgp-pdp-viewed .dgp-product-card-component {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    padding-bottom: 20px;
  }
  body.single-product #main .dgp-pdp-viewed .dgp-product-card-component .dgp-product-card {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0 !important;
  }
}

/* Keep gallery controls and purchase actions in distinct, predictable rows. */
.dgp-pdp-meta {
  display: block;
}
.dgp-pdp-meta > span {
  display: block;
  margin: 0;
}
.dgp-pdp-meta > span + span {
  margin: 5px 0 0;
  padding: 0;
  border: 0;
}

.dgp-pdp form.cart:not(.variations_form) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
}
.dgp-pdp form.cart:not(.variations_form) .quantity {
  grid-column: 1 / -1;
  grid-row: 1;
  justify-self: start;
}
.dgp-pdp form.cart:not(.variations_form) .single_add_to_cart_button,
.dgp-pdp form.cart:not(.variations_form) .dgp-pdp-zalo-button {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  grid-row: 2 !important;
  margin: 0;
}
.dgp-pdp form.cart:not(.variations_form) .single_add_to_cart_button {
  grid-column: 1 !important;
}
.dgp-pdp form.cart:not(.variations_form) .dgp-pdp-zalo-button {
  grid-column: 2 !important;
}

.dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .dgp-pdp-zalo-button {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  min-height: 54px;
  margin: 0;
}

@media (min-width: 850px) {
  .dgp-pdp-media > .col-inner {
    grid-template-columns: 82px minmax(0, 1fr);
    grid-template-rows: auto auto;
    gap: 12px 14px;
  }
  .dgp-pdp-media > .col-inner > .product-images,
  .dgp-pdp-media > .col-inner > .product-images-container {
    grid-column: 2;
    grid-row: 1;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails {
    position: static !important;
    grid-column: 1;
    grid-row: 1;
    width: 82px;
    margin: 0;
  }
  .dgp-pdp .product-thumbnails .flickity-viewport {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .dgp-pdp .product-thumbnails .flickity-slider {
    position: static;
    display: flex;
    width: 100% !important;
    flex-direction: column;
    gap: 8px;
    transform: none !important;
  }
  .dgp-pdp .product-thumbnails .col {
    position: static !important;
    left: auto !important;
    width: 82px !important;
    max-width: 82px;
    flex: 0 0 82px;
    padding: 0;
  }
  .dgp-pdp .product-thumbnails .col > a,
  .dgp-pdp .product-thumbnails img {
    display: block;
    width: 82px;
    height: 82px;
    aspect-ratio: 1;
    object-fit: cover;
  }
}

@media (max-width: 849px) {
  .dgp-pdp-overview {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .dgp-pdp-overview > .dgp-pdp-media {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .dgp-pdp-overview > .dgp-pdp-purchase {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
  .dgp-pdp-media > .col-inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px;
    align-items: stretch;
    width: 100%;
  }
  .dgp-pdp-media > .col-inner > .product-images,
  .dgp-pdp-media > .col-inner > .product-images-container {
    order: 1;
    width: 100%;
    min-width: 0;
    margin: 0;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails {
    order: 2;
    display: block !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .dgp-pdp .product-thumbnails .flickity-viewport {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(41, 57, 146, 0.25) transparent;
    padding: 6px 2px 10px;
  }
  .dgp-pdp .product-thumbnails .flickity-viewport::-webkit-scrollbar {
    height: 4px;
  }
  .dgp-pdp .product-thumbnails .flickity-viewport::-webkit-scrollbar-thumb {
    background: rgba(41, 57, 146, 0.25);
    border-radius: 4px;
  }
  .dgp-pdp .product-thumbnails .flickity-slider {
    position: static !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: max-content !important;
    max-width: none !important;
    transform: none !important;
  }
  .dgp-pdp .product-thumbnails .col {
    position: static !important;
    left: auto !important;
    top: auto !important;
    box-sizing: border-box;
    width: 80px !important;
    min-width: 80px !important;
    max-width: 80px !important;
    height: 80px !important;
    flex: 0 0 80px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer;
  }
  .dgp-pdp .product-thumbnails .col > a {
    display: block;
    box-sizing: border-box;
    width: 100% !important;
    height: 100% !important;
    border: 1.5px solid #d5d9e4;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
    transition: border-color .18s ease, box-shadow .18s ease;
  }
  .dgp-pdp .product-thumbnails .col img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
  .dgp-pdp .product-thumbnails .col.is-nav-selected > a,
  .dgp-pdp .product-thumbnails .col:hover > a {
    border-color: #293992;
    box-shadow: 0 0 0 1px #293992;
  }
  .dgp-pdp .product-thumbnails .dgp-pdp-gallery-nav,
  .dgp-pdp .product-thumbnails .flickity-button,
  .dgp-pdp .product-thumbnails .flickity-prev-next-button {
    display: none !important;
  }

  /* Redesigned Purchase Column on Mobile */
  .dgp-pdp-purchase > .col-inner {
    display: flex !important;
    flex-direction: column !important;
    padding: 16px 0 0 !important;
    width: 100% !important;
    border: 0 !important;
  }

  .dgp-pdp-purchase > .col-inner > .product-title-container,
  .dgp-pdp .product-title {
    order: 1 !important;
    margin: 8px 0 10px !important;
    font-size: 21px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    line-height: 1.35 !important;
  }

  /* Mobile Warranty / Promotion Card - Fix broken grid */
  .dgp-pdp-promotion,
  .dgp-pdp-promotion--warranty {
    order: 2 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: auto !important;
    margin: 18px 0 16px !important;
    padding: 18px 58px 14px 16px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: linear-gradient(105deg, #bf1126 0%, #dd2731 65%, #cf1830 100%) !important;
    box-shadow: 0 4px 14px rgba(185, 30, 36, 0.2) !important;
    clip-path: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__ribbon,
  .dgp-pdp-promotion .dgp-pdp-promotion__ribbon {
    position: absolute !important;
    top: -10px !important;
    left: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px 10px !important;
    border-radius: 3px !important;
    background: #ffd643 !important;
    color: #171717 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) !important;
    z-index: 2 !important;
    transform: none !important;
  }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__offer,
  .dgp-pdp-promotion .dgp-pdp-promotion__offer {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 0 !important;
    background: transparent !important;
    text-align: left !important;
    width: 100% !important;
  }

  body.single-product #main .dgp-pdp-promotion--warranty .dgp-pdp-promotion__offer h2,
  body.single-product #main .dgp-pdp-promotion .dgp-pdp-promotion__offer h2 {
    margin: 0 0 3px !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.01em !important;
    text-align: left !important;
  }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__offer p,
  .dgp-pdp-promotion .dgp-pdp-promotion__offer p {
    margin: 0 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo,
  .dgp-pdp-promotion .dgp-pdp-promotion__zalo {
    position: absolute !important;
    top: 50% !important;
    right: 12px !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    display: inline-flex !important;
    width: 40px !important;
    height: 32px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 5px !important;
    background: #2b58dc !important;
    color: transparent !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
    z-index: 2 !important;
  }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo::after,
  .dgp-pdp-promotion .dgp-pdp-promotion__zalo::after {
    content: "Zalo" !important;
    display: inline-flex !important;
    width: 26px !important;
    height: 26px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: #2b58dc !important;
    font-size: 10px !important;
    font-weight: 700 !important;
  }

  .dgp-pdp-purchase > .col-inner > .product-price-container {
    order: 3 !important;
    padding: 10px 0 !important;
    margin: 0 0 10px !important;
    border-top: 1px solid #edf0f5 !important;
    border-bottom: 1px solid #edf0f5 !important;
  }

  .dgp-pdp-purchase > .col-inner > .product-price-container .amount {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: #c92b24 !important;
  }

  .dgp-pdp-purchase > .col-inner > .add-to-cart-container,
  .dgp-pdp-purchase > .col-inner > form.variations_form {
    order: 4 !important;
    width: 100% !important;
    margin: 10px 0 14px !important;
  }

  .dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 10px 0 !important;
  }

  .dgp-pdp-purchase > .col-inner > .dgp-pdp-assurances {
    order: 5 !important;
    margin: 14px 0 !important;
    padding: 12px 0 !important;
    border-top: 1px solid #edf0f5 !important;
    border-bottom: 1px solid #edf0f5 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .dgp-pdp-purchase > .col-inner > .dgp-pdp-technical-info {
    order: 6 !important;
    margin: 10px 0 !important;
  }

  /* Mobile Specifications Table - Placed at the bottom under purchase controls */
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-specifications,
  .dgp-pdp .dgp-pdp-specifications {
    order: 7 !important;
    width: 100% !important;
    margin-top: 26px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e2e6ef !important;
    box-sizing: border-box !important;
  }

  body.single-product #main .dgp-pdp-specifications h2 {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1e2a6e !important;
    margin: 0 0 12px !important;
    letter-spacing: -0.01em !important;
  }

  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e0e4ed !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }

  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table th,
  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td {
    padding: 10px 14px !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    border: 0 !important;
    border-bottom: 1px solid #e8ebf2 !important;
    vertical-align: middle !important;
  }

  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:last-child th,
  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:last-child td {
    border-bottom: 0 !important;
  }

  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table th {
    width: 32% !important;
    color: #1e2a6e !important;
    font-weight: 700 !important;
    background: #f4f6fb !important;
  }

  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table td {
    color: #333333 !important;
    background: #ffffff !important;
  }

  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:nth-child(even) th {
    background: #edf1fa !important;
  }

  body.single-product #main .dgp-pdp .dgp-pdp-specifications-table tr:nth-child(even) td {
    background: #f9fafd !important;
  }
  .dgp-pdp form.cart:not(.variations_form) .quantity {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  .dgp-pdp form.cart:not(.variations_form) .single_add_to_cart_button,
  .dgp-pdp form.cart:not(.variations_form) .dgp-pdp-zalo-button {
    grid-row: 2;
  }
  .dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .dgp-pdp-zalo-button {
    min-height: 48px;
  }
  .dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    grid-column: 1;
    grid-row: 2;
  }
  .dgp-pdp .single_variation_wrap .woocommerce-variation-add-to-cart .dgp-pdp-zalo-button {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (min-width: 850px) {
  .dgp-pdp-media {
    flex-basis: calc(58.333% - 11px);
    max-width: calc(58.333% - 11px);
  }
  .dgp-pdp-purchase {
    flex-basis: calc(41.667% - 11px);
    max-width: calc(41.667% - 11px);
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start;
    align-self: start;
    box-sizing: border-box;
    width: 82px !important;
    min-width: 82px;
    max-width: 82px;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails > .col {
    position: static !important;
    box-sizing: border-box;
    width: 82px !important;
    min-width: 82px;
    max-width: 82px;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 82px;
  }
}

/* Authoritative desktop finish: this block is deliberately last. */
@media (min-width: 850px) {
  .dgp-pdp-media > .col-inner {
    --dgp-pdp-thumb-size: calc(20% - 8.8px);
    grid-template-columns: var(--dgp-pdp-thumb-size) minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails {
    position: relative !important;
    width: var(--dgp-pdp-thumb-size) !important;
    min-width: var(--dgp-pdp-thumb-size) !important;
    max-width: var(--dgp-pdp-thumb-size) !important;
    height: calc((var(--dgp-pdp-thumb-size) * 4) + 30px) !important;
    margin: 0 !important;
    overflow: visible !important;
  }
  .dgp-pdp .product-thumbnails .flickity-viewport {
    height: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .dgp-pdp .product-thumbnails .flickity-slider {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    transform: none !important;
  }
  .dgp-pdp .product-thumbnails .col,
  .dgp-pdp .product-thumbnails > .col {
    width: var(--dgp-pdp-thumb-size) !important;
    min-width: var(--dgp-pdp-thumb-size) !important;
    max-width: var(--dgp-pdp-thumb-size) !important;
    height: var(--dgp-pdp-thumb-size) !important;
    flex: 0 0 var(--dgp-pdp-thumb-size) !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .dgp-pdp .product-thumbnails .col > a,
  .dgp-pdp .product-thumbnails img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1;
    object-fit: cover;
  }
  .dgp-pdp .product-thumbnails .flickity-button,
  .dgp-pdp .product-thumbnails .flickity-prev-next-button { display: none !important; }
  .dgp-pdp-gallery-nav {
    position: absolute;
    z-index: 4;
    left: 50%;
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    transform: translateX(-50%);
    border: 0;
    border-radius: 50%;
    background: rgba(41, 57, 146, .92);
    color: #fff;
    font-size: 18px;
    line-height: 1;
    box-shadow: 0 3px 10px rgba(23, 32, 82, .2);
  }
  .dgp-pdp-gallery-nav--previous { top: -14px; }
  .dgp-pdp-gallery-nav--next { bottom: -14px; }
  .dgp-pdp-gallery-nav:hover:not(:disabled),
  .dgp-pdp-gallery-nav:focus-visible { background: #1f2b70; color: #fff; }
  .dgp-pdp-gallery-nav:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
  .dgp-pdp-gallery-nav:disabled { cursor: default; opacity: .42; }

  .dgp-pdp-purchase > .col-inner > .product-title-container { grid-row: 1; }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-promotion { grid-row: 2; }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-meta { grid-column: 1 / -1; grid-row: 3; }
  .dgp-pdp-purchase > .col-inner > .product-price-container { grid-column: 1; grid-row: 4; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) .quantity { grid-column: 2; grid-row: 4; }
  .dgp-pdp-purchase > .col-inner > form.variations_form { display: contents !important; }
  .dgp-pdp-purchase > .col-inner > form.variations_form .variations { grid-column: 1 / -1; grid-row: 5; margin-top: 8px; }
  .dgp-pdp-purchase > .col-inner > form.variations_form .single_variation_wrap,
  .dgp-pdp-purchase > .col-inner > form.variations_form .woocommerce-variation-add-to-cart { display: contents; }
  .dgp-pdp-purchase > .col-inner > form.variations_form .quantity { grid-column: 2; grid-row: 4; justify-self: end; }
  .dgp-pdp-purchase > .col-inner > form.variations_form .single_add_to_cart_button { grid-column: 1; grid-row: 6; }
  .dgp-pdp-purchase > .col-inner > form.variations_form .dgp-pdp-zalo-button { grid-column: 2; grid-row: 6; }
}

/* Last desktop override: use only CSS expressions supported by the active browser. */
@media (min-width: 850px) {
  .dgp-pdp-media > .col-inner {
    grid-template-columns: calc(20% - 8.8px) minmax(0, 1fr) !important;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
  }
  .dgp-pdp .product-thumbnails .col,
  .dgp-pdp .product-thumbnails > .col {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--dgp-pdp-thumb-size, auto) !important;
    flex-basis: var(--dgp-pdp-thumb-size, auto) !important;
  }
  .dgp-pdp-purchase > .col-inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 14px;
    align-items: center;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form { display: contents !important; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .variations { grid-column: 1 / -1; grid-row: 5; margin-top: 8px; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .single_variation_wrap,
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .woocommerce-variation-add-to-cart { display: contents; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .quantity { grid-column: 2; grid-row: 4; justify-self: end; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .single_add_to_cart_button { grid-column: 1; grid-row: 6; }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .dgp-pdp-zalo-button { grid-column: 2; grid-row: 6; }
}

@media (min-width: 850px) {
  .dgp-pdp-media > .col-inner > .product-thumbnails { height: var(--dgp-pdp-rail-height, auto) !important; }
  .dgp-pdp .product-thumbnails .flickity-viewport,
  .dgp-pdp .product-thumbnails .flickity-slider { width: 100% !important; }
}

/* Desktop purchase grid: lock the price, quantity, actions, and services to full rows. */
@media (min-width: 850px) {
  .dgp-pdp-purchase > .col-inner > .product-price-container {
    display: flex;
    min-height: 54px;
    align-items: center;
    padding: 0 !important;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .quantity {
    align-self: center;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form :is(.single_add_to_cart_button, .dgp-pdp-zalo-button) {
    width: 100% !important;
    height: 54px;
    min-height: 54px;
    align-self: stretch;
    margin: 0;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.variations_form .single_add_to_cart_button {
    padding-inline: 12px;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
  }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-assurances {
    grid-column: 1 / -1;
    grid-row: 7;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
  }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-assurances li {
    justify-content: center;
    text-align: left;
  }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-technical-info {
    grid-column: 1 / -1;
    grid-row: 8;
  }
}

/* Final desktop authority for the open purchase panel and promotion banner. */
@media (min-width: 850px) {
  body.single-product .header-nav-main > li > a { color: #293992; }
  .dgp-pdp-heading .col-inner { display: flex; align-items: center; gap: 18px; }
  .dgp-pdp-heading .woocommerce-breadcrumb { margin: 0; }
  .dgp-pdp-breadcrumb-stock { color: #293992; font-size: 14px; white-space: nowrap; }
  .dgp-pdp-breadcrumb-stock strong { color: #202020; }
  .dgp-pdp .product-title { color: #111 !important; font-size: 20px !important; line-height: 1.35; }
  .dgp-pdp-purchase > .col-inner {
    padding: 0 0 0 24px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .dgp-pdp-promotion {
    grid-template-columns: 124px minmax(0, 1fr) !important;
    min-height: 108px !important;
    margin-bottom: 14px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(105deg, #b91e24 0%, #df3b30 68%, #f15a38 100%) !important;
    box-shadow: 0 10px 22px rgba(185, 30, 36, .18) !important;
  }
  .dgp-pdp-promotion__offer {
    background: rgba(0, 0, 0, .08) !important;
    color: #fff !important;
    font-size: 27px !important;
    font-weight: 800;
    text-transform: uppercase;
  }
  body.single-product #main .dgp-pdp-promotion__copy h2,
  .dgp-pdp-promotion__copy p { color: #fff !important; }
  .dgp-pdp-promotion__copy p { opacity: .9; }
  .dgp-pdp .variations_form .reset_variations {
    display: inline-flex;
    float: none;
    min-height: 28px;
    margin: 5px 0 0 !important;
    padding: 3px 0;
    color: #293992;
    font-size: 12px;
    line-height: 1.2;
  }
  .dgp-pdp-media > .col-inner > .product-thumbnails { position: relative !important; }
  .dgp-pdp .product-gallery-slider .flickity-button { display: none !important; }
  .dgp-pdp .product-thumbnails .dgp-pdp-gallery-nav { left: 50% !important; transform: translateX(-50%) !important; }
}

/* Warranty card reference: ribbon, angled red banner, and Zalo bubble. */
@media (min-width: 850px) {
  .dgp-pdp-promotion--warranty {
    position: relative;
    display: block !important;
    min-height: 104px !important;
    margin: 18px 0 22px !important;
    padding: 27px 90px 18px 54px;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(105deg, #bf1126 0%, #dd2731 62%, #cf1830 100%) !important;
    box-shadow: 0 10px 20px rgba(173, 19, 35, .18) !important;
    clip-path: polygon(0 0, 94% 0, 100% 50%, 94% 100%, 0 100%);
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__ribbon {
    position: absolute;
    z-index: 2;
    top: -12px;
    left: 28px;
    padding: 7px 22px;
    border-radius: 3px;
    background: #ffd643;
    color: #171717;
    font-size: 15px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
    transform: rotate(-1deg);
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__offer {
    display: block;
    padding: 0;
    background: transparent !important;
    text-align: center;
  }
  body.single-product #main .dgp-pdp-promotion--warranty .dgp-pdp-promotion__offer h2 {
    margin: 0 0 4px;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 800;
    line-height: 1.05;
    text-transform: uppercase;
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__offer p {
    margin: 0;
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.3;
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo {
    position: absolute;
    right: 36px;
    bottom: -15px;
    z-index: 2;
    display: inline-flex;
    width: 72px;
    height: 49px;
    align-items: center;
    justify-content: center;
    border-radius: 5px 5px 8px 8px;
    background: #2b58dc;
    color: transparent;
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo::after {
    content: "Zalo";
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    color: #2b58dc;
    font-size: 17px;
    font-weight: 500;
  }
}

/* Fine alignment for breadcrumb status, thumbnail chevrons, and the warranty banner. */
@media (min-width: 850px) {
  .dgp-pdp-breadcrumb-stock { margin-left: auto; }
  .dgp-pdp .product-thumbnails .dgp-pdp-gallery-nav {
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #293992;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
  }
  .dgp-pdp .product-thumbnails .dgp-pdp-gallery-nav:hover:not(:disabled),
  .dgp-pdp .product-thumbnails .dgp-pdp-gallery-nav:focus-visible {
    background: transparent;
    color: #1f2b70;
  }
  .dgp-pdp-promotion--warranty {
    min-height: 94px !important;
    margin: 18px 0 20px !important;
    padding: 24px 92px 16px 42px;
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__ribbon {
    top: -10px;
    left: 26px;
    padding: 6px 16px;
    font-size: 13px;
  }
  body.single-product #main .dgp-pdp-promotion--warranty .dgp-pdp-promotion__offer h2 {
    margin-bottom: 3px;
    font-size: 20px !important;
    line-height: 1.1;
    white-space: nowrap;
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__offer p {
    font-size: 11px;
    white-space: nowrap;
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo {
    right: 20px;
    bottom: -13px;
    width: 62px;
    height: 42px;
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo::after {
    width: 43px;
    height: 43px;
    font-size: 15px;
  }
}

@media (min-width: 850px) {
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__ribbon {
    top: -13px;
    left: 22px;
  }
  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo {
    top: 50%;
    right: 22px;
    bottom: auto;
    transform: translateY(-50%);
  }
}

/* Warranty-card finish: the commitment badge overlays the red card and uses the shared header Zalo mark. */
@media (min-width: 850px) {
  .dgp-pdp-promotion--warranty {
    overflow: visible !important;
    margin-right: 26px !important;
    padding-top: 30px;
    clip-path: none;
    background: transparent !important;
    box-shadow: none !important;
    filter: none;
    isolation: isolate;
  }

  .dgp-pdp-promotion--warranty::before {
    position: absolute;
    inset: 0 -26px 0 0;
    z-index: -1;
    border: 0;
    box-shadow: none;
    background: linear-gradient(105deg, #bf1126 0%, #dd2731 62%, #cf1830 100%);
    clip-path: polygon(0 0, calc(100% - 26px) 0, 100% 50%, calc(100% - 26px) 100%, 0 100%, 26px 50%);
    pointer-events: none;
    content: "";
  }

  .dgp-pdp-promotion--warranty::after {
    content: none;
  }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__ribbon {
    top: -16px;
    left: 30px;
    z-index: 4;
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    padding: 0 18px;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #ffd643;
    box-shadow: 0 5px 12px rgba(91, 51, 0, .25);
    color: #202020;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .01em;
    line-height: 1;
    transform: none;
  }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo {
    top: 50%;
    right: 24px;
    bottom: auto;
    z-index: 3;
    width: 52px;
    height: 52px;
    padding: 7px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 4px 12px rgba(55, 18, 22, .24);
    transform: translateY(-50%);
  }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo::after { content: none; }

  .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

/* Let the variation row collapse when a product has no options. */
@media (min-width: 850px) {
  .dgp-pdp-purchase > .col-inner {
    grid-template-rows: auto auto auto auto auto auto auto auto;
    row-gap: 12px;
  }

  .dgp-pdp-purchase > .col-inner > .add-to-cart-container,
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) {
    display: contents !important;
  }

  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) .quantity {
    grid-column: 2;
    grid-row: 4;
    justify-self: end;
  }

  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) :is(.single_add_to_cart_button, .dgp-pdp-zalo-button) {
    grid-row: 6 !important;
  }

  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) .single_add_to_cart_button {
    grid-column: 1;
  }

  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart:not(.variations_form) .dgp-pdp-zalo-button {
    grid-column: 2;
  }

  .dgp-pdp-purchase > .col-inner > .dgp-pdp-assurances {
    grid-row: 7;
  }
}

/* Stretch only the space above the actions on products without variations. */
@media (min-width: 850px) {
  .dgp-pdp-purchase > .col-inner.dgp-pdp-simple-purchase {
    position: relative;
    top: auto;
    min-height: var(--dgp-pdp-gallery-height, 0px);
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto auto;
  }
}

/* Use the same Zalo artwork as the contact button at every viewport size. */
body.single-product #main .dgp-pdp-promotion--warranty .dgp-pdp-promotion__zalo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  padding: 6px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
}
body.single-product #main .dgp-pdp-promotion__zalo::after {
  content: none !important;
}
body.single-product #main .dgp-pdp-promotion__zalo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body.single-product #main .dgp-pdp .variations_form .reset_variations {
  display: flex;
  width: fit-content;
  margin: 8px 0 0 auto !important;
  padding: 4px 6px;
  text-transform: none;
  opacity: 1;
}
body.single-product #main .dgp-pdp .variations_form .variations th.label {
  vertical-align: top;
  padding-top: 14px;
}

/* Purchase typography and a discount label beside the original price. */
body.single-product #main .dgp-pdp-purchase .product-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 1.4;
}
body.single-product #main .dgp-pdp-purchase .product-price-container .price {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 0;
}
body.single-product #main .dgp-pdp-purchase .product-price-container .price > ins {
  flex-basis: 100%;
  order: 0;
}
body.single-product #main .dgp-pdp-purchase .product-price-container .dgp-product-price--contact,
body.single-product #main .dgp-pdp-purchase .single_variation_wrap .woocommerce-variation-price .dgp-product-price--contact {
  display: inline-block;
  color: var(--pdp-red, #c32a20) !important;
  font-size: 31.5px !important;
  font-weight: 800 !important;
  line-height: 1.2;
}
body.single-product #main .dgp-pdp-purchase .product-price-container .amount {
  font-size: 30px !important;
  line-height: 1.2;
}
body.single-product #main .dgp-pdp-purchase .product-price-container del {
  order: 1;
  line-height: 1.3;
}
body.single-product #main .dgp-pdp-purchase .product-price-container del .amount {
  color: #777 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
}
.dgp-pdp-purchase .dgp-pdp-discount {
  display: inline-flex;
  order: 2;
  align-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #c32a20;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}
@media (min-width: 850px) {
  .dgp-pdp-purchase > .col-inner > .product-price-container {
    grid-column: 1 / -1;
    margin: 0;
    min-width: 0;
    padding-right: 126px !important;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container > form.cart .quantity {
    align-self: center;
    margin: 0;
  }
}
@media (min-width: 850px) and (max-width: 1099px) {
  body.single-product #main .dgp-pdp-purchase .product-price-container .amount {
    font-size: 24px !important;
  }
  body.single-product #main .dgp-pdp-purchase .product-price-container del .amount {
    font-size: 15px !important;
  }
  .dgp-pdp-purchase form.cart :is(.single_add_to_cart_button, .dgp-pdp-zalo-button) {
    padding-inline: 6px;
    font-size: 13px;
    gap: 6px;
  }
}
@media (max-width: 849px) {
  body.single-product #main .dgp-pdp-purchase .product-price-container .amount {
    font-size: 26px !important;
  }
  body.single-product #main .dgp-pdp-purchase .product-price-container del .amount {
    font-size: 15px !important;
  }
  .dgp-pdp-purchase > .col-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 112px;
    align-items: center;
    column-gap: 10px;
  }
  .dgp-pdp-purchase > .col-inner > * {
    grid-column: 1 / -1;
    min-width: 0;
  }
  .dgp-pdp-purchase > .col-inner > .product-title-container { grid-row: 1; }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-promotion { grid-row: 2; }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-meta { grid-row: 3; }
  .dgp-pdp-purchase > .col-inner > .product-price-container {
    grid-row: 4;
    margin: 0 !important;
    padding-right: 122px !important;
  }
  .dgp-pdp-purchase > .col-inner > .add-to-cart-container,
  body.single-product #main .dgp-pdp-purchase form.cart,
  body.single-product #main .dgp-pdp-purchase .single_variation_wrap,
  body.single-product #main .dgp-pdp-purchase .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: contents !important;
  }
  body.single-product #main .dgp-pdp-purchase form.cart .quantity {
    grid-column: 2;
    grid-row: 4;
    justify-self: end;
    align-self: center;
    margin: 0;
  }
  .dgp-pdp-purchase form.cart .variations {
    grid-column: 1 / -1;
    grid-row: 5;
  }
  .dgp-pdp-purchase .single_variation {
    grid-column: 1 / -1;
    grid-row: 6;
  }
  .dgp-pdp-purchase > .col-inner > .dgp-pdp-assurances { grid-row: 7; }
}

/* Keep the paired purchase actions legible without dominating narrow screens. */
@media (max-width: 849px) {
  body.single-product #main .dgp-pdp form.cart :is(.single_add_to_cart_button, .dgp-pdp-zalo-button) {
    padding-inline: 6px !important;
    font-size: 13px !important;
    gap: 6px;
  }

  /* Keep the fixed purchase bar compact while retaining the familiar Zalo mark. */
  body.single-product .dgp-pdp-mobile-cart :is(.dgp-pdp-mobile-cart__button, .dgp-pdp-mobile-cart__zalo) {
    min-height: 48px;
    padding-inline: 6px;
    font-size: 12px !important;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
  }
  body.single-product .dgp-pdp-mobile-cart__zalo {
    gap: 6px;
    white-space: nowrap;
  }
  body.single-product .dgp-pdp-mobile-cart__button {
    font-size: 11px !important;
    white-space: nowrap;
  }
  body.single-product .dgp-pdp-mobile-cart__zalo .dgp-pdp-zalo-button__icon {
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin: 0;
  }
}

/* Mirror the homepage's two-column product-card grid on product pages. */
@media (max-width: 767px) {
  body.single-product #main .dgp-pdp-related .related-products-wrapper > .row {
    display: grid !important;
    width: calc(100% + 44px) !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-inline: -22px !important;
    margin-block: 0 !important;
    padding: 0 !important;
  }
  body.single-product #main .dgp-pdp-related .related-products-wrapper > .row > .dgp-product-card {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
  }
}

/* Tablet shows six products as two rows of three cards. */
@media (min-width: 768px) and (max-width: 1024px) {
  body.single-product #main .dgp-pdp-related .related-products-wrapper .products.row {
    display: grid !important;
    width: 100% !important;
    max-width: none !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.single-product #main .dgp-pdp-related .related-products-wrapper .products.row > .dgp-product-card {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
  }
  body.single-product #main .dgp-pdp-viewed .dgp-recently-viewed__grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-columns: auto;
    grid-auto-flow: row;
    gap: 16px;
    overflow: visible;
    padding-bottom: 0;
  }
}

/* Desktop and mobile retain four visible cards. */
@media (min-width: 1025px), (max-width: 767px) {
  body.single-product #main .dgp-pdp-related .dgp-product-card:nth-child(n + 5) {
    display: none !important;
  }
}

@media (max-width: 767px) {
  body.single-product #main .dgp-pdp-content .product-section > .row > .col:first-child h5.uppercase {
    font-size: 20px !important;
    line-height: 1.3 !important;
    color: #293992 !important;
  }

  body.single-product #main .dgp-pdp-content .entry-content {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  body.single-product #main .dgp-pdp-content .entry-content :is(p, li) {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }

  body.single-product #main .dgp-pdp-content .entry-content :is(h1, h2) {
    font-size: 21px !important;
    line-height: 1.3 !important;
  }

  body.single-product #main .dgp-pdp-content .entry-content :is(h3, h4) {
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  body.single-product #main .dgp-pdp-content #reviews :is(.woocommerce-Reviews-title, #reply-title, .comment-reply-title) {
    font-size: 20px !important;
    line-height: 1.35 !important;
  }

  body.single-product #main .dgp-pdp-content #reviews .comment-text,
  body.single-product #main .dgp-pdp-content #reviews .comment-text :is(p, time, .meta) {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body.single-product #main .dgp-pdp-content #commentform label {
    font-size: 14px !important;
  }
}

/* Keep the gallery visible while longer variation controls scroll beside it. */
@media (min-width: 850px) {
  body.single-product #main .dgp-pdp-overview > .dgp-pdp-media {
    align-self: stretch !important;
  }

  body.single-product #main .dgp-pdp-media > .col-inner {
    position: sticky;
    top: 24px;
  }
}

/* Present the product description as a flat editorial block with a quiet title bar. */
body.single-product #main .dgp-pdp-content {
  position: relative;
  margin-top: 48px;
  padding-top: 0;
  padding-bottom: 0;
  background: #fff;
}

body.single-product #main .dgp-pdp-content::before {
  content: none;
}

body.single-product #main .dgp-pdp-content .product-section:first-child > .row > .col:first-child {
  margin: 0;
  padding: 16px 20px !important;
  background: #f6f6f6;
}

body.single-product #main .dgp-pdp-content .product-section:first-child > .row > .col:first-child h5.uppercase {
  color: #293992 !important;
  text-transform: uppercase;
}

body.single-product #main .dgp-pdp-content .product-section:first-child > .row > .col:nth-child(2) {
  padding: 28px 20px 0 !important;
}

body.single-product #main .dgp-pdp-content .product-section:first-child .entry-content h3 {
  margin: 28px 0 12px;
  font-size: 18px !important;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
}

body.single-product #main .dgp-pdp-content .product-section:first-child .entry-content h4 {
  margin: 24px 0 10px;
  font-size: 15px !important;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  body.single-product #main .dgp-pdp-content {
    margin-top: 36px;
  }

  body.single-product #main .dgp-pdp-content .product-section:first-child > .row > .col:first-child {
    padding: 13px 14px !important;
  }

  body.single-product #main .dgp-pdp-content .product-section:first-child > .row > .col:nth-child(2) {
    padding: 22px 14px 0 !important;
  }

  body.single-product #main .dgp-pdp-content .product-section:first-child .entry-content h3 {
    margin-top: 24px;
    font-size: 15px !important;
  }

  body.single-product #main .dgp-pdp-content .product-section:first-child .entry-content h4 {
    margin-top: 20px;
    font-size: 14px !important;
  }
}
