/* TecDoc Promo Shortcodes - minimal styling scaffold */

.tdps .tdps-hidden,
.tdps .tdps-hidden[aria-hidden="true"] {
  display: none !important;
}

.tdps.tdps-widget {
  width: 100%;
  max-width: 100%;
  position: relative;
}

.tdps .tdps-block {
  margin: 0 0 16px 0;
}

.tdps .tdps-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 6px;
  border: 0;
  cursor: pointer;
  font-weight: 700;
}

.tdps .tdps-cta.is-loading{
  opacity: .75;
  pointer-events: none;
}

.tdps.tdps-error {
  padding: 12px 14px;
  border: 1px solid #cc1818;
  background: #fff3f3;
}

/*
  Collapse menu is often better UX when hidden until a vehicle is fully selected.
  We'll control this later via JS; for now keep it visible.
*/


.tdps .tdps-notice{
  padding: 10px 12px;
  border-radius: 6px;
  border: 1px solid #dcdcde;
  background: #fff;
  font-size: 14px;
  line-height: 1.35;
}

.tdps .tdps-notice--info{
  border-color: #dcdcde;
}

.tdps .tdps-notice--loading{
  border-style: dashed;
}

.tdps .tdps-notice--success{
  border-color: #2e7d32;
  background: #f2fff2;
}

.tdps .tdps-notice--error{
  border-color: #cc1818;
  background: #fff3f3;
}

.tdps .tdps-busy{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px;
  border-radius: 6px;
  background: rgba(255,255,255,.78);
  z-index: 50;
}

.tdps .tdps-busy-spinner{
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: tdpsSpin .85s linear infinite;
  opacity: .8;
}

.tdps .tdps-busy-text{
  font-weight: 700;
}

@keyframes tdpsSpin{
  to{ transform: rotate(360deg); }
}

/*
  UX: When the promo is configured with locked fields, the Integrator "Reset selected values" button
  becomes confusing (it cannot reset locked values, and any upstream change already clears dependent selects).
  We hide it only inside the TDPS widget wrapper.
*/
.tdps.tdps-has-locks #button-reset{
  display: none !important;
}
