.pdp2 { max-width: 980px; margin: 0 auto; }

.pdp2-form { padding: 16px; border-radius: 14px; }
.pdp2-tabs { display: flex; gap: 10px; margin-bottom: 12px; }
.pdp2-tab {
  border: 0;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  opacity: 0.8;
}
.pdp2-tab.is-active { opacity: 1; }

.pdp2-tabpanel { display: none; }
.pdp2-tabpanel.is-active { display: block; }

.pdp2 textarea {
  width: 100%;
  min-height: 140px;
  border-radius: 12px;
  padding: 12px;
  box-sizing: border-box;
}

.pdp2-row { margin-top: 10px; }
.pdp2-radio { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }

.pdp2-actions { display: flex; gap: 10px; margin-top: 12px; }
.pdp2-btn { padding: 10px 14px; border-radius: 12px; border: 0; cursor: pointer; }
.pdp2-primary { font-weight: 700; }

.pdp2-spinner { padding: 14px; text-align: center; }
.pdp2-spinner-inner { display:inline-block; padding: 10px 14px; border-radius: 999px; }

.pdp2-totals { margin: 16px 0; padding: 14px; border-radius: 14px; }
.pdp2-disclaimer { opacity: 0.8; font-size: 13px; margin-top: 6px; }

.pdp2-table { width: 100%; border-collapse: collapse; overflow: hidden; border-radius: 14px; }
.pdp2-table th, .pdp2-table td { padding: 10px; border-bottom: 1px solid rgba(255,255,255,0.08); }
.pdp2-missing { opacity: 0.85; }
.pdp2-error { padding: 12px; border-radius: 12px; }