/*
 * PSDFA Market — Single Product UI
 * WooCommerce owns commerce logic; PSDFA Market owns presentation.
 */

html.psdfa-lightbox-open,
html.psdfa-lightbox-open body,
body.psdfa-purchase-open {
  overflow: hidden;
}

body.single-product {
  background: var(--psdfa-bg);
}

body.single-product .psdfa-product-page {
  width: 100%;
  padding-block: 18px 86px;
  background: var(--psdfa-bg);
}

body.single-product #psdfa-market-product-shell > .woocommerce-breadcrumb {
  margin: 0 0 12px;
  padding: 0;
  color: #8a8f96;
  font-size: 13px;
  line-height: 1.9;
}

body.single-product #psdfa-market-product-shell > .woocommerce-breadcrumb a {
  color: #61666e;
}

body.single-product #psdfa-market-product-shell > .woocommerce-breadcrumb a:hover {
  color: var(--psdfa-ink);
}

body.single-product .psdfa-rtl-product {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  background: transparent;
}

/* Product heading */
body.single-product .psdfa-rtl-product-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin: 0 0 14px;
  padding: 2px 0 16px;
  border-bottom: 1px solid var(--psdfa-border);
}

.psdfa-rtl-product-head-main {
  min-width: 0;
  flex: 1;
}

.psdfa-rtl-product-title-chips {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  flex: 0 0 auto;
}

.psdfa-rtl-product-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid #eadb8f;
  border-radius: 8px;
  background: var(--psdfa-primary-soft);
  color: #6f5c00;
  font-size: 12px;
  font-weight: 850;
}

.psdfa-rtl-product-kicker.is-featured {
  border-color: #dbe7ff;
  background: #eff5ff;
  color: #315b91;
}

.psdfa-rtl-product-kicker.is-sale {
  border-color: #ffd8d8;
  background: #fff1f1;
  color: #a12b2b;
}

.psdfa-rtl-product-title-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

body.single-product .psdfa-rtl-product .product_title {
  margin: 0;
  color: var(--psdfa-ink);
  font-size: clamp(27px, 1.75vw, 33px);
  font-weight: 950;
  line-height: 1.38;
  letter-spacing: -.025em;
}

.psdfa-rtl-version-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 33px;
  padding: 0 12px;
  border: 1px solid var(--psdfa-border);
  border-radius: 8px;
  background: var(--psdfa-surface);
  color: #737881;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.psdfa-rtl-product-head-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 10px;
  color: #646a70;
  font-size: 13px;
}

.psdfa-rtl-product-head-meta > span {
  display: inline-flex;
  align-items: center;
}

.psdfa-rtl-product-head-meta > span:not(:last-child)::after {
  content: "•";
  margin: 0 10px;
  color: #c4c8cd;
}


/* Desktop layout */
body.single-product .psdfa-rtl-product-layout {
  display: grid;
  grid-template-columns: var(--psdfa-product-sidebar) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  direction: rtl;
}

.psdfa-rtl-product-sidebar {
  position: relative;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  gap: 15px;
  width: 100%;
  min-width: 0;
}

.psdfa-rtl-purchase-initial-slot {
  width: 100%;
  min-width: 0;
}

.psdfa-rtl-purchase-sticky-trigger {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: -1px;
  pointer-events: none;
}

.psdfa-rtl-product-maincol {
  min-width: 0;
  width: 100%;
}

.psdfa-rtl-buy-card,
.psdfa-rtl-seller-card,
.psdfa-rtl-product-facts,
.psdfa-rtl-preview-card,
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel,
.psdfa-rtl-changelog-card,
.psdfa-rtl-consult-card,
.psdfa-rtl-metrics-bar,
.psdfa-rtl-product-lead,
.psdfa-rtl-product-maincol > .up-sells.products,
.psdfa-rtl-product-maincol > .related.products {
  border: 1px solid var(--psdfa-border);
  background: var(--psdfa-surface);
  box-shadow: 0 2px 10px rgba(17, 24, 39, .035);
}

/* Timed special offer */
.psdfa-amazing-offer {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px 28px;
  align-items: center;
  overflow: hidden;
  margin-bottom: 14px;
  padding: 17px 20px 20px;
  border: 1px solid #ead77d;
  border-radius: 14px;
  background: linear-gradient(135deg, #fffdf2 0%, var(--psdfa-primary-soft) 100%);
  box-shadow: 0 2px 10px rgba(17, 24, 39, .025);
}

.psdfa-amazing-offer-main {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
}

.psdfa-amazing-offer-icon {
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  background: var(--psdfa-ink);
  color: var(--psdfa-primary);
}
.psdfa-amazing-offer-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; }

.psdfa-amazing-offer-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.psdfa-amazing-offer-copy > span {
  color: #8a6f00;
  font-size: 12px;
  font-weight: 850;
}
.psdfa-amazing-offer-copy > strong {
  color: var(--psdfa-ink);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.8;
}

.psdfa-amazing-offer-time {
  display: flex;
  align-items: center;
  gap: 13px;
  white-space: nowrap;
}
.psdfa-amazing-offer-time-label {
  color: #756000;
  font-size: 11.5px;
  font-weight: 800;
}
.psdfa-amazing-offer-countdown {
  display: flex;
  align-items: center;
  direction: ltr;
}
.psdfa-amazing-offer-countdown > span {
  display: grid;
  min-width: 48px;
  min-height: 50px;
  place-items: center;
  padding: 4px 6px;
  border: 1px solid rgba(90, 72, 0, .12);
  border-radius: 10px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 2px 7px rgba(39, 31, 0, .04);
}
.psdfa-amazing-offer-countdown b {
  color: #17191c;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.1;
}
.psdfa-amazing-offer-countdown small {
  color: #8c7b32;
  font-size: 9.5px;
  line-height: 1.2;
}
.psdfa-amazing-offer-countdown > i {
  margin-inline: 4px;
  color: #9b8441;
  font-size: 17px;
  font-style: normal;
  font-weight: 800;
}
.psdfa-amazing-offer-progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: rgba(114, 89, 0, .08);
}
.psdfa-amazing-offer-progress > span {
  display: block;
  height: 100%;
  margin-inline-start: auto;
  border-radius: 999px;
  background: var(--psdfa-primary);
  transition: width .8s linear;
}

/* Preview & gallery */
.psdfa-rtl-preview-card {
  overflow: hidden;
  border: 1px solid var(--psdfa-border);
  border-radius: 14px;
  background: var(--psdfa-surface);
}

/* The image gallery is not a card. Keep the preview-card treatment only for
 * audio products; gallery media should sit directly on the product page. */
.psdfa-rtl-preview-card--gallery {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.psdfa-rtl-preview-card--gallery .psdfa-rtl-preview-inner {
  background: transparent;
}

.psdfa-product-gallery {
  --psdfa-gallery-aspect: 3 / 2;
  --psdfa-gallery-mobile-aspect: 3 / 2;
  --psdfa-gallery-fit: contain;
  --psdfa-gallery-blur: 26px;
  --psdfa-gallery-blur-opacity: .72;
  --psdfa-gallery-thumb-size: 92px;
  --psdfa-gallery-thumb-cols: 5;
  --psdfa-gallery-thumb-basis: calc((100% - 36px) / 5);
  --psdfa-gallery-mobile-thumb-size: 74px;
  --psdfa-gallery-radius: 0px;
  --psdfa-gallery-bg: #fff;
  --psdfa-lightbox-opacity: .9;
  --psdfa-lightbox-radius: 10px;
  --psdfa-lightbox-max-width: 1500px;
  --psdfa-lightbox-fit: contain;
  width: 100%;
  background: transparent;
}

.psdfa-product-gallery-stage {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  width: 100%;
  box-sizing: border-box;
  aspect-ratio: var(--psdfa-gallery-aspect);
  border-radius: var(--psdfa-gallery-radius);
  background: transparent;
}

.psdfa-gallery-backdrop {
  position: absolute;
  z-index: 0;
  inset: -72px;
  display: block;
  background-color: var(--psdfa-gallery-bg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: var(--psdfa-gallery-blur-opacity);
  filter: blur(var(--psdfa-gallery-blur)) saturate(.92) brightness(.94);
  transform: scale(1.08);
  pointer-events: none;
}

.psdfa-gallery-main {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.psdfa-product-gallery.is-lightbox-disabled .psdfa-gallery-main { cursor: default; }

.psdfa-gallery-main img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: var(--psdfa-gallery-fit);
  object-position: center;
  transition: opacity .18s ease, transform .2s ease;
}

.psdfa-product-gallery.has-hover-zoom .psdfa-gallery-main:hover img { transform: scale(1.003); }

/* The gallery canvas is always stable. Older `auto` settings are normalized
   to 3:2 in PHP so images of any orientation cannot resize the stage. */

.psdfa-gallery-expand {
  position: absolute;
  z-index: 3;
  top: 15px;
  inset-inline-end: 15px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 10px;
  background: rgba(19,23,29,.62);
  color: #fff;
  backdrop-filter: blur(7px);
  pointer-events: none;
}

.psdfa-gallery-expand svg,
.psdfa-gallery-nav svg,
.psdfa-gallery-lightbox-nav svg,
.psdfa-gallery-lightbox-close svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.psdfa-gallery-expand svg { width: 18px; height: 18px; }

.psdfa-gallery-nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-top: -22px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 50%;
  background: rgba(19,23,29,.62);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(7px);
  transition: background .18s ease, transform .18s ease, opacity .18s ease;
}

.psdfa-gallery-nav:hover:not(:disabled) { background: #171b21; transform: scale(1.04); }
.psdfa-gallery-nav:disabled,
.psdfa-gallery-lightbox-nav:disabled { opacity: .3; cursor: default; }
.psdfa-gallery-prev { inset-inline-start: 15px; }
.psdfa-gallery-next { inset-inline-end: 15px; }
.psdfa-gallery-nav svg { width: 19px; height: 19px; }

html[dir="rtl"] .psdfa-gallery-prev svg,
html[dir="rtl"] .psdfa-gallery-next svg,
html[dir="rtl"] .psdfa-gallery-lightbox-nav.is-prev svg,
html[dir="rtl"] .psdfa-gallery-lightbox-nav.is-next svg { transform: scaleX(-1); }

.psdfa-gallery-counter {
  position: absolute;
  z-index: 4;
  inset-inline-start: 15px;
  bottom: 15px;
  display: flex;
  align-items: center;
  gap: 5px;
  min-height: 31px;
  padding: 0 10px;
  border-radius: 8px;
  background: rgba(19,23,29,.72);
  color: #fff;
  font-size: 11.5px;
  font-weight: 800;
  backdrop-filter: blur(6px);
  pointer-events: none;
}

.psdfa-gallery-counter i,
.psdfa-gallery-lightbox-counter i { font-style: normal; opacity: .5; }

.psdfa-product-gallery-thumbs {
  display: flex;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
  gap: 9px;
  overflow-x: auto;
  overflow-y: hidden;
  margin-top: 12px;
  padding: 0;
  border-top: 0;
  background: transparent;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 0;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
.psdfa-product-gallery-thumbs::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.psdfa-product-gallery-thumbs.is-drag-enabled {
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
}
.psdfa-product-gallery-thumbs.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}
.psdfa-product-gallery-thumbs.is-dragging .psdfa-gallery-thumb { cursor: grabbing; }

/* Keep the thumbnail strip flush with the main gallery edges. */
.psdfa-gallery-thumb {
  flex: 0 0 max(var(--psdfa-gallery-thumb-size), var(--psdfa-gallery-thumb-basis));
  width: max(var(--psdfa-gallery-thumb-size), var(--psdfa-gallery-thumb-basis));
  aspect-ratio: 46 / 31;
  padding: 0;
  border: 0;
  border-radius: 9px;
  background: transparent;
  cursor: pointer;
  overflow: hidden;
  position: relative;
  scroll-snap-align: start;
  scroll-margin-inline: 0;
  transition: box-shadow .18s ease, transform .18s ease, opacity .18s ease;
}

.psdfa-gallery-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 3px solid transparent;
  border-radius: inherit;
  pointer-events: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.psdfa-gallery-thumb:hover::after { border-color: rgba(17,24,39,.32); }
.psdfa-gallery-thumb.is-active { transform: translateY(-1px); }
.psdfa-gallery-thumb.is-active::after {
  border-color: var(--psdfa-primary);
  box-shadow: inset 0 0 0 1px rgba(17,24,39,.55);
}
.psdfa-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }

.psdfa-gallery-lightbox[hidden] { display: none; }
.psdfa-gallery-lightbox { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 28px; }
.psdfa-gallery-lightbox-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(8,10,14,var(--psdfa-lightbox-opacity)); cursor: zoom-out; }
.psdfa-gallery-lightbox-backdrop:not(button) { cursor: default; }
.psdfa-gallery-lightbox-panel { position: relative; z-index: 1; display: grid; place-items: center; width: min(var(--psdfa-lightbox-max-width),94vw); height: min(900px,90vh); outline: 0; }
.psdfa-gallery-lightbox-panel > img { display: block; width: 100%; height: 100%; object-fit: var(--psdfa-lightbox-fit); object-position: center; border-radius: var(--psdfa-lightbox-radius); box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.psdfa-gallery-lightbox-close,
.psdfa-gallery-lightbox-nav { position: fixed; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; backdrop-filter: blur(6px); }
.psdfa-gallery-lightbox-close { top: 20px; inset-inline-end: 20px; width: 44px; height: 44px; }
.psdfa-gallery-lightbox-nav { top: 50%; width: 50px; height: 50px; margin-top: -25px; transition: opacity .18s ease, background .18s ease; }
.psdfa-gallery-lightbox-nav:hover:not(:disabled) { background: rgba(255,255,255,.18); }
.psdfa-gallery-lightbox-nav.is-prev { inset-inline-start: 22px; }
.psdfa-gallery-lightbox-nav.is-next { inset-inline-end: 22px; }
.psdfa-gallery-lightbox-close svg { width: 21px; height: 21px; }
.psdfa-gallery-lightbox-nav svg { width: 22px; height: 22px; }
.psdfa-gallery-lightbox-counter { position: fixed; z-index: 2; left: 50%; bottom: 22px; display: flex; align-items: center; gap: 6px; min-height: 34px; padding: 0 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; background: rgba(0,0,0,.34); color: #fff; font-size: 12px; font-weight: 800; transform: translateX(-50%); backdrop-filter: blur(6px); }

/* Purchase card */
.psdfa-rtl-buy-card {
  overflow: hidden;
  border-radius: 14px;
}

.psdfa-rtl-buy-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 19px;
  border-bottom: 1px solid var(--psdfa-border);
}

.psdfa-rtl-buy-card-head > div { display: flex; flex-direction: column; line-height: 1.55; }
.psdfa-rtl-buy-card-head small { color: #646a70; font-size: 11.5px; }
.psdfa-rtl-buy-card-head strong { color: #23272d; font-size: 18px; font-weight: 950; }
.psdfa-rtl-buy-card-head > span { display: inline-flex; align-items: center; gap: 5px; padding: 5px 9px; border-radius: 8px; background: #f3f4f5; color: #555b63; font-size: 11px; font-weight: 850; }
.psdfa-rtl-buy-card-head > span svg { width: 15px; height: 15px; }
.psdfa-mobile-purchase-close { display: none; }

.psdfa-rtl-commerce-stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  margin: 16px 19px 0;
  border: 1px solid var(--psdfa-border);
  border-radius: 10px;
  overflow: hidden;
}

.psdfa-rtl-commerce-stats > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 84px;
  padding: 10px 5px;
  text-align: center;
}

.psdfa-rtl-commerce-stats > div:not(:last-child) { border-left: 1px solid var(--psdfa-border); }
.psdfa-rtl-commerce-stats strong { color: #252a30; font-size: 19px; font-weight: 950; line-height: 1.3; }
.psdfa-rtl-commerce-stats span { margin-top: 5px; color: #646a70; font-size: 11.5px; }

.psdfa-rtl-support-satisfaction,
.psdfa-rtl-buy-updated {
  margin: 10px 19px 0;
  border: 1px solid var(--psdfa-border);
  border-radius: 9px;
  background: #fafbfc;
}

.psdfa-rtl-support-satisfaction {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px;
  color: #787e86;
  font-size: 12.5px;
}
.psdfa-rtl-support-satisfaction strong { color: #333840; font-size: 14px; }

.psdfa-rtl-buy-updated {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
}
.psdfa-rtl-buy-updated > svg { width: 20px; height: 20px; flex: 0 0 20px; color: #6f757d; }
.psdfa-rtl-buy-updated > span { display: flex; flex-direction: column; line-height: 1.5; }
.psdfa-rtl-buy-updated small { color: #989da4; font-size: 11.5px; }
.psdfa-rtl-buy-updated strong { color: #3c4249; font-size: 12.5px; }

.psdfa-rtl-buy-benefits-wrap { padding: 17px 19px 0; }
.psdfa-rtl-buy-benefits { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.psdfa-rtl-buy-benefits li { display: flex; align-items: flex-start; gap: 9px; color: #4f555d; font-size: 13.5px; line-height: 1.8; }
.psdfa-rtl-buy-benefits li > span:not(.psdfa-benefits-toggle-icon) { min-width: 0; }
.psdfa-rtl-buy-benefits li svg { width: 18px; height: 18px; margin-top: 3px; flex: 0 0 18px; color: #7d8b00; stroke: currentColor; }
.psdfa-rtl-buy-benefits-toggle { display: none; align-items: center; justify-content: center; gap: 5px; flex: 0 0 auto; margin-inline-start: auto; padding: 2px 0 2px 7px; border: 0; background: transparent; color: #737980; font-family: inherit; font-size: 10.5px; font-weight: 800; line-height: 1.6; white-space: nowrap; cursor: pointer; }
.psdfa-rtl-buy-benefits-toggle:hover { color: #252a30; }
.psdfa-rtl-buy-benefits-toggle .psdfa-benefits-toggle-less { display: none; }
.psdfa-rtl-buy-benefits-toggle .psdfa-benefits-toggle-icon { display: inline-grid; place-items: center; width: 14px; height: 14px; transition: transform .18s ease; }
.psdfa-rtl-buy-benefits-toggle .psdfa-benefits-toggle-icon svg { width: 14px; height: 14px; margin: 0; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.psdfa-rtl-buy-benefits-wrap.is-expanded .psdfa-benefits-toggle-more { display: none; }
.psdfa-rtl-buy-benefits-wrap.is-expanded .psdfa-benefits-toggle-less { display: inline; }
.psdfa-rtl-buy-benefits-wrap.is-expanded .psdfa-benefits-toggle-icon { transform: rotate(180deg); }

.psdfa-rtl-lifetime-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 19px 0;
  padding: 13px;
  border: 1px solid #ead98b;
  border-radius: 9px;
  background: #fff8d5;
  color: #655800;
  font-size: 12.5px;
  line-height: 1.75;
}
.psdfa-rtl-lifetime-note svg { width: 20px; height: 20px; flex: 0 0 20px; }

.psdfa-rtl-price-block { margin-top: 17px; padding: 17px 19px 0; border-top: 1px solid var(--psdfa-border); }
.psdfa-rtl-price-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.psdfa-rtl-price-label { color: #858b92; font-size: 12px; }
.psdfa-rtl-price-heading em { padding: 4px 8px; border-radius: 7px; background: #ffe7e7; color: #a52424; font-size: 11px; font-style: normal; font-weight: 850; }
.psdfa-rtl-price-block .price { display: flex; align-items: baseline; gap: 7px; margin: 0; color: #242930; font-size: 29px; font-weight: 950; line-height: 1.6; }
.psdfa-rtl-price-block .price del { color: #969ba2; font-size: 13px; font-weight: 600; opacity: 1; }
.psdfa-rtl-price-block .price ins { text-decoration: none; }

.psdfa-rtl-cart-wrap { width: 100%; margin-top: 12px; padding: 0 19px; }
.psdfa-rtl-cart-wrap form.cart { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; width: 100%; margin: 0; padding: 0; border: 0; }
.psdfa-rtl-cart-wrap form.cart::before,
.psdfa-rtl-cart-wrap form.cart::after { display: none; }
.psdfa-rtl-cart-wrap .quantity { display: block; float: none; width: 88px; margin: 0; justify-self: start; }
.psdfa-rtl-cart-wrap .quantity .qty { display: block; width: 100%; height: 48px; margin: 0; padding: 0 8px; border: 1px solid #dfe3e7; border-radius: 9px; background: #fff; color: #2d3238; font-size: 13px; text-align: center; outline: 0; }
.psdfa-rtl-cart-wrap .single_add_to_cart_button { display: flex; align-items: center; justify-content: center; float: none; grid-column: 1 / -1; width: 100%; min-width: 0; min-height: 54px; margin: 0; padding: 0 18px; border: 0; border-radius: 9px; background: var(--psdfa-ink); color: #fff; font-size: 14.5px; font-weight: 900; line-height: 1; cursor: pointer; box-shadow: none; transition: transform .18s ease, background .18s ease; }
.psdfa-rtl-cart-wrap .single_add_to_cart_button:hover { background: #050607; transform: translateY(-1px); }
.psdfa-rtl-cart-wrap .single_add_to_cart_button.disabled,
.psdfa-rtl-cart-wrap .single_add_to_cart_button:disabled { opacity: .5; cursor: not-allowed; transform: none; }

.psdfa-rtl-demo-secondary { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 49px; margin: 9px 19px 0; border: 1px solid #e0bd00; border-radius: 9px; background: #fff8d5; color: #2d2700; font-size: 12.5px; font-weight: 900; box-shadow: 0 5px 16px rgba(138,112,0,.08); transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease; }
.psdfa-rtl-demo-secondary:hover { border-color: var(--psdfa-primary); background: var(--psdfa-primary); color: #111318; transform: translateY(-1px); box-shadow: 0 7px 20px rgba(138,112,0,.14); }
.psdfa-rtl-demo-secondary:focus-visible { outline: 2px solid #111318; outline-offset: 2px; }
.psdfa-rtl-demo-secondary svg { width: 17px; height: 17px; stroke-width: 2; }

.psdfa-rtl-secure-note { display: flex; align-items: center; gap: 10px; margin: 16px 19px 0; padding: 15px 0 18px; border-top: 1px solid var(--psdfa-border); }
.psdfa-rtl-secure-note > svg { width: 38px; height: 38px; padding: 9px; border-radius: 9px; background: #f4f5f6; flex: 0 0 38px; }
.psdfa-rtl-secure-note > span { display: flex; flex-direction: column; line-height: 1.65; }
.psdfa-rtl-secure-note strong { font-size: 13px; }
.psdfa-rtl-secure-note small { color: #9499a0; font-size: 11px; line-height: 1.7; }

/* Sidebar secondary cards */
.psdfa-rtl-seller-card,
.psdfa-rtl-product-facts { border-radius: 14px; padding: 17px; }
.psdfa-rtl-seller-head { display: grid; grid-template-columns: 50px 1fr 24px; align-items: center; gap: 11px; }
.psdfa-rtl-seller-logo { display: grid; place-items: center; width: 50px; height: 50px; overflow: hidden; border-radius: 11px; background: var(--psdfa-primary); color: #17191c; font-size: 22px; font-weight: 950; }
.psdfa-rtl-seller-logo > img,
.psdfa-rtl-seller-logo > .avatar { display: block; width: 100% !important; height: 100% !important; max-width: none; margin: 0; border: 0; border-radius: inherit; object-fit: cover; }
.psdfa-rtl-seller-head > div { display: flex; flex-direction: column; }
.psdfa-rtl-seller-head small { color: #646a70; font-size: 11.5px; }
.psdfa-rtl-seller-head strong { font-size: 15.5px; }
.psdfa-rtl-verified { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #eef5da; color: #6f7b00; }
.psdfa-rtl-verified svg { width: 14px; height: 14px; }
.psdfa-rtl-seller-card p { margin: 12px 0; color: #646a70; font-size: 12.5px; line-height: 2; }
.psdfa-rtl-seller-response { display: flex; align-items: center; gap: 9px; padding: 11px; border-radius: 9px; background: #f7f8f9; }
.psdfa-rtl-seller-response svg { width: 18px; height: 18px; }
.psdfa-rtl-seller-response > span { display: flex; flex-direction: column; }
.psdfa-rtl-seller-response small { color: #92979d; font-size: 11.5px; }
.psdfa-rtl-seller-response strong { font-size: 12.5px; }
.psdfa-rtl-seller-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 9px; }
.psdfa-rtl-seller-meta span { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 40px; border: 1px solid var(--psdfa-border); border-radius: 8px; }
.psdfa-rtl-seller-meta svg { width: 15px; height: 15px; }
.psdfa-rtl-seller-meta b { font-size: 11px; }
.psdfa-rtl-product-facts h2 { margin: 0 0 9px; font-size: 16px; }
.psdfa-rtl-product-facts > div { display: grid; grid-template-columns: 112px minmax(0,1fr); gap: 10px; align-items: center; min-height: 43px; border-top: 1px solid #eef0f2; font-size: 12.5px; }
.psdfa-rtl-product-facts > div > span { color: #646a70; }
.psdfa-rtl-product-facts strong { min-width: 0; color: #444a51; font-size: 12.5px; font-weight: 800; word-break: break-word; }
.psdfa-rtl-product-facts a { color: #365f89; }

/* Product metrics and intro */
.psdfa-rtl-metrics-bar { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin-top: 14px; border-radius: 13px; overflow: hidden; }
.psdfa-rtl-metrics-bar > div { display: flex; align-items: center; gap: 11px; min-height: 90px; padding: 14px 15px; }
.psdfa-rtl-metrics-bar > div:not(:last-child) { border-left: 1px solid var(--psdfa-border); }
.psdfa-rtl-metric-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: #f5f6f7; color: #565c64; flex: 0 0 40px; }
.psdfa-rtl-metric-icon svg { width: 18px; height: 18px; }
.psdfa-rtl-metrics-bar > div > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.psdfa-rtl-metrics-bar strong { color: #333940; font-size: 13.5px; }
.psdfa-rtl-metrics-bar small { margin-top: 3px; color: #646a70; font-size: 11.5px; }
.psdfa-rtl-product-lead { margin-top: 14px; padding: 20px 22px; border-radius: 13px; color: #5f656d; font-size: 14.5px; line-height: 2.15; }
.psdfa-rtl-product-lead p { margin: 0; }
.psdfa-short-description-content { overflow: visible; }
.psdfa-rtl-product-lead.is-short-description-collapsed .psdfa-short-description-content {
  max-height: var(--psdfa-short-description-collapsed-height, 94px);
  overflow: hidden;
}
.psdfa-short-description-toggle {
  display: inline;
  margin: 7px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #756000;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.8;
  cursor: pointer;
  text-decoration: none;
  text-underline-offset: 3px;
}
.psdfa-short-description-toggle:hover,
.psdfa-short-description-toggle:focus-visible { color: #3f3500; text-decoration: underline; }
.psdfa-short-description-toggle:focus-visible { outline: 2px solid rgba(255,204,0,.48); outline-offset: 3px; border-radius: 2px; }
.psdfa-short-description-toggle[hidden] { display: none !important; }

/* Tabs and long-form content */
.psdfa-rtl-tabs-shell { margin-top: 15px; }
.psdfa-rtl-tabs-shell .woocommerce-tabs { margin: 0; padding: 0; }
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs {
  position: sticky;
  top: 104px;
  z-index: 30;
  display: flex;
  align-items: center;
  gap: 3px;
  overflow-x: auto;
  margin: 0;
  padding: 0 14px;
  border: 1px solid var(--psdfa-border);
  border-radius: 13px 13px 0 0;
  background: rgba(255,255,255,.97);
  list-style: none;
  white-space: nowrap;
  scrollbar-width: none;
  backdrop-filter: blur(10px);
}
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.admin-bar .psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs { top: 136px; }
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs::before,
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs::after,
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs li::before,
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs li::after { display: none; content: none; }
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs li { display: block; flex: 0 0 auto; margin: 0; padding: 0; border: 0; background: transparent; }
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs li a { display: block; padding: 18px 15px 15px; border-bottom: 3px solid transparent; color: #717780; font-size: 13.5px; font-weight: 850; text-decoration: none; }
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs li a:hover { color: var(--psdfa-ink); }
.psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs li.active a { border-bottom-color: var(--psdfa-primary); color: var(--psdfa-ink); }

.psdfa-rtl-tabs-shell .woocommerce-tabs .panel {
  display: block;
  margin: -1px 0 0;
  padding: clamp(28px, 3vw, 42px);
  border-radius: 0 0 13px 13px;
  color: #4d545c;
  font-size: 16px;
  line-height: 2.2;
  overflow-wrap: anywhere;
}
.psdfa-js .psdfa-rtl-tabs-shell .woocommerce-tabs .panel { display: none; }
.psdfa-js .psdfa-rtl-tabs-shell .woocommerce-tabs .panel.is-active { display: block; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel > h2:first-child { margin: 0 0 20px; color: #23282e; font-size: 26px; line-height: 1.65; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel h2 { margin: 30px 0 15px; color: #262c33; font-size: 24px; line-height: 1.7; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel h3 { margin: 24px 0 12px; color: #2e343b; font-size: 20px; line-height: 1.75; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel h4 { margin: 20px 0 10px; color: #333940; font-size: 17px; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel p { margin: 0 0 20px; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel a:not(.button):not(.psdfa-rtl-tab-cta) { color: #2e628f; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel ul,
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel ol { margin: 0 0 22px; padding-right: 24px; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel li { margin-bottom: 8px; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel img { display: block; max-width: 100%; height: auto; margin: 24px auto; border-radius: 10px; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel blockquote { margin: 24px 0; padding: 16px 18px; border-right: 4px solid var(--psdfa-primary); border-radius: 10px; background: #fffbed; color: #555b63; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel pre,
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel code { direction: ltr; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel pre { overflow-x: auto; padding: 16px; border-radius: 10px; background: #171a1f; color: #f5f5f5; line-height: 1.75; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel table { display: block; width: 100%; overflow-x: auto; margin: 22px 0; border-collapse: collapse; white-space: nowrap; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel th,
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel td { padding: 12px 14px; border: 1px solid var(--psdfa-border); text-align: right; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel th { background: #f8f9fa; font-weight: 850; }
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel iframe,
.psdfa-rtl-tabs-shell .woocommerce-tabs .panel video { max-width: 100%; border-radius: 10px; }

/* Collapsible long product description. */
.psdfa-description-collapse-content { position: relative; overflow: hidden; }
.psdfa-description-collapse-panel.is-collapsed .psdfa-description-collapse-content {
  max-height: var(--psdfa-description-collapsed-height, 760px);
}
.psdfa-description-collapse-panel.is-collapsed .psdfa-description-collapse-content::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 68px;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(255,255,255,0), var(--psdfa-surface, #fff) 88%);
}
.psdfa-description-collapse-panel.is-expanded .psdfa-description-collapse-content { max-height: none; }
.psdfa-description-collapse-panel.is-expanded .psdfa-description-collapse-content::after { display: none; }
.psdfa-description-toggle[hidden] { display: none !important; }
.psdfa-description-toggle {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 158px;
  min-height: 44px;
  margin: 18px auto 0;
  padding: 0 15px 0 10px;
  border: 1px solid #dfe3e7;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(17,24,39,.07);
  color: #343a40;
  font: inherit;
  font-size: 12.5px;
  font-weight: 900;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.psdfa-description-collapse-panel.is-collapsed .psdfa-description-toggle { margin-top: -16px; }
.psdfa-description-toggle:hover {
  border-color: var(--psdfa-primary);
  background: #fffdf3;
  color: #2d3034;
  box-shadow: 0 7px 22px rgba(17,24,39,.09);
  transform: translateY(-1px);
}
.psdfa-description-toggle:focus-visible {
  outline: 3px solid rgba(255,204,0,.24);
  outline-offset: 2px;
  border-color: var(--psdfa-primary);
}
.psdfa-description-toggle svg {
  width: 28px;
  height: 28px;
  padding: 6px;
  border-radius: 8px;
  background: var(--psdfa-primary-soft, #fff6c7);
  color: #705d00;
  transition: transform .2s ease, background .18s ease;
}
.psdfa-description-toggle:hover svg { background: var(--psdfa-primary, #ffcc00); }
.psdfa-description-collapse-panel.is-expanded .psdfa-description-toggle { margin-top: 20px; }
.psdfa-description-collapse-panel.is-expanded .psdfa-description-toggle svg { transform: rotate(180deg); }

@media (max-width: 900px) {
  .psdfa-description-collapse-panel.is-collapsed .psdfa-description-collapse-content {
    max-height: var(--psdfa-description-collapsed-height-mobile, 520px);
  }
}

/* Dedicated PSDFA Q&A */
.psdfa-qa { color: #4d545c; }
.psdfa-qa-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.psdfa-qa-head > div:first-child { min-width: 0; max-width: 720px; }
.psdfa-qa-eyebrow { display: inline-block; margin-bottom: 4px; color: #9a7a00; font-size: 11.5px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.psdfa-qa-head h2 { margin: 0 0 8px; color: #22272d; font-size: 25px; }
.psdfa-qa-head p { margin: 0; color: #7b8087; font-size: 13.5px; line-height: 1.95; }
.psdfa-qa-stats { display: grid; grid-template-columns: repeat(2,minmax(105px,1fr)); border: 1px solid var(--psdfa-border); border-radius: 12px; overflow: hidden; background: #fafbfc; }
.psdfa-qa-stats span { display: flex; min-height: 74px; padding: 10px 16px; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.psdfa-qa-stats span + span { border-right: 1px solid var(--psdfa-border); }
.psdfa-qa-stats strong { color: var(--psdfa-ink); font-size: 20px; line-height: 1.2; }
.psdfa-qa-stats small { margin-top: 5px; color: #8b9097; font-size: 11.5px; }

.psdfa-qa-notice { margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--psdfa-border); border-radius: 9px; font-size: 13px; line-height: 1.8; }
.psdfa-qa-notice.is-success { border-color: #cfe5c8; background: #f4fbf2; color: #42643a; }
.psdfa-qa-notice.is-info { border-color: #cbdceb; background: #f5f9fc; color: #3e5c74; }
.psdfa-qa-notice.is-warning { border-color: #eadf9b; background: #fffbea; color: #6c5c0e; }
.psdfa-qa-notice.is-error { border-color: #ebcaca; background: #fff6f6; color: #812f2f; }

.psdfa-qa-tools { display: flex; justify-content: flex-end; margin-bottom: 16px; }
.psdfa-qa-search { position: relative; display: flex; align-items: center; width: min(380px,100%); }
.psdfa-qa-search svg { position: absolute; right: 13px; width: 18px; height: 18px; color: #92979d; pointer-events: none; }
.psdfa-qa-search input { width: 100%; height: 44px; padding: 0 42px 0 12px; border: 1px solid #dfe3e7; border-radius: 9px; background: #fff; color: #343a41; outline: 0; }
.psdfa-qa-search input:focus { border-color: #bcc2c9; box-shadow: 0 0 0 3px rgba(255,204,0,.12); }

.psdfa-qa-list { display: grid; gap: 14px; }
.psdfa-qa-item { overflow: hidden; border: 1px solid var(--psdfa-border); border-radius: 12px; background: #fff; }
.psdfa-qa-question { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 13px; padding: 18px; }
.psdfa-qa-avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #f1f3f5; color: #5c6269; font-size: 17px; font-weight: 900; }
.psdfa-qa-body { min-width: 0; }
.psdfa-qa-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-bottom: 8px; color: #969ba2; font-size: 11.5px; line-height: 1.6; }
.psdfa-qa-meta strong { color: #353b42; font-size: 12.5px; }
.psdfa-qa-meta time { margin-right: auto; white-space: nowrap; }
.psdfa-qa-buyer,
.psdfa-qa-official { display: inline-flex; align-items: center; gap: 4px; min-height: 24px; padding: 0 8px; border-radius: 999px; font-weight: 800; }
.psdfa-qa-buyer { background: #f0f6dd; color: #617000; }
.psdfa-qa-official { background: var(--psdfa-primary-soft); color: #695900; }
.psdfa-qa-buyer svg,
.psdfa-qa-official svg { width: 13px; height: 13px; }
.psdfa-qa-text { color: #4f555d; font-size: 14px; line-height: 2; }
.psdfa-qa-text p { margin: 0; }

.psdfa-qa-answer { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 13px; margin: 0 18px 18px; padding: 16px; border: 1px solid #efe3a3; border-radius: 11px; background: #fffdf4; }
.psdfa-qa-answer-mark { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--psdfa-primary); color: #17191c; font-size: 18px; font-weight: 950; }
.psdfa-qa-waiting { margin: 0 18px 18px; padding: 10px 12px; border-radius: 8px; background: #f7f8f9; color: #8a8f96; font-size: 11.5px; }
.psdfa-qa-empty { display: flex; min-height: 210px; flex-direction: column; align-items: center; justify-content: center; padding: 28px; border: 1px dashed #d9dde2; border-radius: 12px; background: #fafbfc; text-align: center; }
.psdfa-qa-empty-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 12px; border-radius: 14px; background: var(--psdfa-primary-soft); color: #705f00; }
.psdfa-qa-empty-icon svg { width: 24px; height: 24px; }
.psdfa-qa-empty strong { color: #333940; font-size: 15px; }
.psdfa-qa-empty p { max-width: 520px; margin: 7px 0 0; color: #8b9097; font-size: 12.5px; }
.psdfa-qa-pagination { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 18px; }
.psdfa-qa-pagination a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--psdfa-border); border-radius: 8px; color: #5b6169; text-decoration: none; }
.psdfa-qa-pagination a.is-current { border-color: var(--psdfa-ink); background: var(--psdfa-ink); color: #fff; }

.psdfa-qa-compose { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--psdfa-border); }
.psdfa-qa-compose-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.psdfa-qa-compose-head > div { display: flex; flex-direction: column; }
.psdfa-qa-compose-head span { color: #a08000; font-size: 11.5px; font-weight: 850; }
.psdfa-qa-compose-head h3 { margin: 2px 0 0; color: #2c3239; font-size: 19px; }
.psdfa-qa-compose-head small { max-width: 390px; color: #93989f; font-size: 11.5px; line-height: 1.8; }
.psdfa-qa-form { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; padding: 18px; border: 1px solid var(--psdfa-border); border-radius: 12px; background: #fafbfc; }
.psdfa-qa-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.psdfa-qa-field { display: flex; min-width: 0; flex-direction: column; gap: 6px; }
.psdfa-qa-field.is-wide { grid-column: 1 / -1; }
.psdfa-qa-field > span { color: #4b5159; font-size: 12.5px; font-weight: 850; }
.psdfa-qa-field input,
.psdfa-qa-field select,
.psdfa-qa-field textarea { width: 100%; border: 1px solid #dce0e5; border-radius: 9px; background: #fff; color: #333940; outline: 0; }
.psdfa-qa-field input,
.psdfa-qa-field select { min-height: 45px; padding: 0 11px; }
.psdfa-qa-field textarea { min-height: 132px; padding: 11px 12px; resize: vertical; line-height: 1.9; }
.psdfa-qa-field input:focus,
.psdfa-qa-field select:focus,
.psdfa-qa-field textarea:focus { border-color: #bcc2c9; box-shadow: 0 0 0 3px rgba(255,204,0,.12); }
.psdfa-qa-field small { align-self: flex-end; color: #9a9fa5; font-size: 11px; }
.psdfa-qa-form-footer { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.psdfa-qa-form-footer p { margin: 0; color: #8e939a; font-size: 11.5px; line-height: 1.8; }
.psdfa-qa-form-footer button { min-width: 132px; min-height: 45px; padding: 0 18px; border: 0; border-radius: 9px; background: var(--psdfa-ink); color: #fff; font-weight: 850; cursor: pointer; }
.psdfa-qa-restricted { display: flex; align-items: center; gap: 12px; padding: 16px; border: 1px solid var(--psdfa-border); border-radius: 11px; background: #fafbfc; }
.psdfa-qa-restricted > span { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 10px; background: #f0f2f4; }
.psdfa-qa-restricted > span svg { width: 19px; height: 19px; }
.psdfa-qa-restricted > div { min-width: 0; flex: 1; }
.psdfa-qa-restricted strong { display: block; color: #3c4249; font-size: 13px; }
.psdfa-qa-restricted p { margin: 3px 0 0; color: #878c93; font-size: 11.5px; }
.psdfa-qa-restricted a { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 13px; border-radius: 8px; background: var(--psdfa-ink); color: #fff; font-size: 11px; font-weight: 850; text-decoration: none; }

/* Product reviews */
.psdfa-reviews-shell {
  display: grid;
  gap: 20px;
  color: var(--psdfa-ink);
  container-type: inline-size;
  container-name: psdfa-reviews;
}
.psdfa-reviews-shell * { box-sizing: border-box; }
.psdfa-reviews-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--psdfa-border);
}
.psdfa-reviews-heading-copy { min-width: 0; }
.psdfa-reviews-kicker {
  display: block;
  margin-bottom: 4px;
  color: color-mix(in srgb, var(--psdfa-ink) 55%, var(--psdfa-primary));
  font-size: 10.5px;
  font-weight: 900;
}
.psdfa-reviews-heading h2 {
  margin: 0 !important;
  color: var(--psdfa-ink) !important;
  font-size: clamp(20px, 2vw, 25px) ;
  line-height: 1.55 ;
}
.psdfa-reviews-heading p {
  max-width: 680px;
  margin: 5px 0 0 !important;
  color: var(--psdfa-muted);
  font-size: 12px;
  line-height: 1.9;
}
.psdfa-reviews-write {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 43px;
  padding: 0 15px;
  flex: 0 0 auto;
  border: 1px solid color-mix(in srgb, var(--psdfa-primary) 70%, var(--psdfa-border));
  border-radius: 10px;
  background: var(--psdfa-primary);
  color: #1c1d20 !important;
  font-size: 11.5px;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 7px 18px rgba(141, 114, 0, .08);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.psdfa-reviews-write:hover {
  color: #1c1d20 !important;
  transform: translateY(-1px);
  filter: brightness(.98);
  box-shadow: 0 10px 22px rgba(141, 114, 0, .13);
}
.psdfa-reviews-write:focus-visible { outline: 2px solid var(--psdfa-ink); outline-offset: 3px; }
.psdfa-reviews-write svg { width: 17px; height: 17px; fill: rgba(20,20,20,.08); stroke-width: 1.9; }

.psdfa-reviews-summary {
  display: grid;
  grid-template-columns: minmax(165px, .65fr) minmax(260px, 1.25fr) minmax(240px, 1fr);
  overflow: hidden;
  border: 1px solid var(--psdfa-border);
  border-radius: 14px;
  background: var(--psdfa-surface);
}
.psdfa-reviews-summary > div { min-width: 0; padding: 18px 20px; }
.psdfa-reviews-summary > div + div { border-inline-start: 1px solid var(--psdfa-border); }
.psdfa-reviews-score {
  display: flex;
  min-height: 136px;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  background: color-mix(in srgb, var(--psdfa-bg) 28%, var(--psdfa-surface));
}
.psdfa-reviews-score-value { display: flex; align-items: baseline; gap: 6px; }
.psdfa-reviews-score-value strong { color: var(--psdfa-ink); font-size: 36px; line-height: 1; font-weight: 950; }
.psdfa-reviews-score-value span { color: var(--psdfa-muted); font-size: 11px; font-weight: 800; }
.psdfa-reviews-score-stars { display: flex; align-items: center; min-height: 18px; }
.psdfa-rating-stars {
  position: relative;
  display: inline-block;
  direction: ltr;
  width: 5.55em;
  height: 1em;
  overflow: hidden;
  font-family: Arial, sans-serif;
  font-size: 17px;
  line-height: 1;
  letter-spacing: .1em;
  white-space: nowrap;
  vertical-align: middle;
}
.psdfa-rating-stars-base,
.psdfa-rating-stars-fill { display: block; height: 1em; line-height: 1; white-space: nowrap; }
.psdfa-rating-stars-base { color: color-mix(in srgb, var(--psdfa-muted) 25%, var(--psdfa-surface)); }
.psdfa-rating-stars-fill { position: absolute; inset-block-start: 0; inset-inline-start: 0; overflow: hidden; color: #e5ae00; }
.psdfa-reviews-score-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 10px; color: var(--psdfa-muted); font-size: 10.5px; line-height: 1.7; }
.psdfa-reviews-satisfaction { display: inline-flex; align-items: center; gap: 4px; color: #4c7844; font-weight: 900; }
.psdfa-reviews-satisfaction svg { width: 13px; height: 13px; stroke-width: 2.5; }
.psdfa-reviews-breakdown { display: grid; align-content: center; gap: 6px; }
.psdfa-rating-row { display: grid; grid-template-columns: 34px minmax(80px,1fr) 26px; align-items: center; gap: 9px; min-height: 22px; }
.psdfa-rating-row-label { display: inline-flex; direction: ltr; align-items: center; gap: 3px; color: var(--psdfa-muted); font-size: 10.5px; font-weight: 800; }
.psdfa-rating-row-label b { color: var(--psdfa-ink); font: inherit; }
.psdfa-rating-row-label span { color: #e2aa00; font-size: 12px; }
.psdfa-rating-row-track { position: relative; display: block; height: 6px; overflow: hidden; border-radius: 99px; background: color-mix(in srgb, var(--psdfa-muted) 11%, var(--psdfa-surface)); }
.psdfa-rating-row-track i { position: absolute; inset-block: 0; inset-inline-start: 0; display: block; border-radius: inherit; background: linear-gradient(90deg,#ffd83d,#e3ad00); }
.psdfa-rating-row-count { color: var(--psdfa-muted); font-size: 9.5px; text-align: end; }
.psdfa-reviews-summary-note {
  display: flex;
  align-items: center;
  gap: 11px;
  background: color-mix(in srgb, var(--psdfa-primary) 5%, var(--psdfa-surface));
}
.psdfa-reviews-summary-note > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--psdfa-primary) 20%, var(--psdfa-surface));
  color: color-mix(in srgb, var(--psdfa-ink) 72%, var(--psdfa-primary));
}
.psdfa-reviews-summary-note svg { width: 21px; height: 21px; stroke-width: 1.8; }
.psdfa-reviews-summary-note strong { display: block; color: var(--psdfa-ink); font-size: 11.5px; line-height: 1.75; }
.psdfa-reviews-summary-note p { margin: 3px 0 0 !important; color: var(--psdfa-muted); font-size: 10px; line-height: 1.8; }

.psdfa-reviews-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 350px);
  gap: 14px;
  align-items: start;
}
.psdfa-reviews-list-section,
.psdfa-review-form-card {
  min-width: 0;
  margin: 0 !important;
}
.psdfa-reviews-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}
.psdfa-reviews-list-head > div > span { display: block; color: var(--psdfa-muted); font-size: 9.5px; font-weight: 850; }
.psdfa-reviews-list-head h3 { margin: 1px 0 0 !important; color: var(--psdfa-ink) !important; font-size: 16px ; line-height: 1.65 ; }
.psdfa-reviews-list-head > strong { display: grid; place-items: center; min-width: 32px; height: 28px; padding: 0 8px; border-radius: 8px; background: color-mix(in srgb, var(--psdfa-bg) 60%, var(--psdfa-surface)); color: var(--psdfa-muted); font-size: 10px; }
.psdfa-review-list { display: grid; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.psdfa-review-list > li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.psdfa-review-card {
  display: grid;
  grid-template-columns: 46px minmax(0,1fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--psdfa-border);
  border-radius: 12px;
  background: var(--psdfa-surface);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.psdfa-review-card:hover { border-color: color-mix(in srgb, var(--psdfa-primary) 34%, var(--psdfa-border)); box-shadow: 0 10px 28px rgba(24,29,35,.04); transform: translateY(-1px); }
.psdfa-review-card.is-avatar-hidden { grid-template-columns: minmax(0,1fr); }
.psdfa-review-avatar { display: grid; place-items: center; width: 46px; height: 46px; overflow: hidden; border: 1px solid var(--psdfa-border); border-radius: 50%; background: color-mix(in srgb, var(--psdfa-bg) 70%, var(--psdfa-surface)); color: var(--psdfa-muted); font-size: 16px; font-weight: 900; }
.psdfa-review-avatar img { position: static !important; float: none !important; width: 100% !important; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: inherit !important; object-fit: cover; }
.psdfa-review-content { min-width: 0; }
.psdfa-review-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.psdfa-review-author { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.psdfa-review-author strong { color: var(--psdfa-ink); font-size: 11.5px; font-weight: 900; }
.psdfa-review-verified { display: inline-flex; align-items: center; gap: 3px; min-height: 22px; padding: 0 7px; border-radius: 999px; background: color-mix(in srgb, #2f9e44 10%, var(--psdfa-surface)); color: #497641; font-size: 8.8px; font-weight: 850; white-space: nowrap; }
.psdfa-review-verified svg { width: 11px; height: 11px; stroke-width: 2.6; }
.psdfa-review-card-head time { flex: 0 0 auto; color: var(--psdfa-muted); font-size: 9px; white-space: nowrap; }
.psdfa-review-rating-line { display: flex; direction: ltr; align-items: center; gap: 6px; width: max-content; margin-top: 6px; }
.psdfa-review-rating-line .psdfa-rating-stars { font-size: 14px; }
.psdfa-review-rating-line > span { color: #9a7900; font-size: 9px; font-weight: 850; }
.psdfa-review-text { margin-top: 9px; color: color-mix(in srgb, var(--psdfa-ink) 72%, var(--psdfa-muted)); font-size: 11.5px; line-height: 2; overflow-wrap: anywhere; }
.psdfa-review-text p { margin: 0 !important; }
.psdfa-review-text p + p { margin-top: 7px !important; }
.psdfa-review-awaiting { margin-top: 8px; padding: 8px 10px; border-radius: 8px; background: color-mix(in srgb, var(--psdfa-primary) 12%, var(--psdfa-surface)); color: color-mix(in srgb, var(--psdfa-ink) 70%, var(--psdfa-primary)); font-size: 9.5px; }

.psdfa-reviews-empty {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px;
  border: 1px dashed color-mix(in srgb, var(--psdfa-border) 75%, var(--psdfa-muted));
  border-radius: 13px;
  background: color-mix(in srgb, var(--psdfa-bg) 35%, var(--psdfa-surface));
  text-align: center;
}
.psdfa-reviews-empty > span { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 11px; border-radius: 14px; background: color-mix(in srgb, var(--psdfa-primary) 18%, var(--psdfa-surface)); color: #8b7000; }
.psdfa-reviews-empty svg { width: 23px; height: 23px; fill: rgba(255,204,0,.12); }
.psdfa-reviews-empty strong { color: var(--psdfa-ink); font-size: 12.5px; }
.psdfa-reviews-empty p { max-width: 460px; margin: 5px 0 0 !important; color: var(--psdfa-muted); font-size: 10.8px; line-height: 1.95; }
.psdfa-reviews-empty a { display: inline-flex; align-items: center; min-height: 34px; margin-top: 12px; padding: 0 11px; border-radius: 8px; background: var(--psdfa-surface); color: color-mix(in srgb, var(--psdfa-ink) 72%, var(--psdfa-primary)) !important; font-size: 10px; font-weight: 900; text-decoration: none !important; box-shadow: inset 0 0 0 1px var(--psdfa-border); }
.psdfa-reviews-empty a:hover { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--psdfa-primary) 60%, var(--psdfa-border)); }
.psdfa-review-pagination { margin-top: 15px; }
.psdfa-review-pagination ul.page-numbers { display: flex; justify-content: center; gap: 5px; margin: 0; padding: 0; border: 0; list-style: none; }
.psdfa-review-pagination ul.page-numbers li { border: 0; }
.psdfa-review-pagination .page-numbers a,
.psdfa-review-pagination .page-numbers span { display: grid; place-items: center; min-width: 34px; height: 34px; margin: 0; padding: 0 8px; border: 1px solid var(--psdfa-border); border-radius: 8px; background: var(--psdfa-surface); color: var(--psdfa-muted); font-size: 10px; text-decoration: none; }
.psdfa-review-pagination .page-numbers .current { border-color: var(--psdfa-primary); background: color-mix(in srgb, var(--psdfa-primary) 16%, var(--psdfa-surface)); color: var(--psdfa-ink); font-weight: 900; }

.psdfa-review-form-card {
  padding: 17px;
  border: 1px solid var(--psdfa-border);
  border-radius: 13px;
  background: color-mix(in srgb, var(--psdfa-bg) 26%, var(--psdfa-surface));
}
.psdfa-review-form-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; padding-bottom: 14px; border-bottom: 1px solid var(--psdfa-border); }
.psdfa-review-form-icon { display: grid; place-items: center; width: 40px; height: 40px; flex: 0 0 40px; border-radius: 11px; background: color-mix(in srgb, var(--psdfa-primary) 18%, var(--psdfa-surface)); color: #806700; }
.psdfa-review-form-icon svg { width: 19px; height: 19px; fill: rgba(255,204,0,.12); }
.psdfa-review-form-heading > div { min-width: 0; }
.psdfa-review-form-heading > div > span { display: block; color: color-mix(in srgb, var(--psdfa-ink) 54%, var(--psdfa-primary)); font-size: 9px; font-weight: 900; }
.psdfa-review-form-heading h3 { margin: 0 !important; color: var(--psdfa-ink) !important; font-size: 15px ; line-height: 1.65 ; }
.psdfa-review-form-heading p { margin: 2px 0 0 !important; color: var(--psdfa-muted); font-size: 9.8px; line-height: 1.75; }
#review_form,
#review_form .comment-respond { margin: 0 !important; padding: 0 !important; }
#review_form form.comment-form { display: grid; grid-template-columns: 1fr; gap: 11px; margin: 0; }
#review_form .psdfa-review-field,
#review_form .comment-form-rating,
#review_form .form-submit,
#review_form .must-log-in,
#review_form .comment-form-cookies-consent { margin: 0 !important; }
#review_form label { display: block; margin-bottom: 5px; color: color-mix(in srgb, var(--psdfa-ink) 76%, var(--psdfa-muted)); font-size: 10.5px; font-weight: 850; }
#review_form .required { color: #b74848; }
#review_form textarea,
#review_form input[type=text],
#review_form input[type=email] {
  width: 100%;
  min-height: 43px;
  padding: 9px 10px;
  border: 1px solid var(--psdfa-border);
  border-radius: 9px;
  background: var(--psdfa-surface);
  color: var(--psdfa-ink);
  font: inherit;
  font-size: 10.8px;
  outline: 0;
  transition: border-color .18s ease, box-shadow .18s ease;
}
#review_form textarea { min-height: 126px; resize: vertical; line-height: 1.9; }
#review_form textarea::placeholder,
#review_form input::placeholder { color: color-mix(in srgb, var(--psdfa-muted) 72%, transparent); }
#review_form textarea:focus,
#review_form input[type=text]:focus,
#review_form input[type=email]:focus { border-color: color-mix(in srgb, var(--psdfa-primary) 70%, var(--psdfa-border)); box-shadow: 0 0 0 3px color-mix(in srgb, var(--psdfa-primary) 13%, transparent); }
#review_form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 7px; color: var(--psdfa-muted); font-size: 9.5px; line-height: 1.7; }
#review_form .comment-form-cookies-consent input { margin-top: 4px; }
#review_form .comment-form-cookies-consent label { margin: 0; font-size: inherit; font-weight: 650; }
#review_form .form-submit { display: flex; }
#review_form .form-submit input {
  width: 100%;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--psdfa-ink);
  border-radius: 9px;
  background: var(--psdfa-ink);
  color: var(--psdfa-surface);
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .18s ease, opacity .18s ease;
}
#review_form .form-submit input:hover { transform: translateY(-1px); opacity: .92; }
#review_form .form-submit input:focus-visible { outline: 2px solid var(--psdfa-primary); outline-offset: 2px; }
.psdfa-review-form-message { display: flex; align-items: flex-start; gap: 10px; padding: 13px; border: 1px solid var(--psdfa-border); border-radius: 10px; background: var(--psdfa-surface); }
.psdfa-review-form-message > span { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 9px; background: color-mix(in srgb, var(--psdfa-bg) 74%, var(--psdfa-surface)); color: var(--psdfa-muted); }
.psdfa-review-form-message svg { width: 17px; height: 17px; }
.psdfa-review-form-message strong { display: block; color: var(--psdfa-ink); font-size: 10.5px; line-height: 1.8; }
.psdfa-review-form-message p { margin: 2px 0 0 !important; color: var(--psdfa-muted); font-size: 9.5px; line-height: 1.8; }
.psdfa-review-form-message a { color: color-mix(in srgb, var(--psdfa-ink) 66%, var(--psdfa-primary)) !important; font-weight: 900; }
.psdfa-review-form-message.is-restricted { border-color: color-mix(in srgb, var(--psdfa-primary) 35%, var(--psdfa-border)); background: color-mix(in srgb, var(--psdfa-primary) 5%, var(--psdfa-surface)); }
.psdfa-review-form-message.is-restricted > span { background: color-mix(in srgb, var(--psdfa-primary) 18%, var(--psdfa-surface)); color: #7a6300; }
.psdfa-rating-select-fallback { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }
.psdfa-review-rating-field { position: relative; }
.psdfa-review-rating-hint { display: block; margin-top: 7px; color: var(--psdfa-muted); font-size: 9.3px; line-height: 1.7; }
.psdfa-review-rating-control { display: flex; direction: ltr; justify-content: flex-end; gap: 2px; width: max-content; margin: 1px 0 0 auto; padding: 4px 6px; border: 1px solid var(--psdfa-border); border-radius: 9px; background: var(--psdfa-surface); }
.psdfa-review-star {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: color-mix(in srgb, var(--psdfa-muted) 72%, var(--psdfa-ink));
  font-size: 23px;
  line-height: 1;
  cursor: pointer;
  transition: color .12s ease, transform .12s ease, background .12s ease, box-shadow .12s ease;
}
.psdfa-review-star:hover,
.psdfa-review-star:focus-visible {
  background: color-mix(in srgb, var(--psdfa-primary) 16%, var(--psdfa-surface));
  color: #b98300;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--psdfa-primary) 36%, var(--psdfa-border));
  transform: translateY(-1px);
  outline: none;
}
.psdfa-review-star.is-active {
  background: color-mix(in srgb, var(--psdfa-primary) 18%, var(--psdfa-surface));
  color: #b98300;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--psdfa-primary) 46%, var(--psdfa-border));
}
.psdfa-review-rating-control.has-error { border-color: #c95858; box-shadow: 0 0 0 3px rgba(201,88,88,.08); }
.psdfa-review-rating-status { display: block; margin-top: 5px; color: color-mix(in srgb, var(--psdfa-ink) 58%, var(--psdfa-muted)); font-size: 9.2px; font-weight: 750; }
.psdfa-review-rating-control.has-error + .psdfa-review-rating-status { color: #b74848; }
.psdfa-reviews-closed { margin: 0; padding: 11px 13px; border-radius: 9px; background: color-mix(in srgb, var(--psdfa-bg) 60%, var(--psdfa-surface)); color: var(--psdfa-muted); font-size: 10.5px; }

/* On wide layouts the review form follows the review list while scrolling.
   Keep it below the sticky product tabs/header, but disable sticky behavior as
   soon as the reviews area becomes single-column. */
@container psdfa-reviews (min-width: 821px) {
  .psdfa-review-form-card {
    position: sticky;
    top: calc(var(--psdfa-header-height, 72px) + 96px);
    align-self: start;
    max-height: calc(100vh - var(--psdfa-header-height, 72px) - 116px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
.admin-bar .psdfa-review-form-card {
  --psdfa-review-admin-offset: 32px;
}
@container psdfa-reviews (min-width: 821px) {
  .admin-bar .psdfa-review-form-card {
    top: calc(var(--psdfa-header-height, 72px) + 128px);
    max-height: calc(100vh - var(--psdfa-header-height, 72px) - 148px);
  }
}

@container psdfa-reviews (max-width: 820px) {
  .psdfa-reviews-summary { grid-template-columns: minmax(155px,.7fr) minmax(240px,1.3fr); }
  .psdfa-reviews-summary-note { grid-column: 1 / -1; border-inline-start: 0 !important; border-top: 1px solid var(--psdfa-border); }
  .psdfa-reviews-content { grid-template-columns: 1fr; }
  .psdfa-review-form-card { max-width: none; }
  #review_form form.comment-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #review_form .comment-form-rating,
  #review_form .comment-form-comment,
  #review_form .form-submit,
  #review_form .must-log-in,
  #review_form .comment-form-cookies-consent { grid-column: 1 / -1; }
  #review_form .form-submit { justify-content: flex-start; }
  #review_form .form-submit input { width: auto; min-width: 140px; }
}
@container psdfa-reviews (max-width: 560px) {
  .psdfa-reviews-shell { gap: 16px; }
  .psdfa-reviews-heading { flex-direction: column; align-items: stretch; gap: 13px; padding-bottom: 15px; }
  .psdfa-reviews-write { width: 100%; }
  .psdfa-reviews-summary { grid-template-columns: 1fr; }
  .psdfa-reviews-summary > div + div { border-inline-start: 0; border-top: 1px solid var(--psdfa-border); }
  .psdfa-reviews-summary > div { padding: 15px; }
  .psdfa-reviews-summary-note { grid-column: auto; }
  .psdfa-reviews-content { gap: 16px; }
  .psdfa-reviews-empty { min-height: 210px; padding: 22px 16px; }
  .psdfa-review-card { grid-template-columns: 40px minmax(0,1fr); gap: 9px; padding: 12px; }
  .psdfa-review-avatar { width: 40px; height: 40px; }
  .psdfa-review-card-head { flex-direction: column; gap: 4px; }
  .psdfa-review-card-head time { align-self: flex-start; }
  .psdfa-review-form-card { padding: 14px; }
  #review_form form.comment-form { grid-template-columns: 1fr; }
  #review_form .psdfa-review-field,
  #review_form .comment-form-rating,
  #review_form .comment-form-comment,
  #review_form .form-submit,
  #review_form .must-log-in,
  #review_form .comment-form-cookies-consent { grid-column: 1; }
  #review_form .form-submit input { width: 100%; }
  .psdfa-review-rating-control { margin-inline-start: 0; }
}
@media (max-width: 640px) {
  .psdfa-reviews-heading { flex-direction: column; align-items: stretch; }
  .psdfa-reviews-write { width: 100%; }
}

/* Product specifications tab */
.psdfa-product-specs-tab-head { margin-bottom: 18px; }
.psdfa-product-specs-tab-head span { color: #856900; font-size: 11.5px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.psdfa-product-specs-tab-head h2 { margin: 2px 0 6px; }
.psdfa-product-specs-tab-head p { margin: 0; color: #646a70; font-size: 13px; }
.psdfa-product-specs-tab-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.psdfa-product-specs-tab-grid > div { display: grid; grid-template-columns: minmax(110px,38%) minmax(0,1fr); gap: 12px; align-items: center; min-height: 58px; padding: 11px 13px; border: 1px solid var(--psdfa-border); border-radius: 10px; background: #fafbfc; }
.psdfa-product-specs-tab-grid span { color: #8c9198; font-size: 11.5px; }
.psdfa-product-specs-tab-grid strong { min-width: 0; color: #3d434a; font-size: 12.5px; overflow-wrap: anywhere; }
.psdfa-product-specs-tab-grid a { color: #315f8d; }

/* Training and support tabs */
.psdfa-rtl-tab-panel > h2 { margin-top: 0; }
.psdfa-rtl-tab-copy { margin-bottom: 18px; white-space: pre-line; }
.psdfa-rtl-tab-cta { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 16px; border-radius: 9px; background: var(--psdfa-ink); color: #fff; font-size: 12.5px; font-weight: 850; text-decoration: none; }
.psdfa-rtl-tab-cta svg { width: 17px; height: 17px; }
.psdfa-rtl-support-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 20px 0; }
.psdfa-rtl-support-grid > div { display: flex; align-items: center; gap: 10px; min-height: 84px; padding: 13px; border: 1px solid var(--psdfa-border); border-radius: 10px; background: #fafbfc; }
.psdfa-rtl-support-grid svg { width: 21px; height: 21px; flex: 0 0 21px; }
.psdfa-rtl-support-grid span { display: flex; min-width: 0; flex-direction: column; }
.psdfa-rtl-support-grid small { color: #969ba2; font-size: 11.5px; }
.psdfa-rtl-support-grid strong { margin-top: 2px; color: #3d434a; font-size: 12.5px; }

/* Changelog, consult and related products */
.psdfa-rtl-changelog-section { margin-top: 16px; }
.psdfa-rtl-section-title span { color: #979ca3; font-size: 11.5px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.psdfa-rtl-section-title h2 { margin: 2px 0 11px; font-size: 23px; }
.psdfa-rtl-changelog-card { padding: 22px; border-radius: 13px; color: #555b63; font-size: 13.5px; line-height: 1.95; }
.psdfa-changelog-version { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--psdfa-border); }
.psdfa-changelog-version span { color: #30363d; font-size: 14px; font-weight: 900; }
.psdfa-changelog-version time { color: #989da4; font-size: 11px; }
.psdfa-rtl-changelog-card ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.psdfa-rtl-changelog-card li { display: flex; align-items: flex-start; gap: 8px; }
.psdfa-rtl-changelog-card li svg { width: 17px; height: 17px; margin-top: 5px; flex: 0 0 17px; color: #7f8c00; }

.psdfa-rtl-consult-card { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 14px; margin-top: 16px; padding: 19px 20px; border-radius: 13px; }
.psdfa-rtl-consult-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 11px; background: var(--psdfa-primary-soft); color: #796500; }
.psdfa-rtl-consult-icon svg { width: 22px; height: 22px; }
.psdfa-rtl-consult-card > div:nth-child(2) { display: flex; flex-direction: column; }
.psdfa-rtl-consult-card strong { font-size: 14.5px; }
.psdfa-rtl-consult-card span { margin-top: 3px; color: #8c9198; font-size: 11.5px; line-height: 1.8; }
.psdfa-rtl-consult-card > a { display: flex; align-items: center; justify-content: center; min-height: 43px; padding: 0 15px; border: 1px solid #dfe3e7; border-radius: 9px; color: #3d434a; font-size: 11.5px; font-weight: 850; }

.psdfa-rtl-product-maincol > .up-sells.products,
.psdfa-rtl-product-maincol > .related.products { margin-top: 16px; padding: 21px; border-radius: 13px; }
.psdfa-rtl-product-maincol > .up-sells.products > h2,
.psdfa-rtl-product-maincol > .related.products > h2 { margin: 0 0 17px; font-size: 22px; }
.psdfa-rtl-product-maincol > .up-sells.products ul.products,
.psdfa-rtl-product-maincol > .related.products ul.products { margin: 0; padding: 0; }

/* WooCommerce commerce-logic markup still in use */
.psdfa-rtl-cart-wrap table.variations { width: 100%; margin: 0 0 10px; border: 0; border-collapse: collapse; grid-column: 1 / -1; }
.psdfa-rtl-cart-wrap table.variations tr { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 8px; align-items: center; margin-bottom: 8px; }
.psdfa-rtl-cart-wrap table.variations th,
.psdfa-rtl-cart-wrap table.variations td { display: block; padding: 0; border: 0; text-align: right; }
.psdfa-rtl-cart-wrap table.variations label { font-size: 12px; font-weight: 850; color: #555b63; }
.psdfa-rtl-cart-wrap table.variations select { width: 100%; height: 46px; padding: 0 11px; border: 1px solid #dfe3e7; border-radius: 8px; background: #fff; color: #333940; outline: 0; }
.psdfa-rtl-cart-wrap .reset_variations { display: inline-flex; margin-top: 5px; color: #8a6e00; font-size: 11px; font-weight: 800; }
.psdfa-rtl-cart-wrap .single_variation_wrap { grid-column: 1 / -1; }
.psdfa-rtl-cart-wrap .woocommerce-variation-price { margin: 0 0 8px; }
.psdfa-rtl-cart-wrap .woocommerce-variation-price .price { font-size: 21px; font-weight: 900; }
.psdfa-rtl-cart-wrap .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: minmax(0,1fr); gap: 10px; width: 100%; }
.single-product .stock { margin: 8px 0; color: #66700c; font-size: 12px; font-weight: 800; }
.single-product .stock.out-of-stock { color: #aa2a2a; }
.single-product .woocommerce-notices-wrapper { margin: 0 0 14px; }
.single-product .woocommerce-message,
.single-product .woocommerce-info,
.single-product .woocommerce-error { position: relative; margin: 0 0 10px; padding: 13px 15px; border: 1px solid #dfe3e7; border-radius: 9px; background: #fff; list-style: none; color: #51575f; font-size: 12px; line-height: 1.8; }
.single-product .woocommerce-message { border-right: 3px solid #7b8c0c; }
.single-product .woocommerce-error { border-right: 3px solid #b83030; }
.single-product .woocommerce-info { border-right: 3px solid #3f6f9b; }
.single-product .woocommerce-message a.button,
.single-product .woocommerce-info a.button,
.single-product .woocommerce-error a.button { float: left; margin-right: 10px; font-weight: 850; }

/* Mobile purchase drawer */
.psdfa-mobile-purchase-backdrop,
.psdfa-rtl-mobile-buybar { display: none; }

/* Two-stage desktop purchase card.
 * Stage 1: compact and static beside the gallery.
 * Stage 2: after seller/specification cards have scrolled past, the exact same
 * purchase card expands and becomes sticky for the remainder of the product. */
@media (min-width: 901px) {
  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-support-satisfaction,
  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-buy-updated,
  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-buy-benefits-wrap,
  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-lifetime-note,
  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-secure-note {
    display: none;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-buy-card-head {
    padding: 15px 17px;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-buy-card-head strong {
    font-size: 16.5px;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-commerce-stats {
    margin: 13px 17px 0;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-commerce-stats > div {
    min-height: 70px;
    padding-block: 8px;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-commerce-stats strong {
    font-size: 17px;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-commerce-stats span {
    margin-top: 3px;
    font-size: 10.5px;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-price-block {
    margin-top: 14px;
    padding: 14px 17px 0;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-price-block .price {
    font-size: 25px;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-cart-wrap {
    margin-top: 9px;
    padding-inline: 17px;
  }

  .psdfa-rtl-buy-card.is-compact .psdfa-rtl-demo-secondary {
    min-height: 44px;
    margin: 8px 17px 16px;
  }

  .psdfa-rtl-purchase-initial-slot.is-card-moved {
    min-height: var(--psdfa-compact-purchase-height, 0px);
  }

  .psdfa-rtl-buy-card.is-sticky-expanded {
    position: sticky;
    top: var(--psdfa-product-purchase-sticky-top, 112px);
    z-index: 24;
    width: 100%;
    max-height: none;
    overflow: visible;
    box-shadow: 0 16px 38px rgba(17,24,39,.11);
    animation: psdfa-purchase-card-enter .18s ease-out;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-buy-card-head {
    padding-block: 14px;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-commerce-stats {
    margin-top: 13px;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-commerce-stats > div {
    min-height: 70px;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-buy-benefits-wrap {
    padding-top: 14px;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-buy-benefits {
    gap: 7px;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-buy-benefits-wrap:not(.is-expanded) .psdfa-rtl-buy-benefit-extra {
    display: none;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-buy-benefits li {
    font-size: 12.5px;
    line-height: 1.7;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-buy-benefits li:nth-child(3) {
    align-items: center;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-buy-benefits li:nth-child(3) > span:not(.psdfa-benefits-toggle-icon) {
    min-width: 0;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-buy-benefits-toggle {
    display: inline-flex;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-lifetime-note {
    margin-top: 13px;
    padding-block: 11px;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-price-block {
    margin-top: 14px;
    padding-top: 14px;
  }

  .psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-secure-note {
    margin-top: 13px;
    padding-bottom: 15px;
  }

  @keyframes psdfa-purchase-card-enter {
    from { opacity: .55; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
  }
}

/* Tablet */
@media (max-width: 1200px) {
  body.single-product .psdfa-rtl-product-layout {
    grid-template-columns: min(350px, var(--psdfa-product-sidebar)) minmax(0, 1fr);
    gap: 22px;
  }

  .psdfa-rtl-product .product_title { font-size: 27px; }
  .psdfa-rtl-metrics-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .psdfa-rtl-metrics-bar > div:nth-child(2) { border-left: 0; }
  .psdfa-rtl-metrics-bar > div:nth-child(-n+2) { border-bottom: 1px solid var(--psdfa-border); }
}

/* Mobile / small tablet */
@media (max-width: 900px) {
  body.single-product.psdfa-has-mobile-bottom-nav { padding-bottom: 0; }
  body.single-product .psdfa-mobile-bottom-nav { display: none; }
  body.single-product .psdfa-product-page { padding-block: 16px 104px; }
  body.single-product #psdfa-market-product-shell > .woocommerce-breadcrumb { margin-bottom: 12px; font-size: 11.5px; }

  .psdfa-rtl-product-head { align-items: flex-start; margin-bottom: 15px; padding-bottom: 16px; }
  .psdfa-rtl-product .product_title { font-size: clamp(22px, 5.4vw, 27px); line-height: 1.45; }
  .psdfa-rtl-product-head-meta { font-size: 11.5px; }

  body.single-product .psdfa-rtl-product-layout { grid-template-columns: 1fr; gap: 16px; }
  .psdfa-rtl-product-maincol { order: 1; }
  .psdfa-rtl-product-sidebar { position: static; order: 2; align-self: auto; }
  .psdfa-rtl-purchase-initial-slot { min-height: 0 !important; }
  .psdfa-rtl-purchase-sticky-trigger { display: none; }
  .psdfa-rtl-buy-card.is-sticky-expanded { position: fixed; top: auto; max-height: min(86vh, 760px); overflow-y: auto; animation: none; }

  /* Mobile purchase benefits: match the desktop 3-item collapsed pattern. */
  .psdfa-rtl-buy-benefits-wrap:not(.is-expanded) .psdfa-rtl-buy-benefit-extra { display: none; }
  .psdfa-rtl-buy-benefits li:nth-child(3) { align-items: center; }
  .psdfa-rtl-buy-benefits li:nth-child(3) > span:not(.psdfa-benefits-toggle-icon) { min-width: 0; }
  .psdfa-rtl-buy-benefits-toggle { display: inline-flex; }

  /* Purchase card becomes an accessible bottom sheet; seller/facts stay in flow. */
  .psdfa-rtl-product-sidebar .psdfa-rtl-buy-card {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10020;
    width: 100%;
    max-height: min(86vh, 760px);
    overflow-y: auto;
    border: 0;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -18px 60px rgba(15,20,28,.22);
    transform: translateY(calc(100% + 24px));
    visibility: hidden;
    transition: transform .24s ease, visibility .24s ease;
  }

  body.psdfa-purchase-open .psdfa-rtl-product-sidebar .psdfa-rtl-buy-card {
    transform: translateY(0);
    visibility: visible;
  }

  .psdfa-mobile-purchase-close {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-right: auto;
    border: 0;
    border-radius: 10px;
    background: #f1f3f5;
    color: #4f555d;
    cursor: pointer;
  }
  .psdfa-mobile-purchase-close svg { width: 18px; height: 18px; }
  .psdfa-rtl-buy-card-head > span { display: none; }

  .psdfa-mobile-purchase-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10010;
    display: block;
    border: 0;
    background: rgba(10,13,18,.46);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, visibility .2s ease;
  }
  body.psdfa-purchase-open .psdfa-mobile-purchase-backdrop { opacity: 1; visibility: visible; pointer-events: auto; }

  /* Keep third-party floating launchers out of the purchase bottom sheet.
     The widget returns automatically as soon as the sheet closes. */
  body.single-product .asanwp-floating-actions {
    transition: opacity .16s ease, visibility .16s ease;
  }
  body.single-product.psdfa-purchase-open .asanwp-floating-actions {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .psdfa-rtl-mobile-buybar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10000;
    display: grid;
    grid-template-columns: minmax(0,1fr) minmax(145px,42%);
    gap: 10px;
    align-items: center;
    min-height: 78px;
    padding: 10px max(14px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
    border-top: 1px solid var(--psdfa-border);
    background: rgba(255,255,255,.98);
    box-shadow: 0 -8px 28px rgba(17,24,39,.08);
    backdrop-filter: blur(12px);
  }
  .psdfa-rtl-mobile-buybar > div { min-width: 0; }
  .psdfa-rtl-mobile-buybar small { display: block; margin-bottom: 2px; color: #8b9097; font-size: 11.5px; }
  .psdfa-rtl-mobile-buybar .price { display: flex; align-items: baseline; gap: 5px; margin: 0; color: var(--psdfa-ink); font-size: 18px; font-weight: 950; white-space: nowrap; }
  .psdfa-rtl-mobile-buybar .price del { display: none; }
  .psdfa-rtl-mobile-buybar .price ins { text-decoration: none; }
  .psdfa-rtl-mobile-buybar > button { min-height: 50px; border: 0; border-radius: 10px; background: var(--psdfa-ink); color: #fff; font-size: 13px; font-weight: 900; cursor: pointer; }

  .psdfa-rtl-seller-card,
  .psdfa-rtl-product-facts { display: none; }

  .psdfa-product-specs-tab-grid { grid-template-columns: 1fr; }

  .psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs { top: 82px; }
  .admin-bar .psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs { top: 128px; }

  .psdfa-qa-head { flex-direction: column; }
  .psdfa-qa-stats { width: 100%; }
  .psdfa-rtl-support-grid { grid-template-columns: 1fr; }
}

/* Phone */
@media (max-width: 640px) {
  body.single-product .psdfa-product-page { padding-block: 12px 104px; }
  .psdfa-rtl-product-head { display: block; }
  .psdfa-rtl-product-title-row { gap: 8px; }
  .psdfa-rtl-product-title-row .product_title { flex-basis: 100%; }
  .psdfa-rtl-product-title-chips { gap: 6px; }
  .psdfa-rtl-product-kicker { min-height: 27px; padding-inline: 9px; font-size: 11.5px; }
  .psdfa-rtl-product .product_title { font-size: 21px; }
  .psdfa-rtl-version-chip { min-height: 29px; padding-inline: 9px; font-size: 11.5px; }
  .psdfa-rtl-product-head-meta { margin-top: 7px; font-size: 11.5px; line-height: 2; }
  .psdfa-rtl-product-head-meta > span:not(:last-child)::after { margin-inline: 7px; }

  .psdfa-amazing-offer { grid-template-columns: 1fr; gap: 12px; margin-bottom: 10px; padding: 14px 13px 17px; }
  .psdfa-amazing-offer-main { align-items: flex-start; }
  .psdfa-amazing-offer-icon { flex-basis: 40px; width: 40px; height: 40px; border-radius: 11px; }
  .psdfa-amazing-offer-copy > strong { font-size: 12.5px; }
  .psdfa-amazing-offer-time { justify-content: space-between; gap: 8px; }
  .psdfa-amazing-offer-time-label { display: none; }
  .psdfa-amazing-offer-countdown { width: 100%; justify-content: space-between; }
  .psdfa-amazing-offer-countdown > span { min-width: 0; width: 22%; min-height: 47px; }
  .psdfa-amazing-offer-countdown > i { margin-inline: 2px; }

  .psdfa-product-gallery-stage { aspect-ratio: var(--psdfa-gallery-mobile-aspect); }
  .psdfa-gallery-expand { top: 9px; inset-inline-end: 9px; width: 35px; height: 35px; }
  .psdfa-gallery-nav { width: 37px; height: 37px; margin-top: -18.5px; }
  .psdfa-gallery-prev { inset-inline-start: 9px; }
  .psdfa-gallery-next { inset-inline-end: 9px; }
  .psdfa-gallery-counter { inset-inline-start: 9px; bottom: 9px; }
  .psdfa-product-gallery-thumbs { gap: 7px; margin-top: 9px; padding: 0; scroll-padding-inline: 0; }
  .psdfa-gallery-thumb { flex: 0 0 max(var(--psdfa-gallery-mobile-thumb-size), var(--psdfa-gallery-mobile-thumb-basis)); width: max(var(--psdfa-gallery-mobile-thumb-size), var(--psdfa-gallery-mobile-thumb-basis)); height: auto; scroll-margin-inline: 0; }

  .psdfa-rtl-metrics-bar > div { min-height: 80px; padding: 10px; }
  .psdfa-rtl-metric-icon { width: 34px; height: 34px; flex-basis: 34px; }
  .psdfa-rtl-metrics-bar strong { font-size: 12px; }
  .psdfa-rtl-metrics-bar small { font-size: 11px; }
  .psdfa-rtl-product-lead { padding: 16px; font-size: 13.5px; }

  .psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs { top: 70px; padding-inline: 5px; }
  .psdfa-rtl-tabs-shell .woocommerce-tabs ul.tabs li a { padding: 14px 10px 12px; font-size: 12px; }
  .psdfa-rtl-tabs-shell .woocommerce-tabs .panel { padding: 22px 16px 28px; font-size: 14.5px; line-height: 2.08; }
  .psdfa-rtl-tabs-shell .woocommerce-tabs .panel > h2:first-child { font-size: 22px; }
  .psdfa-rtl-tabs-shell .woocommerce-tabs .panel h2 { font-size: 21px; }
  .psdfa-rtl-tabs-shell .woocommerce-tabs .panel h3 { font-size: 18px; }

  .psdfa-product-specs-tab-grid > div { grid-template-columns: 1fr; gap: 3px; min-height: 0; }

  .psdfa-qa-head { margin-bottom: 18px; }
  .psdfa-qa-head h2 { font-size: 21px; }
  .psdfa-qa-head p { font-size: 12.5px; }
  .psdfa-qa-stats { grid-template-columns: repeat(2,1fr); }
  .psdfa-qa-stats span { min-height: 66px; padding: 9px; }
  .psdfa-qa-question { grid-template-columns: 36px minmax(0,1fr); gap: 10px; padding: 14px; }
  .psdfa-qa-avatar { width: 36px; height: 36px; font-size: 14px; }
  .psdfa-qa-meta { gap: 5px; }
  .psdfa-qa-meta time { width: 100%; margin: 0; }
  .psdfa-qa-text { font-size: 13.5px; }
  .psdfa-qa-answer { grid-template-columns: 36px minmax(0,1fr); gap: 10px; margin: 0 14px 14px; padding: 13px; }
  .psdfa-qa-answer-mark { width: 36px; height: 36px; border-radius: 10px; font-size: 15px; }
  .psdfa-qa-waiting { margin: 0 14px 14px; }
  .psdfa-qa-compose-head { align-items: flex-start; flex-direction: column; }
  .psdfa-qa-compose-head small { max-width: none; }
  .psdfa-qa-form { grid-template-columns: 1fr; padding: 14px; }
  .psdfa-qa-field.is-wide,
  .psdfa-qa-form-footer { grid-column: auto; }
  .psdfa-qa-form-footer { align-items: stretch; flex-direction: column; }
  .psdfa-qa-form-footer button { width: 100%; }
  .psdfa-qa-restricted { align-items: flex-start; flex-wrap: wrap; }
  .psdfa-qa-restricted a { width: 100%; }

  #reviews .comment_container { grid-template-columns: 40px minmax(0,1fr); }
  #reviews img.avatar { width: 40px; height: 40px; }

  .psdfa-rtl-consult-card { grid-template-columns: 42px minmax(0,1fr); padding: 16px; }
  .psdfa-rtl-consult-icon { width: 42px; height: 42px; }
  .psdfa-rtl-consult-card > a { grid-column: 1 / -1; min-height: 44px; }

  .psdfa-gallery-lightbox { padding: 12px; }
  .psdfa-gallery-lightbox-close { top: 12px; inset-inline-end: 12px; }
  .psdfa-gallery-lightbox-nav { width: 42px; height: 42px; }
  .psdfa-gallery-lightbox-nav.is-prev { inset-inline-start: 10px; }
  .psdfa-gallery-lightbox-nav.is-next { inset-inline-end: 10px; }

  .psdfa-rtl-commerce-stats { margin-inline: 14px; }
  .psdfa-rtl-support-satisfaction,
  .psdfa-rtl-buy-updated { margin-inline: 14px; }
  .psdfa-rtl-buy-benefits-wrap,
  .psdfa-rtl-price-block,
  .psdfa-rtl-cart-wrap { padding-inline: 14px; }
  .psdfa-rtl-lifetime-note,
  .psdfa-rtl-demo-secondary,
  .psdfa-rtl-secure-note { margin-inline: 14px; }
  .psdfa-rtl-cart-wrap form.cart { grid-template-columns: minmax(0,1fr); }
  .psdfa-rtl-cart-wrap .quantity { width: 82px; }

  .psdfa-rtl-mobile-buybar { grid-template-columns: minmax(0,1fr) minmax(130px,44%); }
  .psdfa-rtl-mobile-buybar .price { font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .psdfa-gallery-main img,
  .psdfa-gallery-nav,
  .psdfa-amazing-offer-progress > span,
  .psdfa-rtl-cart-wrap .single_add_to_cart_button,
  .psdfa-rtl-product-sidebar .psdfa-rtl-buy-card,
  .psdfa-mobile-purchase-backdrop { transition: none; }
}

/* AJAX single-product purchase button */
.psdfa-rtl-cart-wrap .single_add_to_cart_button.is-ajax-loading {
  position: relative;
  color: transparent !important;
  pointer-events: none;
  transform: none !important;
}

.psdfa-rtl-cart-wrap .single_add_to_cart_button.is-ajax-loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  box-sizing: border-box;
  border: 2px solid rgba(255, 255, 255, .35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: psdfa-product-buy-spin .72s linear infinite;
}

.psdfa-rtl-cart-wrap .single_add_to_cart_button.is-ajax-success::after {
  content: "✓";
  margin-inline-start: 8px;
  font-size: 16px;
  line-height: 1;
}

@keyframes psdfa-product-buy-spin {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .psdfa-rtl-cart-wrap .single_add_to_cart_button.is-ajax-loading::after {
    animation-duration: 1.4s;
  }
}

/* Smooth gallery navigation and desktop pointer dragging. */
.psdfa-product-gallery-stage,
.psdfa-gallery-lightbox-panel {
  -webkit-user-select: none;
  user-select: none;
}

.psdfa-product-gallery-stage {
  touch-action: pan-y pinch-zoom;
}

.psdfa-gallery-lightbox-panel {
  touch-action: none;
}

.psdfa-gallery-main img,
.psdfa-gallery-lightbox-panel > img {
  -webkit-user-drag: none;
  user-select: none;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.psdfa-product-gallery.has-gallery-mouse-drag .psdfa-gallery-main {
  cursor: grab;
}

.psdfa-product-gallery-stage.is-dragging .psdfa-gallery-main,
.psdfa-gallery-lightbox-panel.has-mouse-drag { cursor: grab; }
.psdfa-product-gallery-stage.is-dragging .psdfa-gallery-main,
.psdfa-gallery-lightbox-panel.has-mouse-drag.is-dragging { cursor: grabbing; }

.psdfa-product-gallery-stage.is-dragging .psdfa-gallery-main img,
.psdfa-gallery-lightbox-panel.is-dragging > img {
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .psdfa-gallery-main img,
  .psdfa-gallery-lightbox-panel > img {
    transition: none !important;
  }
}

/* The AJAX success toast is the only post-purchase CTA on single products. */
.psdfa-rtl-cart-wrap form.cart > a.added_to_cart.wc-forward{display:none!important}


/* Unified short-description Chevron affordance. */
.psdfa-short-description-toggle{display:inline-flex;align-items:center;gap:5px}
.psdfa-short-description-toggle-chevron{display:inline-grid;place-items:center;width:14px;height:14px;transition:transform .18s ease}
.psdfa-short-description-toggle-chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.psdfa-rtl-product-lead.is-short-description-expanded .psdfa-short-description-toggle-chevron{transform:rotate(180deg)}

/* ================================================================
   PSDFA 0.4.3 — single-product stabilization layer
   Owns tabs/specifications/related-products/lightbox presentation.
   ================================================================ */

body.single-product .psdfa-rtl-product,
body.single-product .psdfa-rtl-product * {
  box-sizing: border-box;
}

body.single-product .psdfa-rtl-product button,
body.single-product .psdfa-rtl-product input,
body.single-product .psdfa-rtl-product select,
body.single-product .psdfa-rtl-product textarea {
  font-family: inherit;
}

/* Theme-owned tabs. No WooCommerce tab CSS/JS is required. */
.psdfa-rtl-tabs-shell {
  margin-top: 18px;
}

.psdfa-product-tabs {
  overflow: clip;
  border: 1px solid var(--psdfa-border);
  border-radius: 14px;
  background: var(--psdfa-surface);
  box-shadow: 0 2px 12px rgba(17,24,39,.035);
}

.psdfa-product-tabs__nav {
  position: sticky;
  top: calc(var(--psdfa-header-height, 72px) + 8px);
  z-index: 24;
  display: flex;
  align-items: stretch;
  gap: 2px;
  overflow-x: auto;
  padding: 0 12px;
  border-bottom: 1px solid var(--psdfa-border);
  background: rgba(255,255,255,.97);
  white-space: nowrap;
  scrollbar-width: none;
  backdrop-filter: blur(10px);
}

.admin-bar .psdfa-product-tabs__nav {
  top: calc(var(--psdfa-header-height, 72px) + 40px);
}

.psdfa-product-tabs__nav::-webkit-scrollbar { display: none; }

.psdfa-product-tab-button {
  position: relative;
  flex: 0 0 auto;
  min-height: 56px;
  margin: 0;
  padding: 0 16px;
  border: 0;
  background: transparent;
  color: #6b7075;
  font-size: 13.5px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
  transition: color .18s ease, background .18s ease;
}

.psdfa-product-tab-button::after {
  content: "";
  position: absolute;
  right: 16px;
  bottom: -1px;
  left: 16px;
  height: 3px;
  border-radius: 4px 4px 0 0;
  background: transparent;
  transform: scaleX(.45);
  transition: background .18s ease, transform .18s ease;
}

.psdfa-product-tab-button:hover { color: var(--psdfa-ink); }
.psdfa-product-tab-button.is-active { color: var(--psdfa-ink); }
.psdfa-product-tab-button.is-active::after {
  background: var(--psdfa-primary);
  transform: scaleX(1);
}
.psdfa-product-tab-button:focus-visible {
  outline: 2px solid rgba(255,204,0,.58);
  outline-offset: -3px;
  border-radius: 8px;
}

.psdfa-product-tab-panel {
  margin: 0;
  padding: 28px clamp(26px, 3vw, 42px) 32px;
  color: #4d545c;
  font-size: 15.5px;
  line-height: 2.15;
  overflow-wrap: anywhere;
}

/* The description is wrapped by JS when collapse is enabled. Keep its first
   authored element aligned with the normal panel top instead of inheriting an
   extra heading margin inside the wrapper. */
.psdfa-product-tab-panel[data-psdfa-tab-panel="description"] { padding-top: 22px; }
.psdfa-description-collapse-content > :first-child { margin-top: 0 !important; }
.psdfa-description-collapse-content > h2:first-child {
  color: #23282e;
  font-size: clamp(22px, 2vw, 27px);
  line-height: 1.65;
}

.psdfa-product-tabs.is-tabs-ready .psdfa-product-tab-panel:not(.is-active) {
  display: none;
}

.psdfa-product-tab-panel > h2:first-child {
  margin: 0 0 20px;
  color: #23282e;
  font-size: clamp(22px, 2vw, 27px);
  line-height: 1.65;
}
.psdfa-product-tab-panel h2 { margin: 30px 0 15px; color: #262c33; font-size: 23px; line-height: 1.7; }
.psdfa-product-tab-panel h3 { margin: 24px 0 12px; color: #2e343b; font-size: 19px; line-height: 1.75; }
.psdfa-product-tab-panel h4 { margin: 20px 0 10px; color: #333940; font-size: 17px; }
.psdfa-product-tab-panel p { margin: 0 0 20px; }
.psdfa-product-tab-panel ul,
.psdfa-product-tab-panel ol { margin: 0 0 22px; padding-inline-start: 24px; }
.psdfa-product-tab-panel li { margin-bottom: 8px; }
.psdfa-product-tab-panel img { display: block; max-width: 100%; height: auto; margin: 24px auto; border-radius: 10px; }
.psdfa-product-tab-panel iframe,
.psdfa-product-tab-panel video { max-width: 100%; border-radius: 10px; }
.psdfa-product-tab-panel blockquote {
  margin: 24px 0;
  padding: 16px 18px;
  border-inline-start: 4px solid var(--psdfa-primary);
  border-radius: 10px;
  background: #fffbed;
  color: #555b63;
}
.psdfa-product-tab-panel table {
  display: block;
  width: 100%;
  overflow-x: auto;
  margin: 22px 0;
  border-collapse: collapse;
  white-space: nowrap;
}
.psdfa-product-tab-panel th,
.psdfa-product-tab-panel td { padding: 12px 14px; border: 1px solid var(--psdfa-border); text-align: right; }
.psdfa-product-tab-panel th { background: #f8f9fa; font-weight: 850; }
.psdfa-product-tab-panel a:not(.button) { color: #315f8d; text-underline-offset: 3px; }

/* File specifications live inside their own tab. */
.psdfa-product-specs-tab { width: 100%; }
.psdfa-product-specs-tab-head {
  display: grid;
  gap: 3px;
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #eef0f2;
}
.psdfa-product-specs-tab-head > span {
  color: #856900;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.psdfa-product-specs-tab-head h2 {
  margin: 0;
  color: #20252b;
  font-size: 24px;
  line-height: 1.6;
}
.psdfa-product-specs-tab-head p {
  margin: 0;
  color: #646a70;
  font-size: 12.5px;
  line-height: 1.9;
}
.psdfa-product-specs-tab-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  margin: 0;
}
.psdfa-product-specs-tab-grid .psdfa-spec-row {
  display: grid;
  grid-template-columns: minmax(115px,36%) minmax(0,1fr);
  align-items: center;
  gap: 14px;
  min-height: 62px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #e8ebee;
  border-radius: 11px;
  background: #fafbfc;
}
.psdfa-product-specs-tab-grid .psdfa-spec-row.is-wide { grid-column: 1 / -1; }
.psdfa-product-specs-tab-grid dt {
  margin: 0;
  color: #646a70;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.8;
}
.psdfa-product-specs-tab-grid dd {
  min-width: 0;
  margin: 0;
  color: #363c43;
  font-size: 12.5px;
  font-weight: 850;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
.psdfa-product-specs-tab-grid .is-boolean dd { color: #536000; }
.psdfa-spec-yes { display: inline-flex; align-items: center; gap: 5px; color: #5e6b00; }
.psdfa-product-specs-tab-grid dd .psdfa-spec-yes { color: #536000; }
.psdfa-spec-yes > span { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 50%; background: #eef5d7; font-size: 11px; }
.psdfa-product-specs-tab .psdfa-software-list { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.psdfa-product-specs-tab .psdfa-software { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; min-height: 38px; padding: 4px; border: 1px solid #e4e7ea; border-radius: 9px; background: #fff; }
.psdfa-product-specs-tab .psdfa-software img { width: 28px; height: 28px; margin: 0; border-radius: 0; object-fit: contain; }
.psdfa-product-specs-tab .psdfa-software--text { padding-inline: 9px; color: #555b62; font-size: 11px; }

/* Theme-owned related products — no WooCommerce loop layout dependency. */
.psdfa-related-products {
  margin-top: 18px;
  padding: 22px;
  border: 1px solid var(--psdfa-border);
  border-radius: 14px;
  background: var(--psdfa-surface);
  box-shadow: 0 2px 12px rgba(17,24,39,.035);
}
.psdfa-related-products__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}
.psdfa-related-products__head > div { display: grid; gap: 2px; }
.psdfa-related-products__head span { color: #9a7a00; font-size: 10.5px; font-weight: 900; }
.psdfa-related-products__head h2 { margin: 0; color: #23282e; font-size: 22px; line-height: 1.6; }
.psdfa-related-products__head p { margin: 0; color: #646a70; font-size: 11.5px; line-height: 1.8; }
.woocommerce .psdfa-related-products__grid.products,
.woocommerce-page .psdfa-related-products__grid.products {
  display: grid;
  grid-template-columns: repeat(var(--psdfa-related-cols,3),minmax(0,1fr));
  gap: 14px;
}
.psdfa-related-products__grid > .product.psdfa-product-card {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}
.psdfa-related-products .psdfa-product-card-inner { height: 100%; }

/* Lightbox shows images at their natural size and never enlarges them to fill the viewport. */
.psdfa-gallery-lightbox {
  padding: 28px;
}
.psdfa-gallery-lightbox-panel {
  width: auto;
  height: auto;
  max-width: min(var(--psdfa-lightbox-max-width), calc(100vw - 112px));
  max-height: calc(100vh - 96px);
}
.psdfa-gallery-lightbox-panel > img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(var(--psdfa-lightbox-max-width), calc(100vw - 112px));
  max-height: calc(100vh - 96px);
  object-fit: contain;
  object-position: center;
}

/* Keep the long-description expander compatible with the custom tab panel. */
.psdfa-product-tab-panel.psdfa-description-collapse-panel.is-collapsed .psdfa-description-collapse-content {
  max-height: var(--psdfa-description-collapsed-height,760px);
}
.psdfa-product-tab-panel.psdfa-description-collapse-panel.is-collapsed .psdfa-description-collapse-content::after {
  background: linear-gradient(to bottom,rgba(255,255,255,0),var(--psdfa-surface,#fff) 84%);
}

@media (max-width: 900px) {
  .psdfa-product-tab-panel.psdfa-description-collapse-panel.is-collapsed .psdfa-description-collapse-content {
    max-height: var(--psdfa-description-collapsed-height-mobile,520px);
  }
}

@media (max-width: 1100px) {
  .woocommerce .psdfa-related-products__grid.products,
  .woocommerce-page .psdfa-related-products__grid.products { grid-template-columns: repeat(var(--psdfa-related-cols-tablet,2),minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .psdfa-product-tabs__nav { top: 76px; }
  .admin-bar .psdfa-product-tabs__nav { top: 108px; }
  .psdfa-product-specs-tab-grid { grid-template-columns: 1fr; }
  .psdfa-product-specs-tab-grid .psdfa-spec-row.is-wide { grid-column: auto; }
  .psdfa-gallery-lightbox-panel,
  .psdfa-gallery-lightbox-panel > img {
    max-width: calc(100vw - 48px);
    max-height: calc(100vh - 88px);
  }
}

@media (max-width: 620px) {
  .psdfa-product-tabs { border-radius: 12px; }
  .psdfa-product-tabs__nav { top: 66px; padding-inline: 6px; }
  .admin-bar .psdfa-product-tabs__nav { top: 66px; }
  .psdfa-product-tab-button { min-height: 50px; padding-inline: 11px; font-size: 12px; }
  .psdfa-product-tab-button::after { right: 11px; left: 11px; }
  .psdfa-product-tab-panel { padding: 20px 16px 24px; font-size: 14.5px; line-height: 2.05; }
  .psdfa-product-tab-panel[data-psdfa-tab-panel="description"] { padding-top: 16px; }
  .psdfa-description-collapse-panel.is-collapsed .psdfa-description-toggle { margin-top: -12px; }
  .psdfa-product-specs-tab-head h2 { font-size: 21px; }
  .psdfa-product-specs-tab-grid .psdfa-spec-row { grid-template-columns: 1fr; gap: 3px; min-height: 0; padding: 11px 12px; }
  .psdfa-related-products { padding: 16px 12px; }
  .psdfa-related-products__head { margin-bottom: 14px; padding-inline: 2px; }
  .psdfa-related-products__head h2 { font-size: 19px; }
  .psdfa-related-products__head p { display: none; }
  .woocommerce .psdfa-related-products__grid.products,
  .woocommerce-page .psdfa-related-products__grid.products { grid-template-columns: repeat(var(--psdfa-related-cols-mobile,2),minmax(0,1fr)); gap: 10px; }
  .psdfa-gallery-lightbox { padding: 12px; }
  .psdfa-gallery-lightbox-panel,
  .psdfa-gallery-lightbox-panel > img {
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 82px);
  }
}



/* ================================================================
   PSDFA 0.7.15 — premium audio-product hero + browser-neutral player
   ================================================================ */
.psdfa-product-media--audio { width: 100%; min-width: 0; }
.psdfa-audio-showcase {
  --psdfa-audio-hero-height: 380px;
  --psdfa-audio-hero-mobile-height: 300px;
  --psdfa-audio-overlay: .46;
  --psdfa-audio-bg-image: none;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: var(--psdfa-audio-hero-height);
  padding: 26px;
  background: #101113;
  color: #fff;
}
.psdfa-audio-showcase.is-minimal { min-height: 0; background: linear-gradient(135deg,#17191d,#262116); }
.psdfa-audio-showcase__background,
.psdfa-audio-showcase__shade { position: absolute; inset: 0; pointer-events: none; }
.psdfa-audio-showcase__background {
  z-index: -3;
  background-image: var(--psdfa-audio-bg-image);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.025);
}
.psdfa-audio-showcase__shade {
  z-index: -2;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,204,0,.16), transparent 26%),
    radial-gradient(circle at 82% 70%, rgba(255,204,0,.10), transparent 30%),
    linear-gradient(180deg, rgba(7,9,12,.28) 0%, rgba(7,9,12,var(--psdfa-audio-overlay)) 52%, rgba(7,9,12,.82) 100%);
}
.psdfa-audio-showcase__content {
  display: flex;
  min-height: calc(var(--psdfa-audio-hero-height) - 52px);
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
}
.psdfa-audio-showcase.is-minimal .psdfa-audio-showcase__content { min-height: 0; }
.psdfa-audio-showcase__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.psdfa-audio-showcase__badge,
.psdfa-audio-showcase__format {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(8,10,13,.45);
  color: rgba(255,255,255,.9);
  font-size: 11.5px;
  font-weight: 850;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.psdfa-audio-showcase__live-dot { width: 7px; height: 7px; margin-inline-end: 7px; border-radius: 50%; background: var(--psdfa-primary); box-shadow: 0 0 0 5px rgba(255,204,0,.11); }
.psdfa-audio-showcase__center { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(150px,auto); align-items: center; gap: 18px; margin-block: auto; }
.psdfa-audio-showcase__disc {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 50%;
  background: radial-gradient(circle at 42% 38%, #ffe675 0 8%, #ffce00 9% 22%, #17191d 23% 31%, #2c2d30 32% 53%, #0b0c0e 54% 100%);
  color: #111318;
  font-family: Arial,sans-serif;
  font-size: 30px;
  font-weight: 900;
  box-shadow: 0 18px 48px rgba(0,0,0,.3), inset 0 0 0 1px rgba(255,255,255,.08);
}
.psdfa-audio-showcase__copy { display: grid; gap: 3px; min-width: 0; }
.psdfa-audio-showcase__copy small { color: #ffdc35; font-size: 11px; font-weight: 850; }
.psdfa-audio-showcase__copy strong { overflow: hidden; color: #fff; font-size: clamp(18px,2.15vw,27px); font-weight: 950; line-height: 1.65; text-overflow: ellipsis; white-space: nowrap; text-shadow: 0 2px 14px rgba(0,0,0,.2); }
.psdfa-audio-showcase__copy span { color: rgba(255,255,255,.66); font-size: 12px; line-height: 1.8; }
.psdfa-audio-showcase__wave { display: flex; align-items: center; justify-content: flex-end; gap: 4px; height: 58px; opacity: .82; }
.psdfa-audio-showcase__wave i { display: block; width: 3px; height: 18px; border-radius: 99px; background: linear-gradient(180deg,#fff4ae,var(--psdfa-primary)); transform-origin: center; animation: psdfa-audio-wave 1.05s ease-in-out infinite alternate; animation-play-state: paused; }
.psdfa-audio-showcase__wave i:nth-child(3n+1) { height: 42px; animation-delay: -.35s; }
.psdfa-audio-showcase__wave i:nth-child(3n+2) { height: 27px; animation-delay: -.7s; }
.psdfa-audio-showcase__wave i:nth-child(4n) { height: 52px; animation-delay: -.2s; }
.psdfa-audio-showcase.is-playing .psdfa-audio-showcase__wave i { animation-play-state: running; }
@keyframes psdfa-audio-wave { from { transform: scaleY(.46); opacity: .5; } to { transform: scaleY(1); opacity: 1; } }

.psdfa-audio-player {
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto;
  align-items: center;
  gap: 15px;
  width: 100%;
  min-height: 84px;
  padding: 13px 15px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 16px;
  background: rgba(8,10,13,.68);
  box-shadow: 0 18px 46px rgba(0,0,0,.24);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}
.psdfa-audio-player [data-psdfa-audio-element] { display: none !important; }
.psdfa-audio-player button { font: inherit; }
.psdfa-audio-player__play,
.psdfa-audio-player__mute {
  display: grid;
  place-items: center;
  border: 0;
  cursor: pointer;
}
.psdfa-audio-player__play {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--psdfa-primary);
  color: #111318;
  box-shadow: 0 10px 25px rgba(255,204,0,.18);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.psdfa-audio-player__play:hover { transform: translateY(-1px) scale(1.025); box-shadow: 0 13px 30px rgba(255,204,0,.26); }
.psdfa-audio-player__play:focus-visible,
.psdfa-audio-player__mute:focus-visible,
.psdfa-audio-player input[type="range"]:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.psdfa-audio-player__play svg { width: 22px; height: 22px; stroke-width: 2.2; }
.psdfa-audio-player__timeline { display: grid; gap: 8px; min-width: 0; direction: ltr; }
.psdfa-audio-player__time { display: flex; align-items: center; gap: 5px; color: rgba(255,255,255,.66); font-variant-numeric: tabular-nums; font-size: 10.5px; font-weight: 750; }
.psdfa-audio-player input[type="range"] {
  --psdfa-audio-progress: 0%;
  width: 100%;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  direction: ltr;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.psdfa-audio-player input[type="range"]::-webkit-slider-runnable-track {
  height: 5px;
  border-radius: 99px;
  background: linear-gradient(90deg,var(--psdfa-primary) 0 var(--psdfa-audio-progress),rgba(255,255,255,.18) var(--psdfa-audio-progress) 100%);
}
.psdfa-audio-player input[type="range"]::-webkit-slider-thumb {
  width: 14px;
  height: 14px;
  margin-top: -4.5px;
  border: 2px solid #17191c;
  border-radius: 50%;
  background: var(--psdfa-primary);
  box-shadow: 0 0 0 2px rgba(255,255,255,.82);
  appearance: none;
  -webkit-appearance: none;
}
.psdfa-audio-player input[type="range"]::-moz-range-track { height: 5px; border: 0; border-radius: 99px; background: rgba(255,255,255,.18); }
.psdfa-audio-player input[type="range"]::-moz-range-progress { height: 5px; border-radius: 99px; background: var(--psdfa-primary); }
.psdfa-audio-player input[type="range"]::-moz-range-thumb { width: 12px; height: 12px; border: 2px solid #17191c; border-radius: 50%; background: var(--psdfa-primary); box-shadow: 0 0 0 2px rgba(255,255,255,.82); }
.psdfa-audio-player__volume { display: flex; align-items: center; gap: 7px; width: 118px; direction: ltr; }
.psdfa-audio-player__volume input { --psdfa-audio-progress:100%; width: 74px; }
.psdfa-audio-player__mute { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 9px; background: rgba(255,255,255,.08); color: rgba(255,255,255,.82); }
.psdfa-audio-player__mute:hover { background: rgba(255,255,255,.14); color: #fff; }
.psdfa-audio-player__mute svg { width: 18px; height: 18px; }
.psdfa-audio-showcase__note { display: flex; align-items: center; gap: 7px; color: rgba(255,255,255,.64); font-size: 10.5px; line-height: 1.8; }
.psdfa-audio-showcase__note > span { display: grid; place-items: center; width: 18px; height: 18px; flex: 0 0 18px; border-radius: 50%; background: rgba(255,204,0,.14); color: var(--psdfa-primary); font-weight: 950; }
.psdfa-audio-showcase.is-error .psdfa-audio-player__play { opacity: .48; cursor: not-allowed; }

@media (max-width: 720px) {
  .psdfa-audio-showcase { min-height: var(--psdfa-audio-hero-mobile-height); padding: 16px; }
  .psdfa-audio-showcase__content { min-height: calc(var(--psdfa-audio-hero-mobile-height) - 32px); gap: 14px; }
  .psdfa-audio-showcase__head { gap: 8px; }
  .psdfa-audio-showcase__badge,
  .psdfa-audio-showcase__format { min-height: 30px; padding-inline: 9px; font-size: 10px; }
  .psdfa-audio-showcase__center { grid-template-columns: 58px minmax(0,1fr); gap: 12px; }
  .psdfa-audio-showcase__disc { width: 58px; height: 58px; font-size: 24px; }
  .psdfa-audio-showcase__copy strong { font-size: 17px; }
  .psdfa-audio-showcase__copy span { display: none; }
  .psdfa-audio-showcase__wave { display: none; }
  .psdfa-audio-player { grid-template-columns: auto minmax(0,1fr); gap: 11px; min-height: 72px; padding: 10px; border-radius: 13px; }
  .psdfa-audio-player__play { width: 46px; height: 46px; }
  .psdfa-audio-player__volume { display: none; }
  .psdfa-audio-showcase__note { font-size: 9.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .psdfa-audio-showcase__wave i { animation: none !important; }
  .psdfa-audio-player__play { transition: none; }
}

/* 0.4.3 — audio-product fallback without a featured image. */
.psdfa-audio-empty {
  display: flex;
  min-height: 180px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 28px;
  border: 1px dashed var(--psdfa-border);
  border-radius: 12px;
  background: #fafbfc;
  color: var(--psdfa-muted);
  text-align: center;
}
.psdfa-audio-empty > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 50%;
  background: var(--psdfa-primary);
  color: #111;
  font-size: 22px;
  font-weight: 900;
}
.psdfa-audio-empty strong { color: var(--psdfa-ink); font-size: 13px; line-height: 1.9; }
@media (max-width: 640px) {
  .psdfa-audio-empty { min-height: 140px; flex-direction: column; padding: 22px 16px; }
}

/* ================================================================
   PSDFA 0.4.4 — product-page visual consolidation
   Keeps the 0.4.3 commerce/gallery engine, but gives file metadata,
   tags, purchase hierarchy and tab deep-links a coherent UI layer.
   ================================================================ */

/* Purchase sidebar: quieter hierarchy and denser supporting cards. */
.psdfa-rtl-buy-card {
  border: 1px solid var(--psdfa-border);
  background: var(--psdfa-surface);
  box-shadow: 0 3px 14px rgba(17,24,39,.045);
}

.psdfa-rtl-buy-card-head {
  padding-block: 16px;
}

.psdfa-rtl-buy-card-head > span {
  border: 1px solid #e7e9ec;
  background: #f8f9fa;
}

.psdfa-rtl-commerce-stats {
  background: #fbfbfc;
}

.psdfa-rtl-price-block .price {
  letter-spacing: -.015em;
}

.psdfa-rtl-seller-card.is-compact {
  padding: 15px;
}

.psdfa-rtl-seller-card.is-compact .psdfa-rtl-seller-logo {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  font-size: 20px;
}

.psdfa-rtl-seller-card.is-compact .psdfa-rtl-seller-head {
  grid-template-columns: 44px minmax(0,1fr) 22px;
  gap: 10px;
}

.psdfa-rtl-seller-card.is-compact .psdfa-rtl-verified {
  width: 22px;
  height: 22px;
}

.psdfa-rtl-seller-card.is-compact p {
  margin: 10px 0;
  color: #646a70;
  font-size: 11.8px;
  line-height: 1.9;
}

.psdfa-rtl-seller-card.is-compact .psdfa-rtl-seller-meta {
  margin-top: 8px;
}

.psdfa-rtl-seller-card.is-compact .psdfa-rtl-seller-meta span {
  min-height: 38px;
  background: #fcfcfd;
}

.psdfa-rtl-product-facts {
  padding: 15px 16px;
}

.psdfa-rtl-product-facts h2 {
  margin-bottom: 7px;
  color: #2b3036;
  font-size: 15px;
}

.psdfa-rtl-product-facts > div {
  grid-template-columns: 96px minmax(0,1fr);
  min-height: 40px;
  gap: 8px;
  font-size: 12px;
}

.psdfa-rtl-product-facts strong {
  font-size: 12px;
}

/* File highlights are a real card now instead of unstyled ACF output. */
.psdfa-product-highlights {
  margin-top: 14px;
  overflow: hidden;
  border: 1px solid var(--psdfa-border);
  border-radius: 13px;
  background: var(--psdfa-surface);
  box-shadow: 0 2px 10px rgba(17,24,39,.03);
}

.psdfa-product-highlights__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 54px;
  padding: 10px 15px;
  border-bottom: 1px solid #eef0f2;
  background: #fcfcfd;
}

.psdfa-product-highlights__head > div {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

.psdfa-product-highlights__head > div > span {
  color: #9a7a00;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}

.psdfa-product-highlights__head > div > strong {
  color: #343a40;
  font-size: 13px;
  font-weight: 900;
}

.psdfa-product-highlights__more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  margin: 0;
  padding: 6px 0;
  border: 0;
  background: transparent;
  color: #6e747b;
  font-family: inherit;
  font-size: 10.5px;
  font-weight: 850;
  cursor: pointer;
}

.psdfa-product-highlights__more:hover {
  color: #2d3238;
}

.psdfa-product-highlights__more:focus-visible {
  outline: 2px solid rgba(255,204,0,.55);
  outline-offset: 3px;
  border-radius: 4px;
}

.psdfa-quick-facts {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
}

.psdfa-quick-fact {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 72px;
  padding: 12px 14px;
}

.psdfa-quick-fact:not(:last-child) {
  border-inline-end: 1px solid #eef0f2;
}

.psdfa-quick-fact__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 9px;
  background: #f5f6f7;
  color: #5b6168;
}

.psdfa-quick-fact__icon svg {
  width: 16px;
  height: 16px;
}

.psdfa-quick-fact__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.psdfa-quick-fact__copy small {
  color: #646a70;
  font-size: 10.5px;
  line-height: 1.55;
}

.psdfa-quick-fact__copy strong {
  overflow: hidden;
  color: #383e45;
  font-size: 12.2px;
  font-weight: 900;
  line-height: 1.7;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Short description sits visually between metadata and full content. */
.psdfa-rtl-product-lead {
  position: relative;
  margin-top: 14px;
  padding: 16px 18px 16px 22px;
  border-radius: 13px;
  color: #626970;
  font-size: 13.6px;
  line-height: 2.05;
}

.psdfa-rtl-product-lead::before {
  content: "";
  position: absolute;
  top: 16px;
  right: 0;
  bottom: 16px;
  width: 3px;
  border-radius: 3px 0 0 3px;
  background: var(--psdfa-primary);
}

.psdfa-rtl-product-lead .woocommerce-product-details__short-description,
.psdfa-rtl-product-lead .woocommerce-product-details__short-description > :last-child {
  margin-bottom: 0;
}

/* Product tags: compact chips inside a defined container. */
.psdfa-product-tags {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-items: start;
  gap: 12px 16px;
  margin-top: 15px;
  padding: 15px 17px;
  border: 1px solid var(--psdfa-border);
  border-radius: 13px;
  background: var(--psdfa-surface);
  box-shadow: 0 2px 10px rgba(17,24,39,.025);
}

.psdfa-product-tags__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  color: #565c63;
  white-space: nowrap;
}

.psdfa-product-tags__label > span {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 8px;
  background: var(--psdfa-primary-soft);
  color: #755f00;
  font-size: 13px;
  font-weight: 950;
}

.psdfa-product-tags__label strong {
  font-size: 12px;
  font-weight: 900;
}

.psdfa-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}

.psdfa-tag-list a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid #e5e7ea;
  border-radius: 8px;
  background: #fafbfc;
  color: #5e646b;
  font-size: 10.8px;
  font-weight: 750;
  line-height: 1.5;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.psdfa-tag-list a:hover {
  border-color: #d6bd43;
  background: #fffbed;
  color: #4d4200;
}

.psdfa-tag-list a:focus-visible {
  outline: 2px solid rgba(255,204,0,.5);
  outline-offset: 2px;
}

/* Cleaner custom tabs and review count badge. */
.psdfa-product-tab-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
}

.psdfa-product-tab-count {
  display: inline-grid;
  min-width: 21px;
  height: 21px;
  place-items: center;
  padding-inline: 5px;
  border-radius: 7px;
  background: #f0f2f4;
  color: #7a8087;
  font-size: 9.5px;
  font-weight: 900;
}

.psdfa-product-tab-button.is-active .psdfa-product-tab-count {
  background: var(--psdfa-primary-soft);
  color: #6e5900;
}

.psdfa-product-tab-panel,
#reviews,
#review_form_wrapper,
#comments {
  scroll-margin-top: calc(var(--psdfa-header-height,72px) + 78px);
}

/* A tall expanded purchase card must never get a negative sticky offset. */
@media (min-width: 901px) {
  .psdfa-rtl-buy-card.is-sticky-expanded {
    max-height: calc(100vh - var(--psdfa-product-purchase-sticky-top,112px) - 18px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
}

@media (max-width: 1100px) {
  .psdfa-quick-facts {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .psdfa-quick-fact:nth-child(2n+1) {
    border-inline-end: 1px solid #eef0f2;
  }
  .psdfa-quick-fact:nth-child(2n) {
    border-inline-end: 0;
  }
  .psdfa-quick-fact:nth-child(n+3) {
    border-top: 1px solid #eef0f2;
  }
}

@media (max-width: 620px) {
  .psdfa-product-highlights__head {
    align-items: flex-start;
    min-height: 0;
    padding: 11px 12px;
  }
  .psdfa-product-highlights__head > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 1px;
  }
  .psdfa-product-highlights__more {
    min-height: 34px;
  }
  .psdfa-quick-fact {
    min-height: 66px;
    padding: 10px 11px;
  }
  .psdfa-quick-fact__icon {
    width: 31px;
    height: 31px;
    flex-basis: 31px;
  }
  .psdfa-quick-fact__copy strong {
    font-size: 11.5px;
  }
  .psdfa-rtl-product-lead {
    padding: 14px 15px 14px 18px;
    font-size: 13px;
  }
  .psdfa-product-tags {
    grid-template-columns: 1fr;
    gap: 9px;
    padding: 13px;
  }
  .psdfa-product-tags__label {
    min-height: 28px;
  }
  .psdfa-tag-list {
    gap: 6px;
  }
  .psdfa-tag-list a {
    min-height: 30px;
    padding-inline: 9px;
    font-size: 10.5px;
  }
  .admin-bar .psdfa-product-tabs__nav {
    top: 112px;
  }
  .psdfa-product-tab-panel,
  #reviews,
  #review_form_wrapper,
  #comments {
    scroll-margin-top: 126px;
  }
}

@media (max-width: 410px) {
  .psdfa-quick-facts {
    grid-template-columns: 1fr;
  }
  .psdfa-quick-fact,
  .psdfa-quick-fact:nth-child(2n+1),
  .psdfa-quick-fact:nth-child(2n) {
    border-inline-end: 0;
  }
  .psdfa-quick-fact + .psdfa-quick-fact {
    border-top: 1px solid #eef0f2;
  }
}


/* ================================================================
   PSDFA 0.4.5 — purchase-card CTA cleanup
   Fixes the noisy purchase box visual hierarchy seen in QA screenshots.
   ================================================================ */
.psdfa-rtl-buy-card-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
  gap: 12px;
}

.psdfa-rtl-buy-card-head > div {
  gap: 2px;
}

.psdfa-rtl-buy-card-head small {
  letter-spacing: -.01em;
}

.psdfa-rtl-buy-card-head strong {
  line-height: 1.35;
}

.psdfa-rtl-buy-updated {
  justify-content: space-between;
  padding: 12px 14px;
}

.psdfa-rtl-buy-updated > span {
  min-width: 0;
}

.psdfa-rtl-buy-updated strong {
  font-size: 13px;
}

.psdfa-rtl-buy-benefits li {
  font-size: 13px;
}

.psdfa-rtl-lifetime-note {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 38px;
  align-items: center;
  gap: 10px;
  padding: 12px 13px;
}

.psdfa-rtl-lifetime-note__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.55;
}

.psdfa-rtl-lifetime-note__copy strong {
  color: #534800;
  font-size: 12.5px;
  font-weight: 900;
}

.psdfa-rtl-lifetime-note__copy small {
  color: #7a6b00;
  font-size: 11px;
}

.psdfa-rtl-lifetime-note__file {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 56px;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #d9be43;
  border-radius: 999px;
  background: rgba(255,255,255,.46);
  color: #5c4f00;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.psdfa-rtl-lifetime-note__icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255,255,255,.38);
}

.psdfa-rtl-lifetime-note__icon svg {
  width: 18px;
  height: 18px;
}

.psdfa-rtl-price-block {
  padding-bottom: 2px;
}

.psdfa-rtl-price-heading {
  margin-bottom: 2px;
}

.psdfa-rtl-price-block .price {
  line-height: 1.35;
}

.psdfa-rtl-cart-wrap .single_add_to_cart_button,
.psdfa-download-button,
.psdfa-membership-button {
  position: relative;
  isolation: isolate;
}

.psdfa-rtl-cart-wrap .single_add_to_cart_button {
  min-height: 56px;
  border-radius: 11px;
  font-size: 15px;
  line-height: 1.25;
}

.psdfa-download-button,
.psdfa-membership-button {
  display: grid;
  grid-template-columns: 40px minmax(0,1fr) 20px;
  align-items: center;
  gap: 10px;
  width: calc(100% - 38px);
  min-height: 56px;
  margin: 10px 19px 0;
  padding: 11px 14px;
  border-radius: 11px;
  text-decoration: none;
  box-sizing: border-box;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.psdfa-download-button:hover,
.psdfa-membership-button:hover {
  transform: translateY(-1px);
}

.psdfa-download-button {
  border: 1px solid #dfe3e7;
  background: #f7f8fa;
  color: #20252b;
}

.psdfa-download-button:hover {
  box-shadow: 0 8px 22px rgba(17,24,39,.08);
}

.psdfa-membership-button {
  border: 1px solid #c89f00;
  background: linear-gradient(180deg,#ffd83d 0%,#ffcc00 100%);
  color: #17191c;
  box-shadow: 0 8px 20px rgba(176,136,0,.18);
}

.psdfa-membership-button:hover {
  box-shadow: 0 10px 24px rgba(176,136,0,.24);
}

.psdfa-download-button > span,
.psdfa-membership-button__copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.45;
}

.psdfa-download-button strong,
.psdfa-membership-button strong {
  font-size: 13.5px;
  font-weight: 900;
}

.psdfa-download-button small,
.psdfa-membership-button small {
  font-size: 10.5px;
  color: #6a7078;
}

.psdfa-membership-button small {
  color: rgba(23,25,28,.74);
}

.psdfa-download-button svg,
.psdfa-membership-button__icon,
.psdfa-membership-button__arrow {
  display: grid;
  place-items: center;
}

.psdfa-download-button > svg,
.psdfa-membership-button__icon svg,
.psdfa-membership-button__arrow svg {
  width: 19px;
  height: 19px;
}

.psdfa-download-button > svg,
.psdfa-membership-button__icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: rgba(255,255,255,.74);
}

.psdfa-membership-button__arrow {
  color: rgba(0,0,0,.76);
}

.psdfa-membership-button__arrow svg {
  transform: rotate(180deg);
}

.psdfa-secondary-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
  margin: 10px 19px 0;
}

.psdfa-secondary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid #dde2e7;
  border-radius: 10px;
  background: #fff;
  color: #2f353b;
  font-size: 12.5px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

button.psdfa-secondary-action {
  font-family: inherit;
}

.psdfa-secondary-action:hover {
  border-color: #cad0d7;
  background: #f7f9fb;
  transform: translateY(-1px);
}

.psdfa-secondary-action svg {
  width: 16px;
  height: 16px;
}

.psdfa-copy-link.is-copied {
  border-color: #c0d96e;
  background: #f5fadf;
  color: #4a6200;
}

.psdfa-rtl-secure-note {
  margin-top: 14px;
  padding: 14px 19px 18px;
  background: linear-gradient(180deg, rgba(245,247,249,.68) 0%, rgba(255,255,255,0) 100%);
}

.psdfa-rtl-secure-note > span {
  min-width: 0;
}

.psdfa-rtl-secure-note strong {
  color: #252a30;
}

@media (max-width: 900px) {
  .psdfa-download-button,
  .psdfa-membership-button {
    width: calc(100% - 28px);
    margin-inline: 14px;
  }

  .psdfa-secondary-actions {
    margin-inline: 14px;
  }
}

@media (max-width: 560px) {
  .psdfa-download-button,
  .psdfa-membership-button {
    grid-template-columns: 40px minmax(0,1fr) 16px;
    gap: 9px;
    min-height: 54px;
    padding-inline: 12px;
  }

  .psdfa-download-button strong,
  .psdfa-membership-button strong {
    font-size: 13px;
  }

  .psdfa-download-button small,
  .psdfa-membership-button small {
    font-size: 10px;
  }

  .psdfa-secondary-actions {
    grid-template-columns: 1fr 1fr;
  }

  .psdfa-secondary-action {
    min-height: 38px;
    padding-inline: 10px;
    font-size: 12px;
  }

  .psdfa-rtl-lifetime-note {
    grid-template-columns: minmax(0,1fr) auto;
  }

  .psdfa-rtl-lifetime-note__icon {
    display: none;
  }
}


/* ================================================================
   PSDFA 0.4.6 — compact purchase-card bottom-action spacing fix
   Keeps the 0.4.5 CTA styles and only separates the bottom action buttons.
   ================================================================ */
.psdfa-secondary-actions {
  margin: 12px 19px 18px;
  align-items: stretch;
}

.psdfa-secondary-action {
  min-height: 42px;
  border-radius: 12px;
}

.psdfa-secondary-action:last-child,
.psdfa-secondary-action:first-child {
  margin: 0;
}

@media (max-width: 900px) {
  .psdfa-secondary-actions {
    margin: 12px 14px 18px;
  }
}

@media (max-width: 560px) {
  .psdfa-secondary-actions {
    margin-bottom: 16px;
  }

  .psdfa-secondary-action {
    min-height: 40px;
    border-radius: 11px;
  }
}


/* Active membership information replaces price in sticky purchase surfaces. */
.psdfa-rtl-membership-block {
  margin: 17px 19px 0;
  padding: 14px;
  border: 1px solid #e6dfb3;
  border-radius: 11px;
  background: linear-gradient(135deg, #fffdf0 0%, #fff 62%);
}
.psdfa-rtl-membership-block__head {
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) auto;
  gap: 10px;
  align-items: center;
}
.psdfa-rtl-membership-block__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #fff3ad;
  color: #6b5a00;
}
.psdfa-rtl-membership-block__icon svg { width: 19px; height: 19px; }
.psdfa-rtl-membership-block__copy { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.psdfa-rtl-membership-block__copy small { color: #8b8365; font-size: 11px; }
.psdfa-rtl-membership-block__copy strong { overflow: hidden; color: #292714; font-size: 14px; font-weight: 950; text-overflow: ellipsis; white-space: nowrap; }
.psdfa-rtl-membership-block__head em { padding: 4px 8px; border-radius: 999px; background: #edf8ef; color: #22743a; font-size: 10.5px; font-style: normal; font-weight: 900; white-space: nowrap; }
.psdfa-rtl-membership-block__head em.is-expiring { background: #fff0e3; color: #9b5417; }
.psdfa-rtl-membership-block__meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 12px; }
.psdfa-rtl-membership-block__meta > span { min-width: 0; padding: 9px 10px; border: 1px solid rgba(117,103,27,.10); border-radius: 9px; background: rgba(255,255,255,.72); }
.psdfa-rtl-membership-block__meta small,
.psdfa-rtl-membership-block__meta strong { display: block; }
.psdfa-rtl-membership-block__meta small { margin-bottom: 2px; color: #999078; font-size: 10.5px; }
.psdfa-rtl-membership-block__meta strong { overflow: hidden; color: #37331e; font-size: 12px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.psdfa-rtl-membership-block__expiry { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; padding-top: 9px; border-top: 1px dashed rgba(117,103,27,.18); color: #81785f; font-size: 10.5px; }
.psdfa-rtl-membership-block__expiry strong { color: #4a442d; font-size: 11.5px; font-weight: 900; white-space: nowrap; }

.psdfa-rtl-buy-card.is-sticky-expanded .psdfa-rtl-membership-block { margin-top: 14px; }

@media (max-width: 900px) {
  .psdfa-rtl-mobile-membership { min-width: 0; display: grid; align-content: center; gap: 1px; }
  .psdfa-rtl-mobile-membership small { display: flex; align-items: center; gap: 4px; margin: 0; color: #7d806d; font-size: 10.5px; }
  .psdfa-rtl-mobile-membership small svg { width: 13px; height: 13px; flex: 0 0 13px; }
  .psdfa-rtl-mobile-membership strong { overflow: hidden; color: var(--psdfa-ink); font-size: 14px; font-weight: 950; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
  .psdfa-rtl-mobile-membership > span { overflow: hidden; color: #7b8086; font-size: 10.5px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
  .psdfa-rtl-mobile-buybar.has-membership { min-height: 82px; }
}

@media (max-width: 640px) {
  .psdfa-rtl-membership-block { margin-inline: 14px; }
  .psdfa-rtl-membership-block__meta { grid-template-columns: 1fr 1fr; }
}

/* ================================================================
   PSDFA 0.7.0 — tighter product intro, clearer download CTA,
   compact sticky purchase card, and rebuilt adjacent-product nav.
   ================================================================ */
body.single-product .psdfa-woocommerce-main {
  padding-top: 14px;
}

body.single-product .psdfa-woocommerce-main > .psdfa-container > .woocommerce-breadcrumb {
  margin-bottom: 7px;
}

body.single-product .psdfa-rtl-product-head {
  margin-bottom: 12px;
  padding-top: 0;
  padding-bottom: 12px;
}

/* Adjacent products: replace ambiguous standalone arrows with labeled controls. */
.psdfa-product-nav {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  gap: 8px;
  max-width: 410px;
  flex: 0 0 auto;
}

.psdfa-product-nav__item {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 196px;
  min-height: 54px;
  padding: 7px 9px;
  border: 1px solid var(--psdfa-border);
  border-radius: 11px;
  background: var(--psdfa-surface);
  color: var(--psdfa-ink);
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(17, 24, 39, .035);
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.psdfa-product-nav__item.is-next {
  grid-template-columns: minmax(0, 1fr) 34px;
}

.psdfa-product-nav__item:hover {
  border-color: #d6bd4d;
  background: #fffdf4;
  box-shadow: 0 7px 18px rgba(17, 24, 39, .07);
  transform: translateY(-1px);
}

.psdfa-product-nav__icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: #f3f4f5;
  color: #555c64;
}

.psdfa-product-nav__item:hover .psdfa-product-nav__icon {
  background: var(--psdfa-primary-soft);
  color: #6f5c00;
}

.psdfa-product-nav__icon svg {
  width: 17px;
  height: 17px;
}

.psdfa-product-nav__item.is-next .psdfa-product-nav__icon svg {
  transform: rotate(180deg);
}

.psdfa-product-nav__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1px;
  line-height: 1.55;
}

.psdfa-product-nav__copy small {
  color: #969ba2;
  font-size: 10px;
  font-weight: 750;
}

.psdfa-product-nav__copy strong {
  overflow: hidden;
  color: #353b42;
  font-size: 11.5px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Direct download is the primary action for members/free products. */
.psdfa-download-button {
  border-color: #111820;
  background: linear-gradient(180deg, #202a34 0%, #111820 100%);
  color: #fff;
  box-shadow: 0 9px 22px rgba(17, 24, 32, .17);
}

.psdfa-download-button:hover {
  border-color: #05090d;
  background: linear-gradient(180deg, #18212a 0%, #090e13 100%);
  color: #fff;
  box-shadow: 0 11px 26px rgba(17, 24, 32, .24);
}

.psdfa-download-button > svg {
  background: var(--psdfa-primary);
  color: #17191c;
}

.psdfa-download-button strong {
  color: #fff;
}

.psdfa-download-button small {
  color: rgba(255, 255, 255, .72);
}

/* The second/sticky purchase card remains compact, so document scrolling is
   always used and the card never gets its own internal scrollbar. */
@media (min-width: 901px) {
  .psdfa-rtl-buy-card.is-sticky-expanded {
    max-height: none;
    overflow: visible;
    overscroll-behavior: auto;
    scrollbar-width: auto;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .psdfa-product-nav {
    max-width: 330px;
  }
  .psdfa-product-nav__item {
    width: 160px;
  }
  .psdfa-product-nav__copy strong {
    max-width: 108px;
  }
}

@media (max-width: 900px) {
  body.single-product .psdfa-woocommerce-main {
    padding-top: 10px;
  }

  body.single-product .psdfa-woocommerce-main > .psdfa-container > .woocommerce-breadcrumb {
    margin-bottom: 6px;
  }

  .psdfa-product-nav {
    width: 100%;
    max-width: none;
    margin-top: 10px;
    justify-content: stretch;
  }

  .psdfa-product-nav__item {
    width: auto;
    flex: 1 1 0;
    min-height: 48px;
  }
}

@media (max-width: 520px) {
  .psdfa-product-nav__item {
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 6px;
    padding: 6px 7px;
  }

  .psdfa-product-nav__item.is-next {
    grid-template-columns: minmax(0, 1fr) 30px;
  }

  .psdfa-product-nav__icon {
    width: 30px;
    height: 30px;
  }

  .psdfa-product-nav__copy strong {
    font-size: 10.5px;
  }
}


/* ================================================================
   PSDFA 0.7.1 — preserve full sticky card; mobile-safe adjacent navigation
   ================================================================ */
@media (min-width: 901px) {
  /* Keep the expanded/full sticky-card presentation from 0.6.9, but page
     scrolling owns the scroll instead of the card itself. */
  .psdfa-rtl-buy-card.is-sticky-expanded {
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    scrollbar-width: auto !important;
  }
}

@media (max-width: 900px) {
  body.single-product .psdfa-rtl-product-head {
    display: block !important;
    width: 100%;
    min-width: 0;
  }

  body.single-product .psdfa-rtl-product-head-main,
  body.single-product .psdfa-rtl-product-title-row,
  body.single-product .psdfa-product-nav {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.single-product .psdfa-product-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
    overflow: hidden;
  }

  body.single-product .psdfa-product-nav__item,
  body.single-product .psdfa-product-nav__item.is-next {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 6px;
    box-sizing: border-box;
  }

  body.single-product .psdfa-product-nav__item.is-next {
    grid-template-columns: minmax(0, 1fr) 30px;
  }

  body.single-product .psdfa-product-nav__copy,
  body.single-product .psdfa-product-nav__copy strong,
  body.single-product .psdfa-product-nav__copy small {
    min-width: 0;
    max-width: 100%;
  }

  body.single-product .psdfa-product-nav__copy strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (max-width: 430px) {
  body.single-product .psdfa-product-nav {
    gap: 6px;
  }

  body.single-product .psdfa-product-nav__item,
  body.single-product .psdfa-product-nav__item.is-next {
    min-height: 46px;
    padding: 6px;
  }

  body.single-product .psdfa-product-nav__copy small {
    font-size: 9px;
  }

  body.single-product .psdfa-product-nav__copy strong {
    font-size: 10px;
  }
}

/* ================================================================
   PSDFA 0.7.7 — membership-aware mobile product action.
   Members see a compact subscription summary and a styled action that
   opens the existing purchase bottom sheet; the actual download stays
   inside the sheet with the full membership details.
   ================================================================ */
@media (max-width: 900px) {
  .psdfa-rtl-mobile-buybar.has-membership {
    grid-template-columns: minmax(0, 1fr) minmax(132px, 38%);
    gap: 12px;
    min-height: 78px;
  }

  .psdfa-rtl-mobile-buybar.has-membership .psdfa-rtl-mobile-membership {
    gap: 0;
    padding-inline: 2px;
  }

  .psdfa-rtl-mobile-buybar.has-membership .psdfa-rtl-mobile-membership small {
    gap: 5px;
    margin-bottom: 1px;
    color: #8a8063;
    font-size: 10.5px;
    font-weight: 750;
  }

  .psdfa-rtl-mobile-buybar.has-membership .psdfa-rtl-mobile-membership small svg {
    color: #8a7100;
  }

  .psdfa-rtl-mobile-buybar.has-membership .psdfa-rtl-mobile-membership strong {
    font-size: 13.5px;
    line-height: 1.45;
  }

  .psdfa-rtl-mobile-buybar.has-membership .psdfa-rtl-mobile-membership > span {
    margin-top: 1px;
    color: #777d84;
    font-size: 10.5px;
  }

  .psdfa-rtl-mobile-buybar__download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 8px 11px;
    border: 1px solid #111820;
    border-radius: 12px;
    background: linear-gradient(180deg, #202a34 0%, #111820 100%);
    color: #fff;
    box-shadow: 0 7px 18px rgba(17, 24, 32, .16);
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
  }

  .psdfa-rtl-mobile-buybar__download:hover,
  .psdfa-rtl-mobile-buybar__download:focus-visible {
    background: linear-gradient(180deg, #18212a 0%, #090e13 100%);
    color: #fff;
    box-shadow: 0 9px 22px rgba(17, 24, 32, .22);
  }

  .psdfa-rtl-mobile-buybar__download:active {
    transform: translateY(1px);
  }

  .psdfa-rtl-mobile-buybar__download-icon {
    display: grid;
    place-items: center;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    border-radius: 9px;
    background: var(--psdfa-primary);
    color: #17191c;
  }

  .psdfa-rtl-mobile-buybar__download-icon svg {
    width: 17px;
    height: 17px;
  }

  /* The generic mobile action rule is intentionally less specific than
     the member/download CTA above. */
  .psdfa-rtl-mobile-buybar > button.psdfa-rtl-mobile-buybar__download {
    min-height: 52px;
    border: 1px solid #111820;
    border-radius: 12px;
    background: linear-gradient(180deg, #202a34 0%, #111820 100%);
    color: #fff;
  }
}

@media (max-width: 410px) {
  .psdfa-rtl-mobile-buybar.has-membership {
    grid-template-columns: minmax(0, 1fr) 126px;
    gap: 9px;
  }

  .psdfa-rtl-mobile-buybar__download {
    gap: 6px;
    padding-inline: 8px;
    font-size: 12px;
  }

  .psdfa-rtl-mobile-buybar__download-icon {
    flex-basis: 30px;
    width: 30px;
    height: 30px;
  }
}

/* PSDFA 0.7.9 — detail-friendly lightbox zoom, pan and viewport scrolling. */
.psdfa-gallery-lightbox-panel {
  width: min(var(--psdfa-lightbox-max-width), calc(100vw - 112px));
  height: calc(100vh - 96px);
  max-width: none;
  max-height: none;
}
.psdfa-gallery-lightbox-viewport {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: var(--psdfa-lightbox-radius);
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}
.psdfa-gallery-lightbox-viewport > img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: var(--psdfa-lightbox-radius);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
  -webkit-user-drag: none;
  user-select: none;
  will-change: transform;
  backface-visibility: hidden;
}
.psdfa-gallery-lightbox.is-zoomable .psdfa-gallery-lightbox-viewport > img { cursor: zoom-in; }
.psdfa-gallery-lightbox.is-zoomed .psdfa-gallery-lightbox-viewport > img,
.psdfa-gallery-lightbox.is-zoomed .psdfa-gallery-lightbox-viewport { cursor: grab; }
.psdfa-gallery-lightbox-viewport.is-panning,
.psdfa-gallery-lightbox-viewport.is-panning > img { cursor: grabbing !important; }
.psdfa-gallery-lightbox.is-zoomed .psdfa-gallery-lightbox-nav { opacity: .78; }

.psdfa-gallery-lightbox-zoom {
  position: fixed;
  z-index: 100004;
  top: 18px;
  left: 50%;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 42px;
  padding: 4px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 12px;
  background: rgba(17,20,25,.72);
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  backdrop-filter: blur(10px);
  transform: translateX(-50%);
  pointer-events: auto;
}
.psdfa-gallery-lightbox-zoom[hidden],
.psdfa-gallery-lightbox-zoom-hint[hidden] { display: none !important; }
.psdfa-gallery-lightbox-zoom button {
  display: grid;
  place-items: center;
  min-width: 34px;
  height: 34px;
  padding: 0 9px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.psdfa-gallery-lightbox-zoom button:hover:not(:disabled) { background: rgba(255,255,255,.12); }
.psdfa-gallery-lightbox-zoom button:disabled { opacity: .35; cursor: default; }
.psdfa-gallery-lightbox-zoom .psdfa-gallery-lightbox-zoom-level {
  min-width: 64px;
  font-size: 12px;
  font-weight: 800;
  direction: ltr;
}
.psdfa-gallery-lightbox-zoom-hint {
  position: fixed;
  z-index: 100004;
  left: 50%;
  bottom: 66px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(0,0,0,.38);
  color: rgba(255,255,255,.88);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  pointer-events: none;
  backdrop-filter: blur(8px);
  transform: translateX(-50%);
}

@media (max-width: 900px) {
  .psdfa-gallery-lightbox-panel {
    width: calc(100vw - 48px);
    height: calc(100vh - 88px);
    max-width: none;
    max-height: none;
  }
  .psdfa-gallery-lightbox-zoom { top: 12px; }
  .psdfa-gallery-lightbox-zoom-hint { bottom: 62px; }
}
@media (max-width: 620px) {
  .psdfa-gallery-lightbox-panel {
    width: calc(100vw - 24px);
    height: calc(100vh - 82px);
  }
  .psdfa-gallery-lightbox-zoom {
    top: 10px;
    min-height: 38px;
  }
  .psdfa-gallery-lightbox-zoom button { min-width: 31px; height: 30px; }
  .psdfa-gallery-lightbox-zoom .psdfa-gallery-lightbox-zoom-level { min-width: 56px; }
  .psdfa-gallery-lightbox-zoom-hint { display: none !important; }
}


/* PSDFA 0.7.10 — true scrollable lightbox canvas. */
.psdfa-gallery-lightbox-viewport {
  display: block;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  direction: ltr;
}
.psdfa-gallery-lightbox-viewport::-webkit-scrollbar { width: 0; height: 0; display: none; }
.psdfa-gallery-lightbox-canvas {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
}
.psdfa-gallery-lightbox-canvas > img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  max-width: none !important;
  max-height: none !important;
  margin: 0;
  object-fit: contain;
  object-position: center;
  border-radius: var(--psdfa-lightbox-radius);
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
  transform: translate(-50%,-50%);
  -webkit-user-drag: none;
  user-select: none;
  will-change: width,height;
}
.psdfa-gallery-lightbox.is-zoomable .psdfa-gallery-lightbox-canvas > img { cursor: zoom-in; }
.psdfa-gallery-lightbox.is-zoomed .psdfa-gallery-lightbox-canvas > img,
.psdfa-gallery-lightbox.is-zoomed .psdfa-gallery-lightbox-viewport { cursor: grab; }
.psdfa-gallery-lightbox-viewport.is-panning,
.psdfa-gallery-lightbox-viewport.is-panning .psdfa-gallery-lightbox-canvas > img { cursor: grabbing !important; }
.psdfa-gallery-lightbox-zoom {
  z-index: 100010;
  box-shadow: 0 10px 36px rgba(0,0,0,.32);
}
.psdfa-gallery-lightbox-zoom:not([hidden]) { display: inline-flex !important; }


/* PSDFA 0.7.22 — Web Audio reactive waveform. */
.psdfa-audio-showcase.has-reactive-wave .psdfa-audio-showcase__wave i{
  animation:none!important;
  transform-origin:center;
  will-change:transform,opacity;
  transition:opacity .1s linear;
}

/* PSDFA 0.7.25 — real audio analysis owns bar transforms; CSS animation is fallback only. */
.psdfa-audio-showcase.has-reactive-wave .psdfa-audio-showcase__wave i{animation:none!important;animation-play-state:paused!important;will-change:transform,opacity}

/* PSDFA 0.7.29 — no fake synchronization: if no cached waveform exists, bars stay static. */
.psdfa-audio-showcase.uses-wave-static .psdfa-audio-showcase__wave i{animation:none!important;animation-play-state:paused!important}

/* PSDFA 0.7.67 — product-page notices use the same brand language as global commerce toasts. */
