.elementor-111 .elementor-element.elementor-element-21ca971{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-111 .elementor-element.elementor-element-3305461f:not(.elementor-motion-effects-element-type-background), .elementor-111 .elementor-element.elementor-element-3305461f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F5F3EF;}.elementor-111 .elementor-element.elementor-element-3305461f > .elementor-container{max-width:1280px;}.elementor-111 .elementor-element.elementor-element-3305461f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:128px 40px 128px 40px;}.elementor-111 .elementor-element.elementor-element-3305461f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-111 .elementor-element.elementor-element-205ecc50 > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-111 .elementor-element.elementor-element-3063c62c > .elementor-element-populated{padding:0px 0px 0px 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-111 .elementor-element.elementor-element-199e27eb .elementor-field-group{padding-right:calc( 0px/2 );padding-left:calc( 0px/2 );margin-bottom:0px;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-form-fields-wrapper{margin-left:calc( -0px/2 );margin-right:calc( -0px/2 );margin-bottom:-0px;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group.recaptcha_v3-bottomleft, .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-type-html{padding-bottom:0px;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group .elementor-field{color:#1A1A17;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#00000000;border-color:#00000000;border-width:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group .elementor-select-wrapper select{background-color:#00000000;border-color:#00000000;border-width:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group .elementor-select-wrapper::before{color:#00000000;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button{border-style:none;border-radius:0px 0px 0px 0px;}.elementor-111 .elementor-element.elementor-element-199e27eb .e-form__buttons__wrapper__button-next{background-color:#1A1A17;color:#FAF9F6;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button[type="submit"]{background-color:#1A1A17;color:#FAF9F6;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button[type="submit"] svg *{fill:#FAF9F6;}.elementor-111 .elementor-element.elementor-element-199e27eb .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-111 .elementor-element.elementor-element-199e27eb .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-111 .elementor-element.elementor-element-199e27eb .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-111 .elementor-element.elementor-element-199e27eb{--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-111 .elementor-element.elementor-element-1aac3eff:not(.elementor-motion-effects-element-type-background), .elementor-111 .elementor-element.elementor-element-1aac3eff > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#faf9f6;}.elementor-111 .elementor-element.elementor-element-1aac3eff{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:0px 0px 0px 0px;}.elementor-111 .elementor-element.elementor-element-1aac3eff > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-111 .elementor-element.elementor-element-5e2b537b > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){--kit-widget-spacing:0px;}.elementor-111 .elementor-element.elementor-element-5e2b537b > .elementor-element-populated{padding:0px 0px 0px 0px;}@media(min-width:768px){.elementor-111 .elementor-element.elementor-element-205ecc50{width:40%;}.elementor-111 .elementor-element.elementor-element-3063c62c{width:60%;}}@media(max-width:767px){.elementor-111 .elementor-element.elementor-element-3305461f{padding:96px 22px 96px 22px;}}/* Start custom CSS for html, class: .elementor-element-2e98d6cb */.elementor-111 .elementor-element.elementor-element-2e98d6cb {
  width: 100% !important;
  font-family: "Inter", Arial, sans-serif !important;
}

.elementor-111 .elementor-element.elementor-element-2e98d6cb .nvs-source-copy .eyebrow {
  display: block !important;
  margin: 0 0 24px !important;
  color: #8B7E6B !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: .4em !important;
  text-transform: uppercase !important;
}

.elementor-111 .elementor-element.elementor-element-2e98d6cb .nvs-source-copy h2 {
  margin: 0 0 32px !important;
  color: #1A1A17 !important;
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 48px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.elementor-111 .elementor-element.elementor-element-2e98d6cb .nvs-source-copy h2 em {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: inherit !important;
  font-style: italic !important;
  font-weight: 300 !important;
  line-height: inherit !important;
}

.elementor-111 .elementor-element.elementor-element-2e98d6cb .nvs-source-copy .copy {
  margin: 0 0 40px !important;
  color: #555555 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.625 !important;
}

.elementor-111 .elementor-element.elementor-element-2e98d6cb .nvs-source-contact {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}

.elementor-111 .elementor-element.elementor-element-2e98d6cb .nvs-source-contact p {
  margin: 0 !important;
  color: #666260 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
}

@media (max-width: 767px) {
  .elementor-111 .elementor-element.elementor-element-2e98d6cb .nvs-source-copy h2 {
    font-size: 36px !important;
  }
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-199e27eb */.elementor-111 .elementor-element.elementor-element-199e27eb,
.elementor-111 .elementor-element.elementor-element-199e27eb * {
  box-sizing: border-box !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb,
.elementor-111 .elementor-element.elementor-element-199e27eb > .elementor-widget-container,
.elementor-111 .elementor-element.elementor-element-199e27eb form.elementor-form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-form-fields-wrapper {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 32px !important;
  row-gap: 32px !important;
  width: 100% !important;
  margin: 0 !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
}

/* First four fields = Lovable nested md:grid-cols-2 gap-8 */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-first { grid-column: 1 !important; }
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-last { grid-column: 2 !important; }
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-email { grid-column: 1 !important; }
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-phone { grid-column: 2 !important; }

/* Full-width source groups */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus,
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-notes,
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-type-submit {
  grid-column: 1 / 3 !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-date { grid-column: 1 !important; }
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-time { grid-column: 2 !important; }

/* Lovable label:
   text-[10px] tracking-[0.3em] uppercase text-[#8B7E6B] block mb-4 */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-label {
  display: block !important;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #8B7E6B !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
}

/* Lovable input:
   w-full bg-transparent border-b border-[#1A1A17]
   pb-3 text-sm font-light focus:outline-none focus:border-[#8B7E6B] */
.elementor-111 .elementor-element.elementor-element-199e27eb input.elementor-field,
.elementor-111 .elementor-element.elementor-element-199e27eb select.elementor-field,
.elementor-111 .elementor-element.elementor-element-199e27eb textarea.elementor-field {
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #1A1A17 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1A1A17 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  outline: none !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb input.elementor-field:focus,
.elementor-111 .elementor-element.elementor-element-199e27eb select.elementor-field:focus,
.elementor-111 .elementor-element.elementor-element-199e27eb textarea.elementor-field:focus {
  border-bottom-color: #8B7E6B !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Native date exactly like source */
.elementor-111 .elementor-element.elementor-element-199e27eb input[type="date"].elementor-field {
  color-scheme: light !important;
}

/* Native select arrow exactly like source */
.elementor-111 .elementor-element.elementor-element-199e27eb select.elementor-field {
  -webkit-appearance: auto !important;
  appearance: auto !important;
  padding-right: 0 !important;
}

/* Lovable textarea rows=4 resize-none */
.elementor-111 .elementor-element.elementor-element-199e27eb textarea.elementor-field {
  min-height: 96px !important;
  resize: none !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb textarea.elementor-field::placeholder {
  color: #9B9790 !important;
  opacity: 1 !important;
}

/* Area of Focus = flex flex-wrap gap-2 */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus > .elementor-field-label {
  margin-bottom: 16px !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus .elementor-field-subgroup {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  width: 100% !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus .elementor-field-option {
  position: relative !important;
  display: inline-flex !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* sr-only */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus input[type="radio"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus .elementor-field-option label {
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 8px 16px !important;
  border: 1px solid #D4C6B0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #1A1A17 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background-color .15s ease, color .15s ease !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus .elementor-field-option label:hover,
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus input[type="radio"]:checked + label {
  background: #1A1A17 !important;
  color: #FAF9F6 !important;
}

/* Lovable button: md:w-auto px-14 py-5 */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-type-submit {
  justify-content: flex-start !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button,
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 20px 56px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #1A1A17 !important;
  color: #FAF9F6 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  letter-spacing: .3em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transition: background-color .15s ease !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button:hover,
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button:focus {
  background: #4A4038 !important;
  color: #FAF9F6 !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-required {
  display: none !important;
}

/* Source mobile:
   first grid becomes one column; button becomes full-width below md. */
@media (max-width: 767px) {
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-form-fields-wrapper {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-first,
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-last,
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-email,
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-phone,
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-focus,
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-date,
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-time,
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-notes,
  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-type-submit {
    grid-column: 1 !important;
  }

  .elementor-111 .elementor-element.elementor-element-199e27eb .elementor-button {
    width: 100% !important;
  }
}


/* =========================================================
   PREFERRED DATE — deterministic Lovable-style dd/mm/yyyy
   Keeps the REAL HTML5 date input and calendar picker.
   ========================================================= */

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-date {
  position: relative !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-date input[type="date"].elementor-field {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  background: transparent !important;
  color-scheme: light !important;
}

/* When empty, hide the browser's date text only; keep calendar control. */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-date.nvs-date-empty
input[type="date"].elementor-field::-webkit-datetime-edit {
  color: transparent !important;
}

/* Visual dd/mm/yyyy text, matched to the Lovable input. */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-date .nvs-date-placeholder {
  position: absolute !important;
  z-index: 3 !important;
  left: 0 !important;
  bottom: 12px !important;
  display: none !important;
  color: #1A1A17 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;
  pointer-events: none !important;
}

.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-date.nvs-date-empty .nvs-date-placeholder {
  display: block !important;
}

/* Keep native calendar icon at the far right like Lovable/Chrome. */
.elementor-111 .elementor-element.elementor-element-199e27eb .elementor-field-group-date input[type="date"]::-webkit-calendar-picker-indicator {
  position: relative !important;
  z-index: 4 !important;
  width: 13px !important;
  height: 13px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  cursor: pointer !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-3305461f */.elementor-111 .elementor-element.elementor-element-3305461f,
.elementor-111 .elementor-element.elementor-element-3305461f * {
  box-sizing: border-box !important;
}

.elementor-111 .elementor-element.elementor-element-3305461f {
  width: 100% !important;
  background: #F5F3EF !important;
  color: #1A1A17 !important;
  font-family: "Inter", Arial, sans-serif !important;
}

/*
  ALIGNMENT FIX:
  01-before-form.html uses a 1280px .nvs-consult-container.
  This section now uses the SAME 1280px outer content edge.

  The actual Lovable booking grid stays 1024px wide, but is anchored
  to the LEFT of that 1280px container rather than centred separately.
  This makes "Reserve / Request an appointment" line up with the HTML above.
*/
.elementor-111 .elementor-element.elementor-element-3305461f > .elementor-container {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;

  display: grid !important;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
  gap: 80px !important;
  align-items: start !important;

  /* 1280 - 256 = 1024px Lovable grid, left anchored */
  padding-right: 256px !important;
}

.elementor-111 .elementor-element.elementor-element-3305461f > .elementor-container > .elementor-column {
  width: 100% !important;
  max-width: none !important;
}

/* Do not keep the 256px reserve once the viewport gets tighter. */
@media (max-width: 1359px) {
  .elementor-111 .elementor-element.elementor-element-3305461f > .elementor-container {
    max-width: 1280px !important;
    padding-right: 0 !important;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) !important;
    gap: 64px !important;
  }
}

@media (max-width: 1023px) {
  .elementor-111 .elementor-element.elementor-element-3305461f > .elementor-container {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 48px !important;
  }
}

@media (max-width: 767px) {
  .elementor-111 .elementor-element.elementor-element-3305461f {
    padding: 96px 22px !important;
  }
}/* End custom CSS */