/**
 * PDP Design System v1.0 overrides — aqua/coral on white.
 * Soft layer after pdp.css; does not change WooCommerce behaviour.
 */

.dsc-pdp {
  --dsc-olive: var(--dsc-aqua-dark) !important;
  --dsc-olive-soft: var(--dsc-aqua) !important;
  --dsc-cream: var(--dsc-white) !important;
  --dsc-cream-card: var(--dsc-aqua-light) !important;
  --dsc-mint: var(--dsc-aqua-light) !important;
  --dsc-ink: var(--dsc-charcoal) !important;
  --dsc-line: var(--dsc-border) !important;
  color: var(--dsc-charcoal);
  background: var(--dsc-white) !important;
  font-family: var(--font-body);
  overflow-x: clip;
}

.dsc-pdp-heading h2,
.dsc-pdp-story__copy h2,
.dsc-pdp-membership__intro h2,
.dsc-pdp-closing h2,
.dsc-pdp-title,
.dsc-pdp-benefit h3,
.dsc-pdp-ing-card h3,
.dsc-pdp-faq__inner > h2,
.dsc-pdp-membership__step .n {
  font-family: var(--font-display) !important;
  font-weight: 400;
  color: var(--dsc-charcoal);
}

.dsc-pdp-story__copy h2,
.dsc-pdp-story__copy > p,
.dsc-pdp-story__list li {
  color: #fff;
}

.dsc-pdp-btn,
.dsc-pdp-btn--olive,
.dsc-pdp-btn--primary {
  background: var(--dsc-coral) !important;
  border: 1px solid var(--dsc-coral) !important;
  color: var(--dsc-white) !important;
  border-radius: var(--dsc-radius-md) !important;
  min-height: 52px;
  font-family: var(--font-body);
  font-weight: 600;
}

.dsc-pdp-btn--olive:hover,
.dsc-pdp-btn--primary:hover {
  background: var(--dsc-coral-dark) !important;
  border-color: var(--dsc-coral-dark) !important;
}

.dsc-pdp-btn--mint,
.dsc-pdp-btn--secondary {
  background: transparent !important;
  border: 1px solid var(--dsc-aqua-dark) !important;
  color: var(--dsc-aqua-dark) !important;
}

.dsc-pdp-btn--mint:hover,
.dsc-pdp-btn--secondary:hover {
  background: var(--dsc-aqua-dark) !important;
  color: var(--dsc-white) !important;
}

.dsc-pdp-stage {
  background: var(--dsc-aqua-light) !important;
  border-radius: var(--dsc-radius-xl) !important;
}

.dsc-pdp-tab {
  border-radius: var(--dsc-radius-md) !important;
  min-height: 44px;
  font-family: var(--font-body);
}

.dsc-pdp-tab.is-active {
  background: var(--dsc-aqua-dark) !important;
  border-color: var(--dsc-aqua-dark) !important;
  color: var(--dsc-white) !important;
}

.dsc-pdp-purchase {
  background: var(--dsc-white) !important;
  border-color: var(--dsc-border) !important;
  border-radius: var(--dsc-radius-lg) !important;
}

.dsc-pdp-purchase .single_add_to_cart_button,
.dsc-pdp-purchase button.button,
.dsc-pdp-purchase .aivory-routine__submit,
.dsc-pdp-purchase button[type="submit"] {
  background: var(--dsc-coral) !important;
  border-color: var(--dsc-coral) !important;
  color: var(--dsc-white) !important;
  border-radius: var(--dsc-radius-md) !important;
  min-height: 56px !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
}

.dsc-pdp-purchase .single_add_to_cart_button:hover,
.dsc-pdp-purchase button.button:hover,
.dsc-pdp-purchase .aivory-routine__submit:hover {
  background: var(--dsc-coral-dark) !important;
  border-color: var(--dsc-coral-dark) !important;
}

.dsc-pdp-trust,
.dsc-pdp-hero,
.dsc-pdp-benefits,
.dsc-pdp-ingredients,
.dsc-pdp-compare,
.dsc-pdp-routine,
.dsc-pdp-faq,
.dsc-pdp-related {
  background: var(--dsc-white) !important;
}

.dsc-pdp-story {
  background: var(--dsc-aqua-dark) !important;
  color: #fff !important;
}

.dsc-pdp--cuppy-up .dsc-pdp-story {
  background: #BE8BBD !important;
}

.dsc-pdp-story__media {
  background: var(--dsc-white) !important;
}

.dsc-pdp-membership,
.dsc-pdp-closing {
  background: var(--dsc-aqua-light) !important;
}

.dsc-pdp-closing h2,
.dsc-pdp-closing > p:last-child,
.dsc-pdp-membership__intro h2,
.dsc-pdp-value-card b,
.dsc-pdp-membership__step h3 {
  color: var(--dsc-charcoal) !important;
}

.dsc-pdp-ing-card {
  background: var(--dsc-white) !important;
  border: 1px solid var(--dsc-border);
  border-radius: var(--dsc-radius-lg);
}

.dsc-pdp-ing-card .dsc-pdp-eyebrow {
  color: var(--dsc-coral-dark) !important;
}

.dsc-pdp-dock {
  background: rgba(255, 255, 255, 0.97) !important;
  border-top: 1px solid var(--dsc-border) !important;
}

.dsc-pdp-dock .dsc-pdp-btn {
  background: var(--dsc-coral) !important;
  border-color: var(--dsc-coral) !important;
  color: var(--dsc-white) !important;
  min-height: 48px;
}

.dsc-pdp-help {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-top: 1rem;
  font-size: 0.88rem;
}

.dsc-pdp-help a {
  color: var(--dsc-aqua-dark);
  font-weight: 600;
}

@media (max-width: 820px) {
  .wa-chat-btn,
  .dss-whatsapp,
  a.whatsapp-float,
  .dsc-wa-float {
    bottom: calc(5.75rem + env(safe-area-inset-bottom)) !important;
  }

  body.dsc-pdp-has-dock {
    padding-bottom: 5.5rem;
  }
}

@media (max-width: 767px) {
  .dsc-pdp-title {
    font-size: var(--mobile-h1);
  }

  .dsc-pdp-section {
    padding: 2.5rem 0;
  }
}

/* Hide GR pay-by-points floating sheet on mobile PDP (blocks Choose your plan). */
@media (max-width: 820px) {
  body.single-product #gr_paybypoints_widget {
    display: none !important;
  }
}
