/* Start custom CSS *//* Contact Form 7 styling for the Try 3 Lessons lead-capture card */
.elementor-65119 .wpcf7 { font-family: "IBM Plex Sans", sans-serif; }
.elementor-65119 .wpcf7 form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.elementor-65119 .wpcf7 form > p { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.elementor-65119 .wpcf7 label { display: block; font-size: 0.85rem; font-weight: 600; color: #1a1f26; margin: 0 0 6px 0; line-height: 1.3; }
.elementor-65119 .wpcf7 .wpcf7-form-control-wrap { display: block; }
.elementor-65119 .wpcf7 input:not([type=submit]):not([type=radio]):not([type=checkbox]):not([type=file]),
.elementor-65119 .wpcf7 select,
.elementor-65119 .wpcf7 textarea { width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #d6dbe3; border-radius: 10px; background: #fff; font-family: "IBM Plex Sans", sans-serif; font-size: 1rem; line-height: 1.4; color: #111; transition: border-color .15s, box-shadow .15s; }
.elementor-65119 .wpcf7 textarea { min-height: 96px; resize: vertical; }

/* Selects: the theme pins a fixed height/line-height that clips the text, so force these */
.elementor-65119 .wpcf7 select.wpcf7-form-control { height: auto !important; min-height: 50px !important; line-height: 1.4 !important; padding: 12px 42px 12px 14px !important; font-size: 1rem !important; color: #111 !important; background-color: #fff !important; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%231a1f26' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 14px 14px !important; cursor: pointer; }
.elementor-65119 .wpcf7 select.wpcf7-form-control option { color: #111; background: #fff; }

.elementor-65119 .wpcf7 input:not([type=radio]):focus, .elementor-65119 .wpcf7 select:focus, .elementor-65119 .wpcf7 textarea:focus { outline: none; border-color: #61cc2f; box-shadow: 0 0 0 3px rgba(97,204,47,.25); }
.elementor-65119 .wpcf7 input::placeholder, .elementor-65119 .wpcf7 textarea::placeholder { color: #8a909a; }

/* Radio group as segmented buttons (Myself / My team). CF7 renders:
   span.wpcf7-list-item > input[type=radio] + span.wpcf7-list-item-label (no <label>) */
.elementor-65119 .wpcf7 .wpcf7-form-control-wrap[data-name="frm-audience"]::before { content: "Who is this for?"; display: block; font-size: 0.85rem; font-weight: 600; color: #1a1f26; margin: 0 0 8px 0; line-height: 1.3; }
.elementor-65119 .wpcf7 .wpcf7-radio { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.elementor-65119 .wpcf7 .wpcf7-radio .wpcf7-list-item { position: relative; display: block; margin: 0; }
.elementor-65119 .wpcf7 .wpcf7-radio .wpcf7-list-item input[type=radio] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.elementor-65119 .wpcf7 .wpcf7-radio .wpcf7-list-item-label { display: block; box-sizing: border-box; width: 100%; padding: 12px 14px; border: 1px solid #d6dbe3; border-radius: 10px; background: #fff; color: #1a1f26; font-size: 0.95rem; font-weight: 600; line-height: 1.3; text-align: center; cursor: pointer; user-select: none; transition: background .15s, border-color .15s, color .15s; }
.elementor-65119 .wpcf7 .wpcf7-radio .wpcf7-list-item input[type=radio]:hover + .wpcf7-list-item-label { border-color: #61cc2f; }
.elementor-65119 .wpcf7 .wpcf7-radio .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label { background: #61cc2f; border-color: #61cc2f; color: #000; font-weight: 700; }
.elementor-65119 .wpcf7 .wpcf7-radio .wpcf7-list-item input[type=radio]:focus-visible + .wpcf7-list-item-label { box-shadow: 0 0 0 3px rgba(97,204,47,.35); }
/* Same treatment if the tag is later given use_label_element (CF7 then wraps each item in a <label>) */
.elementor-65119 .wpcf7 .wpcf7-radio .wpcf7-list-item label { position: relative; display: block; margin: 0; }

/* Checkbox groups (if any are added later) stay as simple inline pills */
.elementor-65119 .wpcf7 .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: 10px; }
.elementor-65119 .wpcf7 .wpcf7-checkbox .wpcf7-list-item { margin: 0; }
.elementor-65119 .wpcf7 .wpcf7-checkbox input { accent-color: #61cc2f; margin: 0 6px 0 0; }

/* Submit button matches the site's green primary button */
.elementor-65119 .wpcf7 .wpcf7-submit { width: 100%; margin-top: 6px; padding: 16px 30px; border: 0; border-radius: 10px; background: #61cc2f; color: #000; font-family: "IBM Plex Sans", sans-serif; font-size: 16px; font-weight: 700; cursor: pointer; transition: background .15s, transform .15s; }
.elementor-65119 .wpcf7 .wpcf7-submit:hover { background: #55b529; }
.elementor-65119 .wpcf7 .wpcf7-submit:active { transform: translateY(1px); }
.elementor-65119 .wpcf7 .wpcf7-spinner { margin: 8px auto 0; display: block; }

/* Validation + response messages */
.elementor-65119 .wpcf7 .wpcf7-not-valid-tip { font-size: 0.8rem; color: #c0392b; margin-top: 4px; }
.elementor-65119 .wpcf7 .wpcf7-not-valid { border-color: #c0392b; }
.elementor-65119 .wpcf7 .wpcf7-response-output { margin: 12px 0 0; padding: 12px 14px; border-radius: 10px; border: 1px solid #d6dbe3; font-size: 0.9rem; }
.elementor-65119 .wpcf7 form.sent .wpcf7-response-output { border-color: #61cc2f; background: #eefbe7; color: #1f5a0b; }
.elementor-65119 .wpcf7 form.invalid .wpcf7-response-output, .elementor-65119 .wpcf7 form.failed .wpcf7-response-output { border-color: #c0392b; background: #fdf0ee; color: #8a2419; }/* End custom CSS */