/**
 * Opt-in Price Story disclaimer dialog presentation.
 *
 * Applied only when the shared MDC popup is rendered with
 * `class_name = pricing-disclaimer-dialog` (via `render_price_disclaimer_markup()`
 * for Vehicle Pricing / saved-items / comparator). Non-pricing `build_mdc_popup`
 * consumers keep the default macro markup and are unaffected by these rules.
 */

.pricing-disclaimer-dialog .mdc-dialog__surface {
  width: 640px;
  max-width: calc(100vw - 32px);
  max-height: min(80vh, 720px);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  /* Prefer the target width even for short disclaimer text; never force a
     large empty min-height. */
  min-height: 0;
}

.pricing-disclaimer-dialog .mdc-dialog__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
  box-sizing: border-box;
  padding: 20px 28px 12px;
}

.pricing-disclaimer-dialog .mdc-dialog__title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding: 4px 0 0;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pricing-disclaimer-dialog .mdc-dialog__button--close {
  flex: 0 0 auto;
  margin: 0 -8px 0 0;
  color: inherit;
}

.pricing-disclaimer-dialog .mdc-dialog__button--close:focus,
.pricing-disclaimer-dialog .mdc-dialog__button--close:hover,
.pricing-disclaimer-dialog .mdc-dialog__button--action:focus,
.pricing-disclaimer-dialog .mdc-dialog__button--action:hover {
  background: none;
  color: inherit;
  outline: none;
}

.pricing-disclaimer-dialog .mdc-dialog__button--close:focus-visible,
.pricing-disclaimer-dialog .mdc-dialog__button--action:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.pricing-disclaimer-dialog .mdc-dialog__content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  padding: 8px 28px 16px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  /* Rolled-up incentive lines arrive as newline-separated plain text; the
     shared Twig `nl2br` turns those into <br>. Keep wrapping predictable. */
  white-space: normal;
}

.pricing-disclaimer-dialog .mdc-dialog__actions {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  box-sizing: border-box;
  padding: 8px 16px 16px;
  margin: 0;
}

.pricing-disclaimer-dialog .mdc-dialog__button--action {
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 600;
}

@media (max-width: 600px) {
  .pricing-disclaimer-dialog .mdc-dialog__surface {
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
  }

  .pricing-disclaimer-dialog .mdc-dialog__header {
    padding: 16px 20px 10px;
  }

  .pricing-disclaimer-dialog .mdc-dialog__content {
    padding: 6px 20px 14px;
  }

  .pricing-disclaimer-dialog .mdc-dialog__actions {
    padding: 4px 12px 14px;
  }
}
