/* DamnModz Storefront UX (2026-09-15). Uses the theme's design tokens. */

/* ==========================================================================
   Compact header on phones (after scrolling)
   ========================================================================== */
/* Zero-height marker right after the header; holds the header's height while it is fixed. */
.dmz-header-spacer {
  display: block;
  height: 0;
  pointer-events: none;
}

@media (max-width: 899px) {

  html.dmz-header-compact header.dm-header {
    position: fixed !important;
    top: 0 !important;
    right: 0;
    left: 0;
    width: 100%;
    min-height: 56px !important;
    height: 56px !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
  }

  html.dmz-header-compact body.admin-bar header.dm-header {
    top: var(--wp-admin--admin-bar--height, 46px) !important;
  }

  html.dmz-header-compact header.dm-header .dm-header__container {
    height: 56px !important;
    min-height: 56px !important;
  }

  html.dmz-header-compact header.dm-header .dm-sub-header {
    display: none !important;
  }

  html.dmz-header-compact header.dm-header .dm-logo__image,
  html.dmz-header-compact header.dm-header .dm-logo img {
    max-height: 24px !important;
    width: 150px !important;
    max-width: 150px !important;
  }
}

@media (max-width: 899px) and (prefers-reduced-motion: no-preference) {
  html.dmz-header-compact header.dm-header {
    animation: dmz-header-in 160ms ease-out;
  }
}

@keyframes dmz-header-in {
  from {
    transform: translateY(-8px);
    opacity: 0.6;
  }
  to {
    transform: none;
    opacity: 1;
  }
}

/* Menu shortcuts (Boosting, Popular, Accounts, Wiki, Currency) inside the mobile menu */
.dm-mobile-menu__shortcuts {
  padding: 0 var(--space-lg, 1.5rem) var(--space-lg, 1.5rem);
}

.dm-mobile-menu__shortcuts-title {
  margin: 0 0 8px;
  color: var(--text-muted, #6b7280);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dmz-mm-group {
  border-bottom: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
}

.dmz-mm-group > summary,
.dmz-mm-sub > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  padding: 0;
  color: var(--text-primary, #fff);
  font-size: 16px;
  font-weight: 700;
  list-style: none;
  cursor: pointer;
}

.dmz-mm-sub > summary {
  min-height: 42px;
  font-size: 14px;
  font-weight: 600;
  color: var(--text-secondary, #9ca3af);
}

.dmz-mm-group > summary::-webkit-details-marker,
.dmz-mm-sub > summary::-webkit-details-marker {
  display: none;
}

.dmz-mm-group > summary::after,
.dmz-mm-sub > summary::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-right: 4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: var(--text-muted, #6b7280);
  transform: rotate(45deg) translateY(-2px);
  transition: transform 150ms ease;
}

.dmz-mm-group[open] > summary::after,
.dmz-mm-sub[open] > summary::after {
  transform: rotate(-135deg) translateY(-2px);
}

.dmz-mm-list {
  margin: 0;
  padding: 0 0 10px 12px;
  list-style: none;
}

.dmz-mm-list a {
  display: block;
  padding: 9px 0;
  color: var(--text-secondary, #9ca3af);
  font-size: 15px;
  text-decoration: none;
}

.dmz-mm-list a:hover,
.dmz-mm-list a:focus-visible {
  color: var(--text-primary, #fff);
}

.dmz-mm-section {
  display: block;
  padding: 10px 0 4px;
  color: var(--text-muted, #6b7280);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ==========================================================================
   Search suggestions (header search overlay)
   ========================================================================== */
.dmz-suggest {
  margin-top: 10px;
  max-height: min(60vh, 460px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
  border-radius: 12px;
  background: rgb(var(--bg-secondary-rgb, 18, 18, 26));
  padding: 6px;
  text-align: left;
}

.dmz-suggest[hidden] {
  display: none !important;
}

.dmz-suggest__heading {
  padding: 8px 10px 4px;
  color: var(--text-muted, #6b7280);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dmz-suggest__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 52px;
  padding: 6px 10px;
  border-radius: 10px;
  color: var(--text-primary, #fff);
  text-decoration: none;
}

.dmz-suggest__item.is-active,
.dmz-suggest__item:hover,
.dmz-suggest__item:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary, #fff);
  outline: none;
}

.dmz-suggest__media {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
}

.dmz-suggest__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.dmz-suggest__item--game .dmz-suggest__media img {
  object-fit: contain;
  padding: 4px;
}

.dmz-suggest__item--all {
  justify-content: center;
  min-height: 44px;
  margin-top: 4px;
  border-top: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
  border-radius: 0 0 10px 10px;
  color: var(--accent-primary-hover, #ef4444);
  font-weight: 700;
}

.dmz-suggest__item--all .dmz-suggest__media {
  display: none;
}

.dmz-suggest__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}

.dmz-suggest__title {
  overflow: hidden;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dmz-suggest__item--all .dmz-suggest__title {
  white-space: normal;
  text-align: center;
}

.dmz-suggest__meta {
  color: var(--text-secondary, #9ca3af);
  font-size: 13px;
  font-weight: 600;
}

.dmz-suggest__empty {
  margin: 0;
  padding: 12px 10px;
  color: var(--text-secondary, #9ca3af);
  font-size: 14px;
}

/* ==========================================================================
   Search results heading + sort
   ========================================================================== */
.search-results .dm-search-hero {
  display: none !important;
}

.dmz-search-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  padding-top: 28px;
  padding-bottom: 18px;
}

.dmz-search-head__title {
  margin: 0;
  color: var(--text-primary, #fff);
  font-size: clamp(22px, 3.2vw, 30px);
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.dmz-search-head__count {
  color: var(--text-secondary, #9ca3af);
  font-weight: 600;
}

.dmz-search-sort {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dmz-search-sort__label {
  color: var(--text-secondary, #9ca3af);
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}

.dmz-search-sort__select {
  min-height: 42px;
  padding: 0 36px 0 12px;
  border: 1px solid var(--border-medium, rgba(255, 255, 255, 0.12));
  border-radius: 10px;
  background-color: rgb(var(--bg-card-rgb, 22, 22, 31));
  color: var(--text-primary, #fff);
  font: inherit;
  font-size: 14px;
}

.dmz-search-sort__apply {
  min-height: 42px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: var(--accent-primary, #dc2626);
  color: #fff;
  font-weight: 700;
}

@media (max-width: 520px) {
  .dmz-search-head {
    padding-top: 18px;
  }

  .dmz-search-sort,
  .dmz-search-sort__select {
    width: 100%;
  }

  .dmz-search-sort__select {
    flex: 1 1 auto;
  }
}

/* ==========================================================================
   Sticky buy bar (phone product pages) - sits directly above the trust bar
   ========================================================================== */
.dmz-buybar {
  display: none;
}

@media (max-width: 899px) {
  .dmz-buybar {
    position: fixed;
    right: 0;
    bottom: calc(38px + env(safe-area-inset-bottom, 0px));
    left: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    padding: 10px 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(var(--bg-secondary-rgb, 18, 18, 26), 0.97);
    box-shadow: 0 -12px 28px rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .dmz-buybar[hidden],
  body.dm-search-open .dmz-buybar,
  body:has(.dm-mobile-menu.open) .dmz-buybar {
    display: none !important;
  }

  .dmz-buybar__info {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 2px;
  }

  .dmz-buybar__name {
    overflow: hidden;
    color: var(--text-secondary, #9ca3af);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dmz-buybar__price {
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: var(--text-primary, #fff);
    font-size: 18px;
    line-height: 1.1;
  }

  .dmz-buybar__price del {
    color: var(--text-muted, #6b7280);
    font-size: 13px;
    font-weight: 600;
  }

  .dmz-buybar__price strong {
    font-weight: 800;
  }

  .dmz-buybar__cta {
    flex: 0 0 auto;
    min-width: 142px;
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    background: var(--accent-primary, #dc2626);
    color: #fff;
    font: inherit;
    font-size: 15px;
    font-weight: 800;
    cursor: pointer;
  }

  .dmz-buybar__cta:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
  }

  html.dmz-buybar-on .dm-chat-launcher-wrap {
    bottom: calc(114px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.dmz-buybar-on .xoo-wsc-basket {
    bottom: calc(172px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html.dmz-buybar-on body.single-product .dm-site-content {
    padding-bottom: 64px;
  }
}

/* ==========================================================================
   Cart bubble: not needed on cart and checkout
   ========================================================================== */
body.woocommerce-cart .xoo-wsc-basket,
body.woocommerce-checkout .xoo-wsc-basket,
body.dmz-checkout-lite .xoo-wsc-basket {
  display: none !important;
}

/* ==========================================================================
   Checkout: stripped header
   ========================================================================== */
header.dm-header.dm-header--checkout {
  position: relative !important;
  min-height: 64px;
}

.dm-header--checkout .dm-header__container {
  height: 64px !important;
  min-height: 64px !important;
  gap: 16px;
}

.dm-checkout-header__meta {
  display: flex;
  align-items: center;
  gap: 18px;
}

.dm-checkout-header__secure {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--text-secondary, #9ca3af);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.dm-checkout-header__secure svg {
  color: #22c55e;
}

.dm-checkout-header__back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--border-medium, rgba(255, 255, 255, 0.12));
  border-radius: 999px;
  color: var(--text-primary, #fff);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.dm-checkout-header__back:hover,
.dm-checkout-header__back:focus-visible {
  border-color: rgba(255, 255, 255, 0.28);
  color: var(--text-primary, #fff);
}

@media (max-width: 520px) {
  .dm-header--checkout .dm-logo__image,
  .dm-header--checkout .dm-logo img {
    width: 132px !important;
    max-width: 132px !important;
  }

  .dm-checkout-header__meta {
    gap: 10px;
  }

  .dm-checkout-header__secure-text {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .dm-checkout-header__back {
    padding: 0 12px;
  }
}

body.dmz-checkout-lite .woocommerce-form-coupon-toggle,
body.dmz-checkout-lite form.checkout_coupon {
  display: none !important;
}

/* ==========================================================================
   Checkout: express checkout row (Apple Pay, Google Pay, Link)
   ========================================================================== */
/* Shown from the first paint (the plugin keeps it display:none until a button is ready), so the
   buttons arriving never push the form down. */
body.dmz-checkout-lite .wc-stripe-banner-checkout {
  display: block;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}

body.dmz-checkout-lite .wc-stripe-banner-checkout.dmz-express-none {
  display: none !important;
}

body.dmz-checkout-lite .wc-stripe-banner-checkout fieldset {
  margin: 0;
  padding: 14px;
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.02);
}

body.dmz-checkout-lite .wc-stripe-banner-checkout .banner-title {
  float: none;
  width: auto;
  margin: 0 0 10px;
  padding: 0;
  color: var(--text-secondary, #9ca3af);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-align: left;
  text-transform: uppercase;
}

/* One row of equal buttons at every width, so the row's height doesn't depend on how many wallets
   this device offers. The shimmer behind it is the placeholder until Stripe draws the first button
   (dmz-sux-checkout.js adds .dmz-express-ready). Never hide the buttons themselves while they load:
   Chrome throttles hidden iframes and Stripe then takes seconds longer to draw them. */
body.dmz-checkout-lite .wc-stripe-banner-checkout .wc_stripe_checkout_banner_gateways {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 8px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border-radius: 8px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 25%, rgba(255, 255, 255, 0.09) 50%, rgba(255, 255, 255, 0.04) 75%) 0 0 / 200% 100%;
  animation: dmz-express-shimmer 1.4s linear infinite;
}

body.dmz-checkout-lite .wc-stripe-banner-checkout.dmz-express-ready .wc_stripe_checkout_banner_gateways,
body.dmz-checkout-lite .wc-stripe-banner-checkout:not(.dmz-express-js) .wc_stripe_checkout_banner_gateways:has(> li.active) {
  background: none;
  animation: none;
}

@keyframes dmz-express-shimmer {
  to {
    background-position: -200% 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.dmz-checkout-lite .wc-stripe-banner-checkout .wc_stripe_checkout_banner_gateways {
    animation: none;
  }
}

body.dmz-checkout-lite .wc-stripe-banner-checkout .wc_stripe_checkout_banner_gateways > li {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

/* Wallets that aren't available on this device never get the plugin's .active class. */
body.dmz-checkout-lite .wc-stripe-banner-checkout .wc_stripe_checkout_banner_gateways > li:empty,
body.dmz-checkout-lite .wc-stripe-banner-checkout .wc_stripe_checkout_banner_gateways > li:not(.active) {
  display: none;
}

body.dmz-checkout-lite .wc-stripe-banner-checkout .wc_stripe_checkout_banner_gateways > li > * {
  width: 100% !important;
  max-width: none !important;
}

body.dmz-checkout-lite .wc-stripe-banner-checkout .banner-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0 2px;
  color: var(--text-muted, #6b7280);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.dmz-checkout-lite .wc-stripe-banner-checkout .banner-divider::before,
body.dmz-checkout-lite .wc-stripe-banner-checkout .banner-divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--border-subtle, rgba(255, 255, 255, 0.08));
}

/* ==========================================================================
   Checkout: Cards first, other methods folded
   ========================================================================== */
form.checkout.dmz-pay-fold #payment ul.wc_payment_methods > li.dmz-pay-wallet {
  display: none !important;
}

/* Before dmz-sux-checkout.js builds the fold (html.dmz-pay-prefold comes from a <head> script): only
   Cards show, with a stand-in where the "More ways to pay" button goes, so the list never draws open
   and then collapses. */
html.dmz-pay-prefold form.checkout:not(.dmz-pay-fold) #payment ul.wc_payment_methods > li.wc_payment_method:not(.payment_method_stripe_cc) {
  display: none !important;
}

html.dmz-pay-prefold form.checkout:not(.dmz-pay-fold) #payment ul.wc_payment_methods:has(> li.payment_method_stripe_cc)::after {
  content: "";
  display: block;
  clear: none;
  height: 48px;
  margin: 10px 0;
  border: 1px dashed rgba(255, 255, 255, 0.18);
  border-radius: 12px;
}

/* Phones: the button puts its logos on a second line (.is-stacked). */
@media (max-width: 480px) {
  html.dmz-pay-prefold form.checkout:not(.dmz-pay-fold) #payment ul.wc_payment_methods:has(> li.payment_method_stripe_cc)::after {
    height: 84px;
  }
}

form.checkout.dmz-pay-fold #payment ul.wc_payment_methods:not(.dmz-pay-more-open) > li.dmz-pay-more {
  display: none !important;
}

form.checkout #payment ul.wc_payment_methods > li.dmz-pay-toggle {
  list-style: none;
  margin: 10px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

.dmz-pay-toggle__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 1px dashed rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  background: transparent;
  color: var(--text-primary, #fff);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}

.dmz-pay-toggle__btn:hover,
.dmz-pay-toggle__btn:focus-visible {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.03);
}

.dmz-pay-toggle__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-secondary, #9ca3af);
  font-size: 12px;
}

.dmz-pay-toggle__btn[aria-expanded="true"] .dmz-pay-toggle__count,
.dmz-pay-toggle__btn[aria-expanded="true"] .dmz-pay-toggle__logos {
  display: none !important;
}

.dmz-pay-toggle__label {
  flex: none;
  text-align: left;
}

.dmz-pay-toggle__logos {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin-left: auto;
}

.dmz-pay-toggle__logos:empty {
  display: none;
}

/* Narrow phones: logos and "+N" on a second line under the label. */
.dmz-pay-toggle__btn.is-stacked {
  flex-wrap: wrap;
  justify-content: flex-start;
  row-gap: 8px;
  padding-block: 12px;
}

.dmz-pay-toggle__btn.is-stacked .dmz-pay-toggle__label {
  flex: 1 0 100%;
}

.dmz-pay-toggle__btn.is-stacked .dmz-pay-toggle__logos {
  margin-left: 0;
}

/* Beats WooCommerce's "#payment ul.payment_methods li img" margins. */
form.checkout #payment ul.wc_payment_methods > li.dmz-pay-toggle .dmz-pay-toggle__logos img {
  display: block;
  width: auto;
  height: 18px;
  max-width: none;
  margin: 0;
  padding: 0;
  float: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
}

/* Payment logos: the module prints dark-theme versions, so the theme's white pills go. */
html body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label img.dmz-pay-logo,
html body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label .wc-stripe-card-icons-container,
html body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label .wc-stripe-card-icons-container img.wc-stripe-card-icon {
  padding: 0 !important;
  border-radius: 0 !important;
  background: none !important;
}

html body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label .wc-stripe-card-icons-container {
  gap: 4px !important;
}

/* Phones: wide wordmarks (Paysafecard) stay on the title's line. The crypto pill is unreadable smaller. */
@media (max-width: 480px) {
  html body.woocommerce-checkout #payment ul.wc_payment_methods li.wc_payment_method > label img.dmz-pay-logo:not([data-dmz-brand="pay-crypto"]) {
    max-width: 88px !important;
  }
}

/* ==========================================================================
   Checkout: coupon in the order summary + terms line
   ========================================================================== */
.dmz-coupon {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
}

.dmz-coupon__toggle {
  padding: 0;
  border: 0;
  background: none;
  color: var(--text-secondary, #9ca3af);
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.dmz-coupon__toggle:hover,
.dmz-coupon__toggle:focus-visible {
  color: var(--text-primary, #fff);
}

.dmz-coupon__panel {
  margin-top: 10px;
}

.dmz-coupon__panel[hidden] {
  display: none !important;
}

.dmz-coupon__row {
  display: flex;
  gap: 8px;
}

.dmz-coupon__input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid var(--border-medium, rgba(255, 255, 255, 0.12));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-primary, #fff);
  font: inherit;
  font-size: 15px;
  text-transform: uppercase;
}

.dmz-coupon__input::placeholder {
  color: var(--text-muted, #6b7280);
  text-transform: none;
}

.dmz-coupon__apply {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--border-medium, rgba(255, 255, 255, 0.12));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary, #fff);
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.dmz-coupon.is-busy .dmz-coupon__apply {
  opacity: 0.6;
  cursor: progress;
}

.dmz-coupon__msg {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.4;
}

.dmz-coupon__msg:empty {
  display: none;
}

.dmz-coupon__msg--error {
  color: #f87171;
}

.dmz-coupon__msg--success {
  color: #4ade80;
}

.dmz-terms-note {
  margin: 12px 0 0;
  color: var(--text-muted, #6b7280);
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.dmz-terms-note a {
  color: var(--text-secondary, #9ca3af);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.dmz-terms-note a:hover {
  color: var(--text-primary, #fff);
}

/* ==========================================================================
   Checkout: small Trustpilot rating badge
   ========================================================================== */
.dmz-tp-badge {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
  margin: 14px 0 0;
  padding: 9px 12px;
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--text-secondary, #9ca3af);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
}

.dmz-tp-badge:hover,
.dmz-tp-badge:focus-visible {
  border-color: rgba(0, 182, 122, 0.45);
  color: var(--text-primary, #fff);
}

.dmz-tp-badge__brand {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text-primary, #fff);
  font-weight: 800;
}

.dmz-tp-badge__brand svg,
.dmz-tp-badge__stars {
  display: block;
  flex: 0 0 auto;
}

.dmz-tp-badge__text strong {
  color: var(--text-primary, #fff);
  font-weight: 800;
}

/* One badge per layout: summary column on desktop, under Pay Now when stacked. */
.dmz-tp-badge--paynow {
  display: none;
}

@media (max-width: 900px) {
  .dmz-tp-badge--summary {
    display: none;
  }

  .dmz-tp-badge--paynow {
    display: flex;
  }
}

form.checkout.dmz-has-express #payment .place-order .wc-stripe-applepay-button,
form.checkout.dmz-has-express #payment .place-order .wc-stripe-payment-request-button {
  display: none !important;
}
