.elementor-45270 .elementor-element.elementor-element-aa19a48{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:104px;--padding-bottom:104px;--padding-left:30px;--padding-right:15px;}.elementor-45270 .elementor-element.elementor-element-df48f30{--display:grid;--min-height:90px;--e-con-grid-template-columns:27px 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-26ae12a{--rounded-divider-color:#FB91A3;--rounded-divider-spacing:8px;}.elementor-45270 .elementor-element.elementor-element-8ec26ce{--display:flex;--justify-content:space-around;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-45270 .elementor-element.elementor-element-cf8afec .elementor-heading-title{font-family:var( --e-global-typography-7502068-font-family ), Sans-serif;font-size:var( --e-global-typography-7502068-font-size );font-weight:var( --e-global-typography-7502068-font-weight );text-transform:var( --e-global-typography-7502068-text-transform );font-style:var( --e-global-typography-7502068-font-style );text-decoration:var( --e-global-typography-7502068-text-decoration );line-height:var( --e-global-typography-7502068-line-height );letter-spacing:var( --e-global-typography-7502068-letter-spacing );}.elementor-45270 .elementor-element.elementor-element-24b6243{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:40px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-a777f74{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:24px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-650bfc4{text-align:start;}.elementor-45270 .elementor-element.elementor-element-650bfc4 img{width:157px;}.elementor-45270 .elementor-element.elementor-element-10f0b1a{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:48px 48px;--row-gap:48px;--column-gap:48px;--border-radius:16px 16px 16px 16px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-45270 .elementor-element.elementor-element-10f0b1a:not(.elementor-motion-effects-element-type-background), .elementor-45270 .elementor-element.elementor-element-10f0b1a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-3f51b5a );}.elementor-45270 .elementor-element.elementor-element-10f0b1a.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-45270 .elementor-element.elementor-element-20ad34f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-47d1b4d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-cc9ea6c{--display:flex;--gap:8px 8px;--row-gap:8px;--column-gap:8px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-ecaecab{font-family:var( --e-global-typography-f275d06-font-family ), Sans-serif;font-size:var( --e-global-typography-f275d06-font-size );font-weight:var( --e-global-typography-f275d06-font-weight );text-transform:var( --e-global-typography-f275d06-text-transform );font-style:var( --e-global-typography-f275d06-font-style );text-decoration:var( --e-global-typography-f275d06-text-decoration );line-height:var( --e-global-typography-f275d06-line-height );}.elementor-45270 .elementor-element.elementor-element-a049a5c{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;}.elementor-45270 .elementor-element.elementor-element-a049a5c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-45270 .elementor-element.elementor-element-fcb50f7{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-6098de1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:20px;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-20px;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-45270 .elementor-element.elementor-element-d839341 .elementor-labels-inline .elementor-field-group > label{padding-left:10px;}body:not(.rtl) .elementor-45270 .elementor-element.elementor-element-d839341 .elementor-labels-inline .elementor-field-group > label{padding-right:10px;}body .elementor-45270 .elementor-element.elementor-element-d839341 .elementor-labels-above .elementor-field-group > label{padding-bottom:10px;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-group > label{font-size:14px;font-weight:600;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-type-html{font-size:14px;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-group .elementor-field, .elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-subgroup label{font-size:14px;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:var( --e-global-color-63688d3 );border-radius:10px 10px 10px 10px;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:var( --e-global-color-63688d3 );border-radius:10px 10px 10px 10px;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-63688d3 );}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-button{font-size:14px;border-style:none;padding:10px 19px 10px 19px;}.elementor-45270 .elementor-element.elementor-element-d839341 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-6d4361b );color:#ffffff;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-button[type="submit"]{background-color:var( --e-global-color-6d4361b );color:#ffffff;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-45270 .elementor-element.elementor-element-d839341 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-45270 .elementor-element.elementor-element-d839341 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-45270 .elementor-element.elementor-element-d839341 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-45270 .elementor-element.elementor-element-d839341 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-45270 .elementor-element.elementor-element-d839341{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-45270 .elementor-element.elementor-global-3983{--spacer-size:64px;width:var( --container-widget-width, 89.426% );max-width:89.426%;--container-widget-width:89.426%;--container-widget-flex-grow:0;}.elementor-45270 .elementor-element.elementor-global-3983.elementor-element{--flex-grow:0;--flex-shrink:0;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-45270 .elementor-element.elementor-element-aa19a48{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:24px;--padding-bottom:48px;--padding-left:30px;--padding-right:30px;}.elementor-45270 .elementor-element.elementor-element-df48f30{--e-con-grid-template-columns:27px 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-8ec26ce{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-45270 .elementor-element.elementor-element-cf8afec .elementor-heading-title{font-size:var( --e-global-typography-7502068-font-size );line-height:var( --e-global-typography-7502068-line-height );letter-spacing:var( --e-global-typography-7502068-letter-spacing );}.elementor-45270 .elementor-element.elementor-element-24b6243{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:40px;--padding-left:24px;--padding-right:24px;}.elementor-45270 .elementor-element.elementor-element-a777f74{--padding-top:0px;--padding-bottom:16px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-10f0b1a{--gap:33px 33px;--row-gap:33px;--column-gap:33px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-45270 .elementor-element.elementor-element-ca07578{width:100%;max-width:100%;}.elementor-45270 .elementor-element.elementor-element-47d1b4d{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;}.elementor-45270 .elementor-element.elementor-element-ecaecab{width:initial;max-width:initial;font-size:var( --e-global-typography-f275d06-font-size );line-height:var( --e-global-typography-f275d06-line-height );}.elementor-45270 .elementor-element.elementor-element-a049a5c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:16px 0px 0px 0px;}.elementor-45270 .elementor-element.elementor-element-a049a5c{--container-widget-width:100%;--container-widget-flex-grow:0;width:var( --container-widget-width, 100% );max-width:100%;}.elementor-45270 .elementor-element.elementor-element-fcb50f7{--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-45270 .elementor-element.elementor-element-6098de1{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:640px){.elementor-45270 .elementor-element.elementor-element-aa19a48{--padding-top:24px;--padding-bottom:0px;--padding-left:30px;--padding-right:15px;}.elementor-45270 .elementor-element.elementor-element-df48f30{--e-con-grid-template-columns:27px 1fr;--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-45270 .elementor-element.elementor-element-cf8afec .elementor-heading-title{font-size:var( --e-global-typography-7502068-font-size );line-height:var( --e-global-typography-7502068-line-height );letter-spacing:var( --e-global-typography-7502068-letter-spacing );}.elementor-45270 .elementor-element.elementor-element-24b6243{--padding-top:40px;--padding-bottom:40px;--padding-left:24px;--padding-right:24px;}.elementor-45270 .elementor-element.elementor-element-a777f74{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-element-650bfc4 img{width:120px;}.elementor-45270 .elementor-element.elementor-element-10f0b1a{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-45270 .elementor-element.elementor-element-ecaecab{font-size:var( --e-global-typography-f275d06-font-size );line-height:var( --e-global-typography-f275d06-line-height );}.elementor-45270 .elementor-element.elementor-element-a049a5c > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-45270 .elementor-element.elementor-element-fcb50f7{--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-45270 .elementor-element.elementor-element-6098de1{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-45270 .elementor-element.elementor-global-3983{--spacer-size:48px;}}@media(min-width:641px){.elementor-45270 .elementor-element.elementor-element-df48f30{--width:80%;}.elementor-45270 .elementor-element.elementor-element-a777f74{--width:80%;}.elementor-45270 .elementor-element.elementor-element-10f0b1a{--width:80%;}.elementor-45270 .elementor-element.elementor-element-20ad34f{--width:100%;}.elementor-45270 .elementor-element.elementor-element-6098de1{--width:60%;}}@media(max-width:1024px) and (min-width:641px){.elementor-45270 .elementor-element.elementor-element-df48f30{--width:100%;}.elementor-45270 .elementor-element.elementor-element-a777f74{--width:100%;}.elementor-45270 .elementor-element.elementor-element-10f0b1a{--width:100%;}.elementor-45270 .elementor-element.elementor-element-20ad34f{--width:100%;}.elementor-45270 .elementor-element.elementor-element-6098de1{--width:100%;}}/* Start custom CSS for container, class: .elementor-element-8ec26ce */select/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-d839341 *//* ============================================================
   RSVP — CCRM Fertility Family Reunion
   Fields: name, field_45543ad, email, include_partner,
           partner_first_name / _last_name / _email,
           include_children, field_9946350 (repeater start),
           field_9677478 (age), field_f744caa (child name),
           children (repeater end), terms, field_418d4e1 (signature)
   ============================================================ */

a { text-decoration: underline !important; }

.elementor-field-type-acceptance a {
  font-size: 14px !important;
  font-weight: 500 !important;
}

/* ============================================================
   TOGGLE SWITCHES — include_partner + include_children
   Add a group class to these lists to turn any acceptance
   field into a switch.
   ============================================================ */
.elementor-field-group-include_partner.elementor-col-100,
.elementor-field-group-include_children.elementor-col-100 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  flex-wrap: nowrap;
  gap: 12px;
}
.elementor-field-group-include_partner .elementor-field-subgroup,
.elementor-field-group-include_children .elementor-field-subgroup {
  display: block !important;
  width: 56px !important;
  height: 28px !important;
  flex: 0 0 56px !important;
  order: 1;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-field-group-include_partner .elementor-field-label,
.elementor-field-group-include_children .elementor-field-label {
  order: 2;
  margin: 0 0 0 14px !important;
  padding: 0 !important;
  width: auto !important;
  flex: 1 1 auto;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.elementor-field-group-include_partner .elementor-field-option,
.elementor-field-group-include_children .elementor-field-option {
  display: inline-block !important;
  width: 56px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.elementor-field-group-include_partner .elementor-field-subgroup input[type="checkbox"].elementor-acceptance-field,
.elementor-field-group-include_children .elementor-field-subgroup input[type="checkbox"].elementor-acceptance-field {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  display: block !important;
  width: 56px !important;
  height: 28px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 765px !important;
  background-color: #d7d7d7 !important;
  background-image: radial-gradient(circle at 14px 14px, #fff 0 10px, transparent 10px) !important;
  background-repeat: no-repeat !important;
  box-shadow: none !important;
  cursor: pointer;
  position: relative !important;
  transition: background-color .2s ease, background-position .2s ease !important;
}
.elementor-field-group-include_partner .elementor-field-subgroup input[type="checkbox"].elementor-acceptance-field:checked,
.elementor-field-group-include_children .elementor-field-subgroup input[type="checkbox"].elementor-acceptance-field:checked {
  background-color: #0b5f6a !important;
  background-position: 28px 0 !important;
}
/* appearance:none removes the default focus ring — put one back */
.elementor-field-group-include_partner .elementor-acceptance-field:focus-visible,
.elementor-field-group-include_children .elementor-acceptance-field:focus-visible {
  outline: 2px solid #0b5f6a !important;
  outline-offset: 3px !important;
}

/* ============================================================
   PARTNER CARD — include_partner → partner_email
   ============================================================ */
.elementor-field-group-include_partner,
.elementor-field-group-partner_first_name,
.elementor-field-group-partner_last_name,
.elementor-field-group-partner_email {
  background: #fbf9f8 !important;
  padding: 16px 28px 0 !important;
  margin-bottom: 0 !important;
}
.elementor-field-group-include_partner.elementor-col-100 {
  margin-top: 0 !important;
  padding-top: 28px !important;
  padding-bottom: 20px !important;
  border-radius: 16px 16px 0 0 !important;
}
/* CSS-side hide, so the card is right even with the conditional-logic
   typo on partner_last_name / partner_email (trailing space in the id) */
.elementor-form:has(.elementor-field-group-include_partner input:not(:checked)) .elementor-field-group-partner_first_name,
.elementor-form:has(.elementor-field-group-include_partner input:not(:checked)) .elementor-field-group-partner_last_name,
.elementor-form:has(.elementor-field-group-include_partner input:not(:checked)) .elementor-field-group-partner_email {
  display: none !important;
}
.elementor-form:has(.elementor-field-group-include_partner input:not(:checked)) .elementor-field-group-include_partner.elementor-col-100 {
  padding-bottom: 28px !important;
  margin-bottom: 24px !important;
  border-radius: 16px !important;
}
.elementor-form:has(.elementor-field-group-include_partner input:checked) .elementor-field-group-partner_email {
  padding-bottom: 28px !important;
  margin-bottom: 24px !important;
  border-radius: 0 0 16px 16px !important;
}

/* ============================================================
   CHILDREN CARD — one continuous panel:
   include_children  →  child rows  →  "+ Add another child"
   ============================================================ */
.elementor-field-group-include_children.elementor-col-100 {
  background: #fbf9f8 !important;
  padding: 28px 28px 20px !important;
  margin: 0 !important;
  border-radius: 16px 16px 0 0 !important;
}
.elementor-field-group-children.elementor-col-100 {
  background: #fbf9f8 !important;
  padding: 0 28px 24px !important;
  margin: 0 0 24px !important;
  border-radius: 0 0 16px 16px !important;
}
.elementor-field-group-children .elementor-field-repeater-end {
  padding: 0 !important;   /* plugin ships 5px 15px */
}
/* toggle OFF → collapse the repeater and close the card */
.elementor-form:has(.elementor-field-group-include_children input:not(:checked)) .elementor-field-group-children,
.elementor-form:has(.elementor-field-group-include_children input:not(:checked)) .elementor-field-group-field_9946350 {
  display: none !important;
}
.elementor-form:has(.elementor-field-group-include_children input:not(:checked)) .elementor-field-group-include_children.elementor-col-100 {
  padding-bottom: 28px !important;
  margin-bottom: 24px !important;
  border-radius: 16px !important;
}
/* repeater_start is an empty template holder; the age/name originals are
   removed by the plugin's JS on load — hide them so they don't flash */
.elementor-field-group-field_9946350,
.elementor-field-group-field_9677478,
.elementor-field-group-field_f744caa {
  display: none !important;
}

/* ---- Child row card ---- */
.repeater-field-item {
  background: #fff !important;
  border: 1px solid #f0eae6 !important;
  border-radius: 14px !important;
  padding: 16px 20px !important;
  margin: 0 0 12px !important;
}
.repeater-field-item .repeater-field-header {
  align-items: center;
  margin-bottom: 10px;
}
.repeater-field-item .repeater-field-header-title {
  font-weight: 700;
  color: #12403f;
  margin: 0 !important;
}
.repeater-field-item .repeater-field-header-acctions {
  width: auto !important;
  flex: 0 0 auto;
  margin-left: auto;
}
/* mockup shows only the remove ✕ — delete this rule to bring the caret back */
.repeater-field-item .repeater-field-header-acctions-toogle { display: none !important; }
.repeater-field-item .repeater-field-header-acctions li i {
  font-size: 18px !important;
  color: #8a93a2 !important;
  margin: 0 !important;
  padding: 4px;                /* touch target */
  transition: color .15s ease;
}
.repeater-field-item .repeater-field-header-acctions li i:hover {
  color: #dc2626 !important;
  opacity: 1 !important;
}

/* ---- Age + name on one row; errors drop underneath ---- */
.repeater-field-item .container-repeater-field {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 14px;
}
.repeater-field-item .container-repeater-field > .elementor-field-group {
  padding: 0 !important;
  margin: 0 !important;
  align-content: flex-start;
}
.repeater-field-item .elementor-field-type-number {
  flex: 0 0 140px !important;
  width: 140px !important;
  max-width: 140px !important;
}
.repeater-field-item .elementor-field-type-text {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}
/* error takes its own full-width line inside its column, so it can
   never widen that column or shift the sibling input */
.repeater-field-item .elementor-field-group span.elementor-form-help-inline {
  flex: 1 1 100% !important;
  width: 100% !important;
  margin-top: 6px !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
}
.repeater-field-item input[type="number"] { -moz-appearance: textfield; }
.repeater-field-item input[type="number"]::-webkit-outer-spin-button,
.repeater-field-item input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* ---- "Add another child" → underlined text link ---- */
.repeater-field-footer { margin: 4px 0 0 !important; }
.repeater-field-footer .repeater-field-button-add {
  display: inline-block !important;
  padding: 4px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  color: #12403f !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  cursor: pointer;
  transition: color .15s ease;
}
.repeater-field-footer .repeater-field-button-add::before { content: "+ "; }
.repeater-field-footer .repeater-field-button-add:hover {
  color: #0b5f6a !important;
  opacity: 1 !important;
}

/* ============================================================
   TERMS ACCEPTANCE — box top-aligned, error on its own row
   ============================================================ */
.elementor-field-group-terms .elementor-field-option {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
}
.elementor-field-group-terms input[type="checkbox"] {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px;
  margin-top: 2px;
  cursor: pointer;
}
.elementor-field-group-terms .elementor-field-option label {
  margin: 0 !important;
  line-height: 1.55 !important;
  cursor: pointer;
  flex: 1;
}
.elementor-field-group-terms .elementor-field-option label a {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: baseline !important;
}
.elementor-field-group-terms .elementor-message-danger,
.elementor-field-group-terms .elementor-help-inline {
  flex: 1 1 100% !important;
  margin-top: 8px !important;
}


/* ============================================================
   hipaa ACCEPTANCE — box top-aligned, error on its own row
   ============================================================ */
.elementor-field-group-hipaa .elementor-field-option {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
}
.elementor-field-group-hipaa input[type="checkbox"] {
  width: 24px !important;
  height: 24px !important;
  flex: 0 0 24px;
  margin-top: 2px;
  cursor: pointer;
}
.elementor-field-group-hipaa .elementor-field-option label {
  margin: 0 !important;
  line-height: 1.55 !important;
  cursor: pointer;
  flex: 1;
}
.elementor-field-group-hipaa .elementor-field-option label a {
  display: inline !important;
  padding: 0 !important;
  margin: 0 !important;
  vertical-align: baseline !important;
}
.elementor-field-group-hipaa .elementor-message-danger,
.elementor-field-group-hipaa .elementor-help-inline {
  flex: 1 1 100% !important;
  margin-top: 8px !important;
}

/* ============================================================
   SIGNATURE
   ============================================================ */
.elementor-field-group-field_418d4e1 .elementor-signature-container {
  max-width: 100% !important;
}

/* ============================================================
   ERROR STATES
   ============================================================ */
.elementor-form .elementor-message-danger,
.elementor-form .elementor-help-inline,
.handle-group-error {
  color: #dc2626 !important;
  font-size: 13px !important;
}
.elementor-form [aria-invalid="true"],
.elementor-form .elementor-error input,
.elementor-form .elementor-error select,
.elementor-form .elementor-error textarea {
  border-color: #dc2626 !important;
}

/* ✕ / ✓ drawn as an SVG mask instead of the eicons glyph — eicons is
   only enqueued for logged-in users, so \e87f renders as tofu to guests.
   currentColor keeps it matching the red/green message tokens. */
.elementor-form .elementor-message::before,
.checkbox-group-error.handle-group-error::before {
  content: "" !important;
  font-family: inherit !important;
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  margin-inline-end: 6px !important;
  vertical-align: -1px !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 4.5l7 7M11.5 4.5l-7 7' stroke='%23000' stroke-width='2.4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 4.5l7 7M11.5 4.5l-7 7' stroke='%23000' stroke-width='2.4' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* success message gets a check instead */
.elementor-form .elementor-message-success::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width: 640px) {
  .repeater-field-item .container-repeater-field { flex-wrap: wrap !important; }
  .repeater-field-item .elementor-field-type-number {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: none !important;
  }
}
@media (max-width: 480px) {
  .elementor-field-group-include_partner.elementor-col-100,
  .elementor-field-group-include_children.elementor-col-100 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .elementor-field-group-include_partner .elementor-field-subgroup,
  .elementor-field-group-include_children .elementor-field-subgroup {
    flex: 0 0 56px !important;
    order: 1 !important;
  }
  .elementor-field-group-include_partner .elementor-field-label,
  .elementor-field-group-include_children .elementor-field-label {
    order: 2 !important;
    flex: 1 1 auto !important;
    white-space: normal !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
  }
  /* .elementor-col-100 needed here — the base children-card rules use two
     classes and would otherwise outrank these on side padding */
  .elementor-field-group-include_partner.elementor-col-100,
  .elementor-field-group-partner_first_name.elementor-col-100,
  .elementor-field-group-partner_last_name.elementor-col-100,
  .elementor-field-group-partner_email.elementor-col-100,
  .elementor-field-group-include_children.elementor-col-100,
  .elementor-field-group-children.elementor-col-100 {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .repeater-field-item { padding: 14px 16px !important; }
}/* End custom CSS */