.elementor-749 .elementor-element.elementor-element-9f6b738{--display:flex;--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:60px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-749 .elementor-element.elementor-element-f2360e2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;z-index:10;}.elementor-749 .elementor-element.elementor-element-f2360e2 .ekit-heading__description{max-width:53%;}.elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title{color:#000000;margin:0px 0px 8px 0px;font-family:"Jost", Sans-serif;font-size:46px;font-weight:600;text-transform:uppercase;font-style:normal;line-height:60px;}.elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title > span{color:var( --e-global-color-primary );padding:0px 0px 0px 0px;}.elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title:hover > span{color:var( --e-global-color-primary );}.elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title > span{font-family:"Jost", Sans-serif;font-size:45px;font-weight:600;line-height:60px;}.elementor-749 .elementor-element.elementor-element-69b52cb{--display:flex;--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:center;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-749 .elementor-element.elementor-element-af4edd9{background-color:var( --e-global-color-primary );padding:10px 20px 10px 20px;border-radius:4px 4px 4px 4px;box-shadow:0px 0px 5px 0px rgba(0, 0, 0, 0.39);--e-icon-list-icon-size:20px;--icon-vertical-offset:0px;}.elementor-749 .elementor-element.elementor-element-af4edd9 .elementor-icon-list-icon i{color:#FFFFFF;transition:color 0.3s;}.elementor-749 .elementor-element.elementor-element-af4edd9 .elementor-icon-list-icon svg{fill:#FFFFFF;transition:fill 0.3s;}.elementor-749 .elementor-element.elementor-element-af4edd9 .elementor-icon-list-icon{padding-inline-end:4px;}.elementor-749 .elementor-element.elementor-element-af4edd9 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-749 .elementor-element.elementor-element-af4edd9 .elementor-icon-list-item > a{font-family:"Jost", Sans-serif;font-size:16px;font-weight:500;text-transform:uppercase;}.elementor-749 .elementor-element.elementor-element-af4edd9 .elementor-icon-list-text{color:#FFFFFF;transition:color 0.3s;}.elementor-749 .elementor-element.elementor-element-a13a621{--display:flex;--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:60px;--padding-bottom:60px;--padding-left:0px;--padding-right:0px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-group{padding-right:calc( 20px/2 );padding-left:calc( 20px/2 );margin-bottom:25px;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-form-fields-wrapper{margin-left:calc( -20px/2 );margin-right:calc( -20px/2 );margin-bottom:-25px;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-group > label, .elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-subgroup label{color:var( --e-global-color-secondary );}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-mark-required .elementor-field-label:after{color:var( --e-global-color-secondary );}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-group > label{font-family:"Jost", Sans-serif;font-size:16px;font-weight:600;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-type-html{padding-bottom:0px;font-family:"Jost", Sans-serif;font-weight:400;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:var( --e-global-color-primary );border-width:2px 2px 2px 2px;border-radius:3px 3px 3px 3px;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:var( --e-global-color-primary );border-width:2px 2px 2px 2px;border-radius:3px 3px 3px 3px;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-primary );}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-button{font-family:"Jost", Sans-serif;font-size:18px;font-weight:500;text-transform:uppercase;border-style:none;border-radius:0px 0px 0px 0px;padding:15px 15px 15px 15px;}.elementor-749 .elementor-element.elementor-element-d3eae75 .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-primary );color:#ffffff;transition-duration:900ms;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-button[type="submit"]{background-color:var( --e-global-color-primary );color:#ffffff;transition-duration:900ms;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-button[type="submit"] svg *{fill:#ffffff;transition-duration:900ms;}.elementor-749 .elementor-element.elementor-element-d3eae75 .e-form__buttons__wrapper__button-previous{color:#ffffff;transition-duration:900ms;}.elementor-749 .elementor-element.elementor-element-d3eae75 .e-form__buttons__wrapper__button-next:hover{background-color:var( --e-global-color-secondary );}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-button[type="submit"]:hover{background-color:var( --e-global-color-secondary );}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-message.elementor-message-success{color:var( --e-global-color-secondary );}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-message.elementor-message-danger{color:#D11818;}.elementor-749 .elementor-element.elementor-element-d3eae75 .elementor-message.elementor-help-inline{color:var( --e-global-color-secondary );}.elementor-749 .elementor-element.elementor-element-d3eae75{--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;}@media(min-width:768px){.elementor-749 .elementor-element.elementor-element-9f6b738{--content-width:1260px;}}@media(max-width:1024px){.elementor-749 .elementor-element.elementor-element-f2360e2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;}.elementor-749 .elementor-element.elementor-element-f2360e2 .ekit-heading__description{max-width:76%;}.elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title{font-size:42px;}}@media(max-width:767px){.elementor-749 .elementor-element.elementor-element-f2360e2 .ekit-heading__description{max-width:100%;}.elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title{font-size:34px;line-height:40px;}.elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title span:last-child, .elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title > span{font-size:32px;line-height:44px;}.elementor-749 .elementor-element.elementor-element-f2360e2 .elementskit-section-title-wraper .elementskit-section-title > span{padding:0px 0px 0px 0px;}.elementor-749 .elementor-element.elementor-element-af4edd9{--e-icon-list-icon-size:15px;}.elementor-749 .elementor-element.elementor-element-af4edd9 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-749 .elementor-element.elementor-element-af4edd9 .elementor-icon-list-item > a{font-size:14px;}}/* Start custom CSS for form, class: .elementor-element-d3eae75 *//* ====================================================
   MODERN LIGHT FORM — ELEMENTOR OPTIMISED
   Professional · Accessible · Fully Responsive
   ==================================================== */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');

/* --------------------------------------------
   DESIGN TOKENS — LIGHT & AIRY
-------------------------------------------- */
:root {
  /* Brand & neutrals */
  --main:         #4b8d50;
  --main-light:   #6aab6f;
  --main-subtle:  rgba(75, 141, 80, 0.08);
  --main-glow:    rgba(75, 141, 80, 0.18);
  --dark:         #2e3532;
  --mid:          #5c6660;
  --muted:        #9bada4;
  --white:        #ffffff;
  --surface:      #f7f9f8;
  --border:       rgba(0, 0, 0, 0.08);
  --border-focus: rgba(75, 141, 80, 0.45);
  --black:        #141716;
  --error:        #d45c4c;
  --error-subtle: rgba(212, 92, 76, 0.12);

  /* Shadows — soft, layered */
  --shadow-sm:    0 2px 8px rgba(0,0,0,0.05);
  --shadow-lg:    0 24px 64px rgba(0,0,0,0.09), 0 6px 18px rgba(0,0,0,0.05);
  --shadow-focus: 0 0 0 4px var(--main-glow), 0 4px 14px rgba(0,0,0,0.06);
  --shadow-btn:   0 4px 14px rgba(75,141,80,0.35);
  --shadow-btn-hv:0 10px 28px rgba(75,141,80,0.45);
  --shadow-error: 0 0 0 4px rgba(212,92,76,0.12);

  /* Border radius */
  --r-sm:  8px;
  --r-md:  14px;
  --r-lg:  20px;
  --r-xl:  28px;

  /* Transitions — smooth, purposeful */
  --ease:     cubic-bezier(0.22, 1, 0.36, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast:   0.18s;
  --t-base:   0.28s;
  --t-slow:   0.42s;
}

/* --------------------------------------------
   GLOBAL RESET (form‑friendly)
-------------------------------------------- */
.elementor-form *,
.elementor-form *::before,
.elementor-form *::after {
  box-sizing: border-box;
}

/* --------------------------------------------
   FORM WRAPPER — FLOATING CARD WITH ACCENT
-------------------------------------------- */
.elementor-form-fields-wrapper {
  position: relative;
  background: var(--white);
  padding: 52px 48px;
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  font-family: 'DM Sans', system-ui, sans-serif;
  transition: box-shadow var(--t-base) var(--ease);
}

/* Top accent bar — brand signature */
.elementor-form-fields-wrapper::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--main-light), var(--main), #3d7542);
  border-radius: var(--r-xl) var(--r-xl) 0 0;
}

/* Subtle radial atmosphere */
.elementor-form-fields-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(75,141,80,0.04) 0%, transparent 65%),
    radial-gradient(ellipse 60% 60% at 0% 100%, rgba(75,141,80,0.03) 0%, transparent 60%);
  pointer-events: none;
  z-index: 0;
}

.elementor-form-fields-wrapper > * {
  position: relative;
  z-index: 1;
}

.elementor-form-fields-wrapper:focus-within {
  box-shadow: var(--shadow-lg), 0 0 0 1px rgba(75,141,80,0.15);
}

/* --------------------------------------------
   FIELD GROUPS — STAGGERED ENTRANCE
-------------------------------------------- */
.elementor-field-group {
  margin-bottom: 24px;
  font-family: 'DM Sans', system-ui, sans-serif;
  animation: fieldIn var(--t-slow) var(--ease) both;
}

.elementor-field-group:nth-child(1)  { animation-delay: 0.04s; }
.elementor-field-group:nth-child(2)  { animation-delay: 0.08s; }
.elementor-field-group:nth-child(3)  { animation-delay: 0.12s; }
.elementor-field-group:nth-child(4)  { animation-delay: 0.16s; }
.elementor-field-group:nth-child(5)  { animation-delay: 0.20s; }
.elementor-field-group:nth-child(6)  { animation-delay: 0.24s; }
.elementor-field-group:nth-child(7)  { animation-delay: 0.28s; }
.elementor-field-group:nth-child(8)  { animation-delay: 0.32s; }
.elementor-field-group:nth-child(9)  { animation-delay: 0.36s; }
.elementor-field-group:nth-child(10) { animation-delay: 0.40s; }
.elementor-field-group:nth-child(11) { animation-delay: 0.44s; }
.elementor-field-group:nth-child(12) { animation-delay: 0.48s; }

@keyframes fieldIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Half‑width columns (Elementor default) */
.elementor-col-50 {
  width: calc(50% - 8px);
  float: left;
}
.elementor-col-50:nth-of-type(odd) { margin-right: 16px; }
.elementor-col-80,
.elementor-col-100 {
  width: 100%;
  clear: both;
}

/* --------------------------------------------
   LABELS — CRISP, UPPERCASE, LIVELY
-------------------------------------------- */
.elementor-field-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: var(--mid);
  margin-bottom: 9px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1.5;
  transition: color var(--t-fast) var(--ease);
}

/* Required asterisk */
.elementor-mark-required .elementor-field-label::after {
  content: ' *';
  color: var(--main);
  font-weight: 700;
}

/* Field active → label glows green */
.elementor-field-group:focus-within .elementor-field-label {
  color: var(--main);
}

/* --------------------------------------------
   TEXT INPUTS, DATE, TIME, TEXTAREA
   — Tactile, accessible, 16px min (no zoom)
-------------------------------------------- */
input.elementor-field-textual,
input.elementor-date-field,
input.elementor-time-field,
textarea.elementor-field-textual {
  width: 100%;
  display: block;
  background: var(--surface) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  padding: 14px 18px !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: var(--black) !important;
  line-height: 1.5;
  transition:
    border-color var(--t-fast) var(--ease),
    background   var(--t-fast) var(--ease),
    box-shadow   var(--t-base) var(--ease-out),
    transform    var(--t-base) var(--ease-out);
  -webkit-appearance: none;
  appearance: none;
}

/* Consistent hover */
input.elementor-field-textual:hover,
input.elementor-date-field:hover,
input.elementor-time-field:hover,
textarea.elementor-field-textual:hover {
  background: var(--white) !important;
  border-color: var(--border-focus) !important;
  box-shadow: var(--shadow-sm);
}

/* Focus — green glow + subtle lift */
input.elementor-field-textual:focus,
input.elementor-date-field:focus,
input.elementor-time-field:focus,
textarea.elementor-field-textual:focus {
  background: var(--white) !important;
  border-color: var(--main) !important;
  box-shadow: var(--shadow-focus) !important;
  transform: translateY(-1px);
  outline: none !important;
}

/* Keyboard‑only focus outline (no mouse halo) */
input.elementor-field-textual:focus-visible,
input.elementor-date-field:focus-visible,
input.elementor-time-field:focus-visible,
textarea.elementor-field-textual:focus-visible,
select.elementor-field-textual:focus-visible {
  outline: 2px solid var(--main);
  outline-offset: 2px;
}

::placeholder {
  color: var(--muted);
  opacity: 1;
}

/* Textarea specific */
textarea.elementor-field-textual {
  resize: vertical;
  min-height: 120px;
  line-height: 1.65;
}

/* --------------------------------------------
   SELECT DROPDOWN — CUSTOM CHEVRON
-------------------------------------------- */
.elementor-select-wrapper {
  position: relative;
}

/* Hide Elementor’s default caret */
.select-caret-down-wrapper {
  display: none !important;
}

select.elementor-field-textual {
  width: 100%;
  display: block;
  background: var(--surface) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--r-md) !important;
  padding: 14px 44px 14px 18px !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: var(--black) !important;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235c6660' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  transition:
    border-color var(--t-fast) var(--ease),
    background-color var(--t-fast) var(--ease),
    box-shadow var(--t-base) var(--ease-out),
    transform var(--t-base) var(--ease-out);
}

select.elementor-field-textual:hover {
  background-color: var(--white) !important;
  border-color: var(--border-focus) !important;
  box-shadow: var(--shadow-sm);
}

select.elementor-field-textual:focus {
  background-color: var(--white) !important;
  border-color: var(--main) !important;
  box-shadow: var(--shadow-focus) !important;
  transform: translateY(-1px);
  outline: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%234b8d50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
}

/* Firefox focus ring fix */
select.elementor-field-textual:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--black);
}

/* --------------------------------------------
   RADIO & CHECKBOX — PILL STYLE
   Interactive, checked state, touch optimised
-------------------------------------------- */
.elementor-field-subgroup {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.elementor-field-option {
  display: inline-flex;
  align-items: center;
  background: var(--surface);
  border: 1.5px solid var(--border);
  border-radius: 30px;  /* pill */
  padding: 10px 18px;
  cursor: pointer;
  transition:
    background var(--t-fast) var(--ease),
    border-color var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease),
    transform var(--t-fast) var(--ease);
  margin: 0;
}

.elementor-field-option:hover {
  background: var(--main-subtle);
  border-color: var(--border-focus);
  transform: translateY(-1px);
  box-shadow: var(--shadow-sm);
}

.elementor-field-option input[type="radio"],
.elementor-field-option input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--main);
  cursor: pointer;
  flex-shrink: 0;
  margin: 0;
}

.elementor-field-option label {
  font-size: 14px;
  font-weight: 500;
  color: var(--mid);
  cursor: pointer;
  margin: 0;
  padding-left: 8px;
  line-height: 1.2;
  transition: color var(--t-fast) var(--ease);
}

/* Checked state */
.elementor-field-option:has(input:checked) {
  background: var(--main-subtle);
  border-color: var(--main);
  box-shadow: inset 0 0 0 1px var(--main);
}

.elementor-field-option:has(input:checked) label {
  color: var(--main);
  font-weight: 600;
}

/* --------------------------------------------
   ACCEPTANCE / TERMS — SIMPLE LINK STYLE
-------------------------------------------- */
.elementor-field-type-acceptance .elementor-field-subgroup {
  align-items: flex-start;
  gap: 0;
}

.elementor-field-type-acceptance .elementor-field-option {
  background: none;
  border: none;
  padding: 0;
  box-shadow: none;
  align-items: flex-start;
}

.elementor-field-type-acceptance .elementor-field-option:hover {
  background: none;
  border: none;
  transform: none;
  box-shadow: none;
}

.elementor-acceptance-field {
  width: 18px !important;
  height: 18px !important;
  accent-color: var(--main);
  margin-top: 2px !important;
}

.elementor-field-type-acceptance .elementor-field-option label {
  font-size: 14px;
  font-weight: 400;
  color: var(--mid);
  line-height: 1.6;
  padding-left: 10px;
}

.elementor-field-type-acceptance .elementor-field-option label a {
  color: var(--main);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(75,141,80,0.3);
  transition: border-color var(--t-fast) var(--ease);
}

.elementor-field-type-acceptance .elementor-field-option label a:hover {
  border-color: var(--main);
}

/* --------------------------------------------
   FILE UPLOAD — DROPZONE WITH ICON
-------------------------------------------- */
input.elementor-upload-field {
  width: 100%;
  display: block;
  background: var(--surface) !important;
  border: 2px dashed rgba(75,141,80,0.35) !important;
  border-radius: var(--r-md) !important;
  padding: 22px 18px !important;
  font-family: 'DM Sans', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--mid);
  cursor: pointer;
  transition:
    background var(--t-fast) var(--ease),
    border-color var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235c6660' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='17 8 12 3 7 8'%3E%3C/polyline%3E%3Cline x1='12' y1='3' x2='12' y2='15'%3E%3C/line%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center 18px;
  background-size: 24px;
  text-align: center;
  padding-top: 52px !important; /* make room for icon */
}

input.elementor-upload-field:hover {
  background: var(--main-subtle) !important;
  border-color: var(--main) !important;
  box-shadow: var(--shadow-sm);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234b8d50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='17 8 12 3 7 8'%3E%3C/polyline%3E%3Cline x1='12' y1='3' x2='12' y2='15'%3E%3C/line%3E%3C/svg%3E");
}

input.elementor-upload-field:focus {
  outline: none !important;
  border-color: var(--main) !important;
  box-shadow: var(--shadow-focus) !important;
}


/* --------------------------------------------
   ERROR STATES — FRIENDLY VALIDATION
-------------------------------------------- */
.elementor-error .elementor-field-textual,
.elementor-error .elementor-field-textual:focus,
.elementor-error select.elementor-field-textual,
.elementor-error input.elementor-upload-field {
  border-color: var(--error) !important;
}

.elementor-error .elementor-field-textual:focus {
  box-shadow: var(--shadow-error) !important;
}

.elementor-error .elementor-field-label {
  color: var(--error) !important;
}

.elementor-error .elementor-field-option {
  border-color: var(--error-subtle);
}

/* --------------------------------------------
   DISABLED FIELDS — GRACEFUL
-------------------------------------------- */
.elementor-field-textual:disabled,
select.elementor-field-textual:disabled,
.elementor-button.elementor-size-sm:disabled {
  opacity: 0.55;
  pointer-events: none;
  filter: grayscale(0.3);
}

/* --------------------------------------------
   RESPONSIVE — TABLET (≤ 1024px)
-------------------------------------------- */
@media (max-width: 1024px) {
  .elementor-form-fields-wrapper {
    padding: 38px 34px;
  }
}

/* --------------------------------------------
   RESPONSIVE — MOBILE (≤ 767px)
   Stack, full width, no hover lift, 16px inputs
-------------------------------------------- */
@media (max-width: 767px) {
  .elementor-form-fields-wrapper {
    padding: 28px 22px;
    border-radius: var(--r-lg);
  }

  /* All columns full width */
  .elementor-col-50,
  .elementor-col-80 {
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
    clear: both;
  }

  /* Remove translateY on mobile (feels smoother) */
  input.elementor-field-textual:focus,
  input.elementor-date-field:focus,
  input.elementor-time-field:focus,
  select.elementor-field-textual:focus,
  textarea.elementor-field-textual:focus {
    transform: none;
  }

  /* Prevent zoom on iOS */
  input.elementor-field-textual,
  input.elementor-date-field,
  input.elementor-time-field,
  select.elementor-field-textual,
  textarea.elementor-field-textual {
    font-size: 16px !important;
  }

  /* Better touch targets */
  .elementor-field-option {
    padding: 12px 18px;
  }

  .elementor-field-option label {
    font-size: 15px;
  }

  /* Time slots: 2 columns */
  .elementor-field-group-field_22459bf .elementor-field-option {
    flex: 1 1 calc(50% - 5px);
  }

  /* Radio full width */
  .elementor-field-type-radio .elementor-field-option {
    flex: 1 1 100%;
  }

  /* Button full width */
  .elementor-button.elementor-size-sm {
    width: 100%;
    min-width: 100%;
    padding: 16px 24px !important;
  }
}

/* --------------------------------------------
   RESPONSIVE — SMALL MOBILE (≤ 480px)
-------------------------------------------- */
@media (max-width: 480px) {
  .elementor-form-fields-wrapper {
    padding: 22px 18px;
    border-radius: var(--r-md);
  }

  .elementor-field-group {
    margin-bottom: 20px;
  }

  /* Time slots: single column */
  .elementor-field-group-field_22459bf .elementor-field-option {
    flex: 1 1 100%;
  }

  .elementor-field-label {
    font-size: 11px;
  }

  .elementor-upload-field {
    padding-top: 48px !important;
    background-position: center 16px;
  }
}

/* --------------------------------------------
   ACCESSIBILITY — REDUCED MOTION
   Respect user preferences
-------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .elementor-form-fields-wrapper,
  .elementor-field-group,
  .elementor-field-textual,
  .elementor-field-option,
  .elementor-button,
  .elementor-button::before {
    animation: none !important;
    transition: none !important;
  }
}










/* ====================================================
   ELEMENTOR MESSAGE VISIBILITY FIX
   (Added without modifying existing styles)
   ==================================================== */

/* Ensure Elementor success/error messages are visible */
.elementor-form .elementor-message {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 999;
  margin-top: 20px;
}

/* Prevent decorative layers from covering messages */
.elementor-form-fields-wrapper .elementor-message {
  z-index: 9999;
}

/* Success message style (optional but recommended) */
.elementor-form .elementor-message-success {
  background: rgba(75,141,80,0.08);
  color: var(--main);
  padding: 14px 18px;
  border-radius: var(--r-md);
  border: 1px solid rgba(75,141,80,0.2);
}

/* Error message style */
.elementor-form .elementor-message-danger,
.elementor-form .elementor-help-inline {
  background: var(--error-subtle);
  color: var(--error);
  padding: 10px 14px;
  border-radius: var(--r-sm);
  border: 1px solid rgba(212,92,76,0.25);
}/* End custom CSS */