.elementor-41641 .elementor-element.elementor-element-40e02cf{--display:flex;--margin-top:-50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41641 .elementor-element.elementor-element-85d9ed4{--display:flex;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-41641 .elementor-element.elementor-element-85d9ed4:not(.elementor-motion-effects-element-type-background), .elementor-41641 .elementor-element.elementor-element-85d9ed4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F0B0A;}.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-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-type-html{padding-bottom:0px;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button[type="submit"]{color:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-41641 .elementor-element.elementor-element-4bbe649{--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;}/* Start custom CSS for form, class: .elementor-element-4bbe649 *//* ============================================================
   ELEMENTOR FORM WIDGET — CUSTOM CSS
   Paste into: the Form widget → Advanced → Custom CSS
   (`.elementor-41641 .elementor-element.elementor-element-4bbe649` = that widget only, nothing leaks out)

   Values are taken from the site's own modal forms
   (booking / retreat / order), so the contact form looks
   like it belongs to the same site.

   IMPORTANT: set the parent Container/Section background to
   #0c0a09 — this CSS styles the form, not the page behind it.
   ============================================================ */

.elementor-41641 .elementor-element.elementor-element-4bbe649{
  --stone-200:#e7e5e4; --stone-300:#d6d3d1; --stone-400:#a8a29e; --stone-500:#78716c;
  --stone-700:#44403c; --stone-800:#292524; --stone-900:#1c1917; --stone-950:#0c0a09;
  --rose-300:#fda4af; --rose-400:#fb7185; --rose-500:#f43f5e; --rose-600:#e11d48;
  --rose-700:#be123c;
  --pink-600:#db2777;
  --emerald-400:#34d399; --emerald-500:#10b981;
  --serif:'Playfair Display', Georgia, serif;
  --sans:'Inter', ui-sans-serif, system-ui, -apple-system, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, monospace;
}

/* ---------- form shell ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-form{
  font-family:var(--sans) !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-form-fields-wrapper{
  row-gap:0 !important;
}

/* ---------- field group ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group{
  margin-bottom:14px !important;
  padding:0 !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group.elementor-field-type-submit{
  margin-bottom:0 !important;
  margin-top:8px !important;
}

/* ---------- label ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-label{
  display:block !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:600 !important;
  color:var(--stone-300) !important;
  margin-bottom:5px !important;
  padding:0 !important;
  letter-spacing:0 !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-required .elementor-field-label:after{
  content:" *";
  color:var(--rose-500);
  font-weight:700;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-mark-required .elementor-field-label:after{
  color:var(--rose-500) !important;
}

/* ---------- inputs / textarea / select ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-textual,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input[type="text"],
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input[type="email"],
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input[type="tel"],
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input[type="url"],
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input[type="number"],
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input[type="date"],
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input[type="time"],
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group textarea,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group select{
  width:100% !important;
  padding:10px 14px !important;
  border-radius:12px !important;
  background:var(--stone-800) !important;
  border:1px solid var(--stone-700) !important;
  color:#fff !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  line-height:1.6 !important;
  outline:none !important;
  box-shadow:none !important;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group textarea{
  min-height:130px !important;
  resize:vertical !important;
}

/* placeholder */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input::placeholder,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group textarea::placeholder{
  color:var(--stone-500) !important;
  opacity:1 !important;
}

/* focus ring — same as the site's modal fields */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-textual:focus,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input:focus,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group textarea:focus,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group select:focus{
  border-color:var(--rose-500) !important;
  box-shadow:0 0 0 2px var(--rose-500) !important;
}

/* hover */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input:hover,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group textarea:hover,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group select:hover{
  border-color:var(--stone-500) !important;
}

/* ---------- Chrome autofill (otherwise fields turn white) ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input:-webkit-autofill,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input:-webkit-autofill:hover,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group input:-webkit-autofill:focus,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group textarea:-webkit-autofill{
  -webkit-text-fill-color:#fff !important;
  -webkit-box-shadow:0 0 0 1000px #292524 inset !important;
  box-shadow:0 0 0 1000px #292524 inset !important;
  caret-color:#fff !important;
  transition:background-color 9999s ease-out 0s !important;
}

/* ---------- select: custom arrow (default one is invisible on dark) ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group select{
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  appearance:none !important;
  padding-right:38px !important;
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8a29e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 13px center !important;
  background-size:16px 16px !important;
  cursor:pointer !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group select option{
  background:var(--stone-900) !important;
  color:#fff !important;
}

/* ---------- checkbox / radio / acceptance ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-subgroup .elementor-field-option{
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  margin-bottom:8px !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-subgroup label,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-type-acceptance label{
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:400 !important;
  color:var(--stone-300) !important;
  line-height:1.6 !important;
  cursor:pointer !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="checkbox"],
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="radio"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  width:17px !important; height:17px !important;
  flex-shrink:0 !important;
  margin:0 !important;
  background:var(--stone-800) !important;
  border:1px solid var(--stone-700) !important;
  border-radius:5px !important;
  cursor:pointer !important;
  transition:.22s !important;
  position:relative !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="radio"]{ border-radius:999px !important; }
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="checkbox"]:hover,
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="radio"]:hover{ border-color:var(--rose-500) !important; }
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="checkbox"]:checked,
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="radio"]:checked{
  background:var(--rose-600) !important;
  border-color:var(--rose-600) !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="checkbox"]:checked::after{
  content:"";
  position:absolute; left:5px; top:1.5px;
  width:5px; height:9px;
  border:solid #fff; border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 input[type="radio"]:checked::after{
  content:"";
  position:absolute; inset:4px;
  border-radius:999px; background:#fff;
}

/* ---------- file upload ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-type-upload input[type="file"]{
  font-family:var(--sans) !important;
  font-size:12px !important;
  color:var(--stone-400) !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-type-upload input[type="file"]::file-.elementor-41641 .elementor-element.elementor-element-4bbe649-button{
  padding:8px 16px !important;
  margin-right:12px !important;
  border:1px solid var(--stone-700) !important;
  border-radius:999px !important;
  background:var(--stone-800) !important;
  color:var(--stone-200) !important;
  font-family:var(--sans) !important;
  font-size:11px !important;
  font-weight:700 !important;
  cursor:pointer !important;
  transition:.22s !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-type-upload input[type="file"]::file-.elementor-41641 .elementor-element.elementor-element-4bbe649-button:hover{
  border-color:var(--rose-500) !important;
  color:#fff !important;
}

/* ---------- submit button ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button[type="submit"]{
  position:relative !important;
  overflow:hidden !important;
  width:100% !important;
  padding:14px 28px !important;
  border:0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--rose-600),var(--pink-600)) !important;
  color:#fff !important;
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:700 !important;
  letter-spacing:.02em !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  box-shadow:0 12px 30px -10px rgba(225,29,72,.6) !important;
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease !important;
  cursor:pointer !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button::after{
  content:"";
  position:absolute; top:0; left:-120%; width:45%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  transform:skewX(-20deg);
  animation:selShimmer 3.8s ease-in-out infinite;
}
@keyframes selShimmer{0%{left:-120%}55%,100%{left:130%}}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button:hover{
  transform:translateY(-2px) !important;
  background:linear-gradient(90deg,var(--rose-500),#ec4899) !important;
  box-shadow:0 18px 36px -12px rgba(225,29,72,.85) !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button:active{ transform:scale(.98) !important; }
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button .elementor-button-content-wrapper{
  gap:8px !important;
}

/* ---------- success / error messages ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-message{
  font-family:var(--sans) !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.6 !important;
  padding:14px 16px !important;
  border-radius:16px !important;
  margin-top:14px !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-message.elementor-message-success{
  background:rgba(16,185,129,.15) !important;
  border:1px solid rgba(16,185,129,.4) !important;
  color:#a7f3d0 !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-message.elementor-message-danger,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-message.elementor-error{
  background:rgba(244,63,94,.13) !important;
  border:1px solid rgba(244,63,94,.4) !important;
  color:var(--rose-300) !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-message .elementor-help-inline,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group .elementor-error .elementor-help-inline{
  color:var(--rose-400) !important;
  font-size:11px !important;
  font-weight:500 !important;
  margin-top:5px !important;
  display:block !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group.elementor-error input,
.elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group.elementor-error textarea{
  border-color:var(--rose-500) !important;
}

/* ---------- multi-step indicators (if used) ---------- */
.elementor-41641 .elementor-element.elementor-element-4bbe649 .e-form__indicators__indicator{
  font-family:var(--mono) !important;
  font-size:10.5px !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  color:var(--stone-500) !important;
}
.elementor-41641 .elementor-element.elementor-element-4bbe649 .e-form__indicators__indicator--state-active{ color:var(--rose-400) !important; }
.elementor-41641 .elementor-element.elementor-element-4bbe649 .e-form__indicators__indicator__progress__meter{
  background:linear-gradient(90deg,var(--rose-600),var(--pink-600)) !important;
}

/* ---------- responsive ---------- */
@media(max-width:767px){
  .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group{ margin-bottom:12px !important; }
  .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-group textarea{ min-height:110px !important; }
}

@media(prefers-reduced-motion:reduce){
  .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button,
  .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-field-textual{ transition:none !important; }
  .elementor-41641 .elementor-element.elementor-element-4bbe649 .elementor-button::after{ animation:none !important; display:none !important; }
}/* End custom CSS */