/* Agreement controls: one fluid geometry for Bootstrap 5 and CF7. */
.wpcf7-form .form-group.checkboxes,
.wpcf7-form .form-group:has(> .form-check-one.agreement-agree) {
  width: 100%;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
.wpcf7-form .checkboxes :is(.wpcf7-form-control-wrap, .wpcf7-acceptance, .wpcf7-list-item) {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wpcf7-form .checkboxes .accept-all-label,
.wpcf7-form .form-check-one.agreement-agree {
  --agreement-box-size: var(--form-control-size);
  --agreement-gap: var(--form-control-gap);
  display: grid !important;
  grid-template-columns: var(--agreement-box-size) minmax(0, 1fr) !important;
  column-gap: var(--agreement-gap) !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  cursor: pointer;
}
.wpcf7-form .checkboxes .accept-all-label,
.wpcf7-form .form-check-one.agreement-agree,
.wpcf7-form .checkboxes .accept-all-label > .wpcf7-list-item-label,
.wpcf7-form .form-check-one.agreement-agree > .truncate {
  transition: color var(--form-transition), opacity var(--form-transition), gap var(--form-transition);
}
.wpcf7-form .checkboxes .accept-all-label > .check,
.wpcf7-form .form-check-one.agreement-agree > .wpcf7-form-control-wrap {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  grid-column: 1 !important;
  width: var(--agreement-box-size) !important;
  height: var(--agreement-box-size) !important;
  margin: 3px 0 0 !important;
  padding: 0 !important;
}
.wpcf7-form .checkboxes .accept-all-label > .wpcf7-list-item-label,
.wpcf7-form .form-check-one.agreement-agree > .truncate,
.wpcf7-form .form-check-one.agreement-agree > .invalid-feedback {
  grid-column: 2 !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
}
.wpcf7-form .checkboxes .accept-all-label > .wpcf7-list-item-label,
.wpcf7-form .checkboxes .expand-agreements,
.wpcf7-form .order-legal-agreement :is(.legal-more, .morecontent, .moreellipses, .morelink) {
  display: inline !important;
}
.wpcf7-form .checkboxes .expand-agreements,
.wpcf7-form .order-legal-agreement :is(.legal-more, .morecontent, .moreellipses, .morelink) {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font: inherit !important;
  line-height: inherit !important;
  vertical-align: baseline;
}
.wpcf7-form .form-check-one.agreement-agree > .truncate {
  cursor: pointer;
}
.wpcf7-form .checkboxes a,
.wpcf7-form .form-check-one.agreement-agree a,
.wpcf7-form .form-check-one.agreement-agree .morelink {
  cursor: pointer !important;
}
.wpcf7-form .checkboxes .expand-agreements {
  white-space: normal !important;
}
.wpcf7-form .checkboxes .accept-all-label > .check,
.wpcf7-form .form-check-one.agreement-agree :is(.agree-check, .check) {
  width: var(--agreement-box-size) !important;
  height: var(--agreement-box-size) !important;
  border-color: var(--form-control-color) !important;
  transition: border-color var(--form-transition), background-color var(--form-transition), box-shadow var(--form-transition), color var(--form-transition), transform var(--form-transition);
}
.wpcf7-form .checkboxes .accept-all-label > .check::after,
.wpcf7-form .form-check-one.agreement-agree :is(.agree-check, .check)::after {
  transition: opacity var(--form-transition), transform var(--form-transition);
}
.wpcf7-form .expand-agreements .pointer {
  transform-origin: center;
  transition: transform var(--form-transition);
}
.wpcf7-form .form-check-one.agreement-agree > .wpcf7-form-control-wrap .wpcf7-list-item label :is(.agree-check, .check) {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0 !important;
}
.wpcf7-form .form-check-one.agreement-agree > .wpcf7-form-control-wrap :is(.wpcf7-form-control, .wpcf7-list-item, label) {
  display: block !important;
  width: var(--agreement-box-size) !important;
  height: var(--agreement-box-size) !important;
  margin: 0 !important;
  padding: 0 !important;
}
.wpcf7-form #checkoutBtn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(3px, 0.35vw, 6px);
  text-align: center;
}
.wpcf7-form #checkoutBtn > span {
  display: block;
  width: 100%;
}
.wpcf7-form #checkoutBtn > span:not(.small) {
  font-weight: 700;
  line-height: 1.2;
}
.wpcf7-form #checkoutBtn > span.small {
  margin-top: 0;
  font-weight: 400;
  line-height: 1.3;
}
@media (max-width: 575.98px) {
  .wpcf7-form :is(#checkoutBtn, #checkoutBtnEdit, #checkoutBtnSend, .btn-order) {
    padding: clamp(12px, 3.5vw, 16px) clamp(10px, 4vw, 18px) !important;
    font-size: clamp(16px, 4.5vw, 18px) !important;
    line-height: 1.25 !important;
  }
  .wpcf7-form #checkoutBtn > span:not(.small) {
    font-size: inherit !important;
    line-height: 1.25 !important;
  }
  .wpcf7-form #checkoutBtn > span.small {
    margin-top: clamp(3px, 1vw, 6px);
    font-size: clamp(12px, 3.5vw, 14px) !important;
    line-height: 1.3 !important;
  }
}
