.elementor-114 .elementor-element.elementor-element-72dd97c{--display:flex;}.elementor-114 .elementor-element.elementor-element-bdcbc1f{width:100%;max-width:100%;}.elementor-114 .elementor-element.elementor-element-14f2808{width:100%;max-width:100%;}/* Start custom CSS for shortcode, class: .elementor-element-bdcbc1f *//* ============================================================
   Rooted Land — Contact Form 7 Custom Styles
   Add this to: Appearance > Customize > Additional CSS
   OR enqueue via your child theme's style.css
   ============================================================ */

/* Google Font — matches the original form's humanist serif+sans pairing */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Serif+Display&display=swap');

/* ── Root palette ── */
:root {
  --rl-bg:           #dde8e0;   /* sage green page background */
  --rl-surface:      #F8F6F1;   /* input / card background */
  --rl-border:       #c5d4c8;   /* subtle border */
  --rl-text-primary: #2b3a2e;   /* dark green-black */
  --rl-text-muted:   #7a9080;   /* section labels / placeholders */
  --rl-accent:       #2d3d2f;   /* button / focus */
  --rl-radius:       10px;
  --rl-font:         'DM Sans', sans-serif;
}

/* ── Outer wrapper ── */
.rl-form-wrap {
  font-family: var(--rl-font);
  color: var(--rl-text-primary);
  max-width: 640px;
  margin: 0 auto;
  padding: 2rem 1.5rem 3rem;
  background: var(--rl-bg);
}

/* ── Section labels (BASIC INFO / MINDSET …) ── */
.rl-section-label {
  font-family: var(--rl-font);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rl-text-muted);
  margin: 2rem 0 1rem;
}

.rl-section-label:first-child {
  margin-top: 0;
}

/* ── Field groups ── */
.rl-field-group {
  margin-bottom: 1.1rem;
}

/* ── Question labels ── */
.rl-label,
.rl-form-wrap label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--rl-text-primary);
  margin-bottom: 0px;
  line-height: 1em;
}

/* ── Text inputs & textareas ── */
.rl-form-wrap .wpcf7-form-control.wpcf7-text,
.rl-form-wrap .wpcf7-form-control.wpcf7-textarea,
.rl-form-wrap input[type="text"],
.rl-form-wrap input[type="email"],
.rl-form-wrap input[type="tel"],
.rl-form-wrap input[type="url"],
.rl-form-wrap textarea {
  width: 100%;
  background: var(--rl-surface);
  border: 1px solid transparent;
  border-radius: var(--rl-radius);
  padding: 14px 16px;
  font-family: var(--rl-font);
  font-size: 14px;
  color: var(--rl-text-primary);
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s, background 0.2s;
  resize: none;
}

.rl-form-wrap .wpcf7-form-control.wpcf7-text:focus,
.rl-form-wrap .wpcf7-form-control.wpcf7-textarea:focus,
.rl-form-wrap input[type="text"]:focus,
.rl-form-wrap textarea:focus {
  border-color: var(--rl-accent);
  background: #f0f5f1;
}

.rl-form-wrap .wpcf7-form-control.wpcf7-textarea,
.rl-form-wrap textarea {
  min-height: 100px;
  height: 100px;
}

/* ── Placeholders ── */
.rl-form-wrap ::placeholder {
  color: var(--rl-text-muted);
  font-size: 14px;
  font-weight: 400;
}

/* ── Radio group ── */
.rl-radio-group,
.rl-checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 8px;
}

/* CF7 wraps each radio/checkbox in a <span class="wpcf7-list-item"> */
.rl-form-wrap .wpcf7-radio .wpcf7-list-item,
.rl-form-wrap .wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  align-items: center;
  margin: 0 0 6px 0;
}

.rl-form-wrap .wpcf7-radio .wpcf7-list-item label,
.rl-form-wrap .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 400;
  color: var(--rl-text-primary);
  cursor: pointer;
  margin: 0;
  line-height: 1.4;
}

/* ── Custom radio ── */
.rl-form-wrap input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 1.5px solid var(--rl-text-muted);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
  transition: border-color 0.15s;
}

.rl-form-wrap input[type="radio"]:checked {
  border-color: var(--rl-accent);
  background: var(--rl-accent);
  box-shadow: inset 0 0 0 3px var(--rl-bg);
}

/* ── Custom checkbox ── */
.rl-form-wrap input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 1.5px solid var(--rl-text-muted);
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
  position: relative;
  transition: border-color 0.15s, background 0.15s;
}

.rl-form-wrap input[type="checkbox"]:checked {
  border-color: var(--rl-accent);
  background: var(--rl-accent);
}

.rl-form-wrap input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: 2px solid var(--rl-bg);
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

/* ── Submit button ── */
.rl-form-wrap .rl-submit,
.rl-form-wrap input[type="submit"],
.rl-form-wrap .wpcf7-submit {
  width: 100%;
  margin-top: 2rem;
  padding: 12px 24px;
  background: rgb(37, 55, 46)
;
  color: #e8efe9;
  border: none;
  border-radius: var(--rl-radius);
  font-family: var(--rl-font);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
}

.rl-form-wrap .rl-submit:hover,
.rl-form-wrap input[type="submit"]:hover,
.rl-form-wrap .wpcf7-submit:hover {
  background: #1e2b20;
}

.rl-form-wrap .rl-submit:active,
.rl-form-wrap input[type="submit"]:active,
.rl-form-wrap .wpcf7-submit:active {
  transform: scale(0.99);
}

/* ── Validation messages ── */
.rl-form-wrap .wpcf7-not-valid-tip {
  color: #b04a2a;
  font-size: 12px;
  margin-top: 4px;
  display: block;
}

.rl-form-wrap .wpcf7-response-output {
  margin: 1rem 0 0;
  padding: 12px 16px;
  border-radius: var(--rl-radius);
  font-size: 13px;
  border: none;
  background: #c8dfca;
  color: var(--rl-accent);
}

.rl-form-wrap .wpcf7-mail-sent-ng .wpcf7-response-output,
.rl-form-wrap .wpcf7-validation-errors .wpcf7-response-output {
  background: #f5d5c8;
  color: #7a2910;
}

/* ── Spinner ── */
.rl-form-wrap .wpcf7-spinner {
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
}

/* ── Mobile tweaks ── */
@media (max-width: 480px) {
  .rl-form-wrap {
    padding: 1.5rem 1rem 2.5rem;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-14f2808 *//* ============================================================
   Rooted Land — Contact Form 7 Custom Styles
   Add this to: Appearance > Customize > Additional CSS
   OR enqueue via your child theme's style.css
   ============================================================ */

/* Google Font — matches the original form's humanist serif+sans pairing */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=DM+Serif+Display&display=swap');

/* ── Root palette ── */
:root {
  --rl-bg:           #dde8e0;   /* sage green page background */
  --rl-surface:      #F8F6F1;   /* input / card background */
  --rl-border:       #c5d4c8;   /* subtle border */
  --rl-text-primary: #2b3a2e;   /* dark green-black */
  --rl-text-muted:   #7a9080;   /* section labels / placeholders */
  --rl-accent:       #2d3d2f;   /* button / focus */
  --rl-radius:       10px;
  --rl-font:         'DM Sans', sans-serif;
}

/* ── Outer wrapper ── */
.rl-form-wrap {
  font-family: var(--rl-font);
  color: var(--rl-text-primary);
  max-width: 640px;
  margin: 0 auto;
  padding: 2rem 1.5rem 3rem;
  background: var(--rl-bg);
}

/* ── Section labels (BASIC INFO / MINDSET …) ── */
.rl-section-label {
  font-family: var(--rl-font);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rl-text-muted);
  margin: 2rem 0 1rem;
}

.rl-section-label:first-child {
  margin-top: 0;
}

/* ── Field groups ── */
.rl-field-group {
  margin-bottom: 1.1rem;
}

/* ── Question labels ── */
.rl-label,
.rl-form-wrap label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--rl-text-primary);
  margin-bottom: 0px;
  line-height: 1em;
}

/* ── Text inputs & textareas ── */
.rl-form-wrap .wpcf7-form-control.wpcf7-text,
.rl-form-wrap .wpcf7-form-control.wpcf7-textarea,
.rl-form-wrap input[type="text"],
.rl-form-wrap input[type="email"],
.rl-form-wrap input[type="tel"],
.rl-form-wrap input[type="url"],
.rl-form-wrap textarea {
  width: 100%;
  background: var(--rl-surface);
  border: 1px solid transparent;
  border-radius: var(--rl-radius);
  padding: 14px 16px;
  font-family: var(--rl-font);
  font-size: 14px;
  color: var(--rl-text-primary);
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s, background 0.2s;
  resize: none;
}

.rl-form-wrap .wpcf7-form-control.wpcf7-text:focus,
.rl-form-wrap .wpcf7-form-control.wpcf7-textarea:focus,
.rl-form-wrap input[type="text"]:focus,
.rl-form-wrap textarea:focus {
  border-color: var(--rl-accent);
  background: #f0f5f1;
}

.rl-form-wrap .wpcf7-form-control.wpcf7-textarea,
.rl-form-wrap textarea {
  min-height: 100px;
  height: 100px;
}

/* ── Placeholders ── */
.rl-form-wrap ::placeholder {
  color: var(--rl-text-muted);
  font-size: 14px;
  font-weight: 400;
}

/* ── Radio group ── */
.rl-radio-group,
.rl-checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 8px;
}

/* CF7 wraps each radio/checkbox in a <span class="wpcf7-list-item"> */
.rl-form-wrap .wpcf7-radio .wpcf7-list-item,
.rl-form-wrap .wpcf7-checkbox .wpcf7-list-item {
  display: flex;
  align-items: center;
  margin: 0 0 6px 0;
}

.rl-form-wrap .wpcf7-radio .wpcf7-list-item label,
.rl-form-wrap .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 400;
  color: var(--rl-text-primary);
  cursor: pointer;
  margin: 0;
  line-height: 1.4;
}

/* ── Custom radio ── */
.rl-form-wrap input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 1.5px solid var(--rl-text-muted);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  position: relative;
  transition: border-color 0.15s;
}

.rl-form-wrap input[type="radio"]:checked {
  border-color: var(--rl-accent);
  background: var(--rl-accent);
  box-shadow: inset 0 0 0 3px var(--rl-bg);
}

/* ── Custom checkbox ── */
.rl-form-wrap input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border: 1.5px solid var(--rl-text-muted);
  border-radius: 4px;
  background: transparent;
  cursor: pointer;
  position: relative;
  transition: border-color 0.15s, background 0.15s;
}

.rl-form-wrap input[type="checkbox"]:checked {
  border-color: var(--rl-accent);
  background: var(--rl-accent);
}

.rl-form-wrap input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 5px;
  height: 9px;
  border: 2px solid var(--rl-bg);
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}

/* ── Submit button ── */
.rl-form-wrap .rl-submit,
.rl-form-wrap input[type="submit"],
.rl-form-wrap .wpcf7-submit {
  width: 100%;
  margin-top: 2rem;
  padding: 12px 24px;
  background: rgb(37, 55, 46)
;
  color: #e8efe9;
  border: none;
  border-radius: var(--rl-radius);
  font-family: var(--rl-font);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
}

.rl-form-wrap .rl-submit:hover,
.rl-form-wrap input[type="submit"]:hover,
.rl-form-wrap .wpcf7-submit:hover {
  background: #1e2b20;
}

.rl-form-wrap .rl-submit:active,
.rl-form-wrap input[type="submit"]:active,
.rl-form-wrap .wpcf7-submit:active {
  transform: scale(0.99);
}

/* ── Validation messages ── */
.rl-form-wrap .wpcf7-not-valid-tip {
  color: #b04a2a;
  font-size: 12px;
  margin-top: 4px;
  display: block;
}

.rl-form-wrap .wpcf7-response-output {
  margin: 1rem 0 0;
  padding: 12px 16px;
  border-radius: var(--rl-radius);
  font-size: 13px;
  border: none;
  background: #c8dfca;
  color: var(--rl-accent);
}

.rl-form-wrap .wpcf7-mail-sent-ng .wpcf7-response-output,
.rl-form-wrap .wpcf7-validation-errors .wpcf7-response-output {
  background: #f5d5c8;
  color: #7a2910;
}

/* ── Spinner ── */
.rl-form-wrap .wpcf7-spinner {
  display: inline-block;
  margin-left: 10px;
  vertical-align: middle;
}

/* ── Mobile tweaks ── */
@media (max-width: 480px) {
  .rl-form-wrap {
    padding: 1.5rem 1rem 2.5rem;
  }
}/* End custom CSS */