/**
 * Compatibility layer for third-party plugin output.
 * Keep plugin-specific selectors here so the core design system stays stable.
 */

.wpforms-container,
.gform_wrapper,
.wpcf7,
.frm_forms,
.fluentform,
.woocommerce,
.rank-math-breadcrumb,
.yoast-breadcrumb {
  color: var(--muted);
}

.wpforms-container input,
.wpforms-container textarea,
.wpforms-container select,
.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select,
.frm_forms input,
.frm_forms textarea,
.frm_forms select,
.fluentform input,
.fluentform textarea,
.fluentform select {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.08);
  color: var(--white);
}

.wpforms-submit,
.gform_button,
.wpcf7-submit,
.frm_button_submit,
.fluentform .ff-btn-submit,
.woocommerce a.button,
.woocommerce button.button {
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--radius);
  background: linear-gradient(135deg, var(--brand-orange), var(--brand-red) 48%, var(--brand-magenta));
  color: var(--white);
  font-weight: 800;
  cursor: pointer;
}

.form-shell .fluentform {
  margin-top: 4px;
}

.form-shell .fluentform .ff-el-group {
  margin-bottom: 16px;
}

.form-shell .fluentform .ff-el-input--label {
  margin-bottom: 7px;
}

.form-shell .fluentform .ff-el-input--label label {
  color: var(--white);
  font-size: 0.88rem;
  font-weight: 800;
  letter-spacing: 0;
}

.form-shell .fluentform .ff-el-is-required.asterisk-right label::after {
  color: var(--brand-orange);
}

.form-shell .fluentform input,
.form-shell .fluentform textarea,
.form-shell .fluentform select {
  box-shadow: inset 0 0 0 1px transparent;
  color: var(--white);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.form-shell .fluentform .ff-el-form-control {
  color: var(--white) !important;
}

.form-shell .fluentform input::placeholder,
.form-shell .fluentform textarea::placeholder {
  color: rgba(251, 252, 255, 0.42);
}

.form-shell .fluentform input:focus,
.form-shell .fluentform textarea:focus,
.form-shell .fluentform select:focus {
  border-color: rgba(46, 166, 223, 0.74);
  outline: none;
  background: rgba(255, 255, 255, 0.105);
  box-shadow: 0 0 0 3px rgba(46, 166, 223, 0.16);
}

.form-shell .fluentform textarea {
  min-height: 138px;
  resize: vertical;
}

.form-shell .fluentform .ff_submit_btn_wrapper {
  margin: 4px 0 0;
}

.form-shell .fluentform .ff-btn-submit {
  width: auto;
  min-width: min(100%, 220px);
  background: linear-gradient(135deg, var(--brand-orange), var(--brand-red) 48%, var(--brand-magenta));
  box-shadow: 0 16px 40px rgba(239, 42, 31, 0.22);
}

.form-shell .fluentform .ff-btn-submit:hover,
.form-shell .fluentform .ff-btn-submit:focus {
  border-color: rgba(255, 255, 255, 0.34);
  filter: brightness(1.04);
}

.form-shell .fluentform .ff-message-success {
  border: 1px solid rgba(100, 191, 75, 0.46);
  border-radius: var(--radius);
  background: rgba(100, 191, 75, 0.11);
  color: var(--white);
  box-shadow: none;
}

.form-shell .fluentform .error,
.form-shell .fluentform .ff-el-is-error .text-danger {
  color: #ffb3a8;
}

.form-shell .fluentform .ff-el-is-error input,
.form-shell .fluentform .ff-el-is-error textarea,
.form-shell .fluentform .ff-el-is-error select {
  border-color: rgba(239, 42, 31, 0.72);
}

.cce-about-approach {
  align-items: end;
}

.cce-about-approach > div:last-child {
  padding-bottom: 0.2em;
}

.cce-contact-hero {
  min-height: clamp(420px, 54vh, 640px);
  grid-template-columns: minmax(0, var(--max));
  align-items: center;
  padding: clamp(58px, 8vw, 108px) max(16px, calc((100vw - var(--max)) / 2)) clamp(48px, 7vw, 86px);
}

.page .site-main > .entry-shell .entry-content > .cce-contact-hero:first-child {
  padding-block: clamp(58px, 8vw, 108px) clamp(48px, 7vw, 86px);
}

.cce-contact-hero h1 {
  font-size: clamp(2.7rem, 5.2vw, 4.45rem);
}

.cce-contact-hero .hero-support {
  max-width: 620px;
  margin-top: 22px;
}

.cce-contact-hero .form-shell {
  width: min(100%, 520px);
  margin-top: 24px;
  padding: clamp(12px, 2vw, 16px);
}

.cce-contact-hero .form-shell .fluentform .ff-el-group {
  margin-bottom: 6px;
}

.cce-contact-hero .form-shell .fluentform .ff-el-input--label {
  margin-bottom: 5px;
}

.cce-contact-hero .form-shell .fluentform input,
.cce-contact-hero .form-shell .fluentform select {
  min-height: 36px;
  padding-block: 7px;
}

.cce-contact-hero .form-shell .fluentform textarea {
  min-height: 58px;
  padding-block: 7px;
}

.cce-contact-hero .form-shell .fluentform .ff-btn-submit {
  min-height: 38px;
  margin-top: 12px;
  padding-block: 8px;
}

@media (max-width: 760px) {
  .cce-contact-hero {
    grid-template-columns: 1fr;
    min-height: clamp(360px, 60vh, 560px);
    padding: 48px 16px 42px;
  }

  .cce-contact-hero .hero-support {
    margin-top: 28px;
  }

  .cce-contact-hero .form-shell {
    margin-top: 0;
  }
}

.rank-math-breadcrumb,
.yoast-breadcrumb {
  width: min(100% - 32px, var(--max));
  margin: 24px auto 0;
  font-size: 0.92rem;
}
