.pricingform-block,
.pricingform-embedded {
  --pf-bg: #f3f2f4;
  --pf-primary: var(--c-primary);
  --pf-standard: #d8cfe2;
  --pf-advanced: #d8d8d8;
  --pf-elite: #e8e2c1;
  --pf-panel: var(--c-surface);
  --pf-heading: #2d1248;
  --pf-muted: #5f4a76;
  --pf-placeholder: #7a6c8f;
  --pf-border: #ddcee9;
  --pf-table-border: #ece8f0;
  --pf-row-soft: #faf8fc;
  --pf-row-header: #efe8f5;
  --pf-row-active: #eadcf8;
}

.pricingform-block {
  background: var(--pf-bg);
  padding: var(--block-padding-y) 0;
}

.pricingform-embedded {
  margin-top: 26px;
}

.pricingform-block h2,
.pricingform-embedded h2 {
  text-align: center;
  margin-bottom: 18px;
}

.pricingform-slider-panel,
.pricingform-form-panel {
  background: var(--pf-panel);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-resource-card);
  max-width: 760px;
  padding: 34px;
  margin: 0 auto;
}

.pricingform-slider-label {
  display: block;
  margin-bottom: 16px;
  font-weight: 600;
  color: var(--pf-primary);
}

.pricingform-slider {
  width: 100%;
  accent-color: var(--pf-primary);
}

.pricingform-slider-value {
  margin-top: 18px;
  margin-bottom: 24px;
  color: var(--pf-primary);
}

.pricingform-step-slider h2,
.pricingform-step-slider .pricingform-slider-suffix {
  color: var(--pf-primary);
}

.pricingform-slider-number {
  display: inline-block;
  font-size: 38px;
  font-weight: 700;
  line-height: 1;
}

.pricingform-slider-suffix {
  font-size: 18px;
  margin-left: 8px;
}

.pricingform-next {
  border: 0;
  cursor: pointer;
}

[data-pricing-embedded] .pricingform-next,
.pricingform-block .pricingform-next {
  display: none;
}

.pricingform-step-form .wpforms-container {
  margin-bottom: 0;
}

.pricingform-step-form {
  margin-top: 14px;
}

.pricingform-embedded .pricingform-form-panel {
  background: transparent;
  border-radius: 0;
  padding: 20px 0 0 0;
  border-top: 0;
  box-shadow: none;
  max-width: none;
  margin: 0;
}

.pricingform-embedded .pricingform-slider-panel {
  padding: 30px;
  box-shadow: none;
}

.pricingform-embedded .pricingform-inline-form {
  margin-top: 6px;
}

.pricingform-embedded .wpforms-container,
.pricingform-embedded .wpforms-container-full {
  margin: 0;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.pricingform-embedded .wpforms-form {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.pricingform-embedded .wpforms-form .wpforms-field-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 20px;
}

.pricingform-embedded .wpforms-container .wpforms-field {
  padding: 0;
  margin: 0;
}

.pricingform-embedded .wpforms-container .wpforms-field-name,
.pricingform-embedded .wpforms-container .wpforms-field-checkbox,
.pricingform-embedded .wpforms-container .wpforms-field-html,
.pricingform-embedded .wpforms-container .wpforms-field-divider,
.pricingform-embedded .wpforms-container .wpforms-field-hidden {
  grid-column: 1 / -1;
}

.pricingform-embedded .wpforms-container label,
.pricingform-embedded .wpforms-container .wpforms-field-label {
  color: var(--pf-heading);
  font-weight: 700;
}

.pricingform-embedded .wpforms-container .wpforms-field-sublabel {
  color: var(--pf-muted);
  font-size: 14px;
  margin-top: 2px;
  line-height: 1.2;
}

.pricingform-embedded .wpforms-container .wpforms-field-name .wpforms-field-sublabel {
  margin-top: 2px;
}

.pricingform-embedded .wpforms-container input[type="text"],
.pricingform-embedded .wpforms-container input[type="email"],
.pricingform-embedded .wpforms-container input[type="tel"],
.pricingform-embedded .wpforms-container input[type="number"],
.pricingform-embedded .wpforms-container textarea,
.pricingform-embedded .wpforms-container select {
  background: var(--pf-panel);
  border: 1px solid var(--pf-border);
  border-radius: var(--radius-md);
  padding: 14px 16px;
}

.pricingform-embedded .wpforms-container input[type="text"]::placeholder,
.pricingform-embedded .wpforms-container input[type="email"]::placeholder,
.pricingform-embedded .wpforms-container input[type="tel"]::placeholder,
.pricingform-embedded .wpforms-container input[type="number"]::placeholder,
.pricingform-embedded .wpforms-container textarea::placeholder {
  color: var(--pf-placeholder);
  opacity: 1;
}

.pricingform-embedded .wpforms-container .wpforms-field-name .wpforms-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.pricingform-embedded .wpforms-container .wpforms-submit-container {
  padding-top: 4px;
  margin-top: 0;
}

.pricingform-embedded .wpforms-container button[type="submit"] {
  border-radius: var(--radius-md);
  padding: 14px 26px;
}

.pricingform-hidden {
  display: none;
}

.pricingform-privacy {
  margin-top: 18px;
  font-size: 15px;
  opacity: 1;
  color: var(--pf-heading);
}

.pricingform-privacy a {
  color: var(--pf-primary) !important;
  font-weight: 700;
  text-decoration: underline;
}

.pricingform-embedded .iti,
.pricingform-embedded .iti input[type="tel"] {
  border-radius: var(--radius-md);
}

.pricingform-embedded .iti {
  overflow: visible;
}

.pricingform-embedded .iti__selected-flag {
  border-radius: var(--radius-md) 0 0 var(--radius-md);
  background: var(--pf-panel) !important;
  border-right: 1px solid var(--pf-border);
}

.pricingform-embedded .iti__country-list {
  z-index: 9999;
  border: 1px solid var(--pf-border);
  border-radius: 10px;
  box-shadow: var(--shadow-card);
}

.pricingform-embedded .wpforms-container em.wpforms-error,
.pricingform-embedded .wpforms-container label.wpforms-error {
  color: var(--c-error) !important;
  font-size: 14px;
  margin-top: 6px;
}

.pricingform-results {
  margin-top: 18px;
}

.pricingform-thankyou {
  max-width: 600px;
  border-radius: 24px;
  background: var(--pf-primary);
  color: var(--c-text-inverse);
  margin: 0 auto 14px auto;
  text-align: center;
  padding: 24px 24px;
}

.pricingform-thankyou h3 {
  color: var(--c-text-inverse);
  margin-bottom: 10px;
}

.pricingform-thankyou p {
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
}

.pricingform-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border-radius: 34px;
  box-shadow: var(--shadow-resource-card);
}

.pricingform-plan {
  padding: 24px 20px 30px 20px;
  color: var(--pf-heading);
  text-align: center;
}

.pricingform-plan h4 {
  margin: 0 0 10px 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 14px;
}

.pricingform-plan p {
  margin: 0;
  font-size: 16px;
  line-height: 1.1;
}

.pricingform-plan strong {
  display: block;
  margin-top: 6px;
  font-size: 36px;
  line-height: 1;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}

.pricingform-plan-badge {
  margin: 0 auto 14px auto;
  max-width: 110px;
}

.pricingform-plan-badge img {
  width: 100%;
  height: auto;
  display: block;
}

.pricingform-plan-standard {
  background: var(--pf-standard);
}

.pricingform-plan-advanced {
  background: var(--pf-advanced);
}

.pricingform-plan-elite {
  background: var(--pf-elite);
}

.pricingform-band {
  margin-top: 28px;
  text-align: center;
  background: var(--pf-panel);
  border-radius: 14px;
  padding: 16px 20px;
}

.pricingform-band p {
  margin: 0;
  font-size: 18px;
  color: var(--pf-primary);
}

.pricingform-band strong {
  color: var(--pf-primary);
}

.pricingform-table-wrap {
  margin-top: 32px;
  overflow-x: auto;
}

.pricingform-table {
  border-collapse: collapse;
  min-width: 760px;
  width: 100%;
  background: var(--pf-panel);
  border-radius: 16px;
  overflow: hidden;
}

.pricingform-table th,
.pricingform-table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--pf-table-border);
  text-align: left;
}

.pricingform-table thead th {
  background: var(--pf-row-header);
}

.pricingform-table tbody tr:nth-child(even) {
  background: var(--pf-row-soft);
}

.pricingform-table tbody tr.is-active {
  background: var(--pf-row-active);
}

@media screen and (max-width: 1023px) {
  .pricingform-summary {
    border-radius: 20px;
  }

  .pricingform-plan p {
    font-size: 16px;
  }

  .pricingform-plan strong {
    font-size: 32px;
  }

  .pricingform-plan-badge {
    max-width: 92px;
  }
}

@media screen and (max-width: 767px) {
  .pricingform-block {
    padding: var(--block-padding-y-mobile) 0;
  }

  .pricingform-slider-panel,
  .pricingform-form-panel {
    padding: 24px;
  }

  .pricingform-thankyou {
    padding: 32px 24px;
  }

  .pricingform-thankyou p {
    font-size: 17px;
  }

  .pricingform-summary {
    grid-template-columns: 1fr;
  }

  .pricingform-plan strong {
    font-size: 28px;
  }

  .pricingform-embedded .wpforms-container .wpforms-field-name .wpforms-field-row {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .pricingform-embedded .wpforms-form .wpforms-field-container {
    grid-template-columns: 1fr;
  }
}
