.elementor-948 .elementor-element.elementor-element-8467355{--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;}.elementor-948 .elementor-element.elementor-element-c398fac{--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;}.elementor-948 .elementor-element.elementor-element-a661b8b{--spacer-size:50px;}.elementor-948 .elementor-element.elementor-element-78cb1cb{--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;}.elementor-948 .elementor-element.elementor-element-c800907{--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;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-948 .elementor-element.elementor-element-c800907:not(.elementor-motion-effects-element-type-background), .elementor-948 .elementor-element.elementor-element-c800907 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF9F6;}.elementor-widget-fluent-form-widget .fluentform-widget-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );text-decoration:var( --e-global-typography-accent-text-decoration );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-fluent-form-widget .ff-el-progress-status{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-fluent-form-widget .ff-el-progress-bar span{color:var( --e-global-color-primary );}.elementor-widget-fluent-form-widget .step-nav button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );font-style:var( --e-global-typography-primary-font-style );text-decoration:var( --e-global-typography-primary-text-decoration );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform-widget-wrapper .ff-el-group .ff-btn-submit{background-color:var( --e-global-color-9d21ea0 );color:#ffffff !important;}.elementor-948 .elementor-element.elementor-element-87d0db6{--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:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-948 .elementor-element.elementor-element-034f2b9{--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;}.elementor-948 .elementor-element.elementor-element-034f2b9.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-948 .elementor-element.elementor-element-eab6e51{--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;}.elementor-948 .elementor-element.elementor-element-b766490{--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;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-948 .elementor-element.elementor-element-8467355{--content-width:1500px;}.elementor-948 .elementor-element.elementor-element-78cb1cb{--content-width:1500px;}.elementor-948 .elementor-element.elementor-element-c800907{--content-width:1497px;}.elementor-948 .elementor-element.elementor-element-034f2b9{--width:59.743%;}.elementor-948 .elementor-element.elementor-element-eab6e51{--width:50%;}}@media(max-width:1024px){.elementor-widget-fluent-form-widget .fluentform-widget-description{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-fluent-form-widget .ff-el-progress-status{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-fluent-form-widget .step-nav button{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}}@media(max-width:767px){.elementor-widget-fluent-form-widget .fluentform-widget-description{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-widget-fluent-form-widget .ff-el-progress-status{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}.elementor-widget-fluent-form-widget .step-nav button{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );word-spacing:var( --e-global-typography-primary-word-spacing );}}/* Start custom CSS for fluent-form-widget, class: .elementor-element-1485a59 *//* ============================================================
   CONTACT FORM WIDGET — CUSTOM CSS
   Paste into: the form widget > Advanced > Custom CSS.
   ".elementor-948 .elementor-element.elementor-element-1485a59" scopes everything to this one widget.

   The widget's HTML content should contain, in this order:
     <div class="mct-formhead">
       <p class="eyebrow">Send a message</p>
       <h2>Request a booking</h2>
       <p class="sub">Tell us what you're planning ...</p>
     </div>
     [fluentform id="7"]      <-- your real form ID

   This styles the cream section, the heading, AND the Fluent Form,
   so the separate ff-mct class / file is no longer needed.

   IMPORTANT — for the cream to span full width without the widget
   shifting sideways, set the PARENT Elementor Container like this:
     Layout  > Content Width      = Full Width
     Layout  > Width              = 100%
     Advanced > Padding           = 0 left / 0 right
   The container (not the widget) handles full width; this CSS just
   paints the cream and lays out the content inside it.
   ============================================================ */

.elementor-948 .elementor-element.elementor-element-1485a59 {
  --ink: #2E2E2C;
  --grey: #6E6F72;
  --muted: #8A8A86;
  --border: #E4E2DB;
  --white: #FFFFFF;
  --cream: #FAF9F6;
  --green-dark: #5F9A2C;
  --blue: #2E4C9E;

  display: block;
  width: 100%;
  padding: 30px 0;
  background: var(--cream);
  font-family: Roboto, Arial, Helvetica, sans-serif;
  color: var(--ink);
}

/* ---------- heading ---------- */
.elementor-948 .elementor-element.elementor-element-1485a59 .mct-formhead {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto 18px;
}
.elementor-948 .elementor-element.elementor-element-1485a59 .mct-formhead .eyebrow {
  margin: 0 0 6px;
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.elementor-948 .elementor-element.elementor-element-1485a59 .mct-formhead h2 {
  margin: 0 0 4px;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.2;
}
.elementor-948 .elementor-element.elementor-element-1485a59 .mct-formhead .sub {
  margin: 0;
  max-width: 560px;
  color: var(--grey);
  font-size: 14px;
  line-height: 1.45;
}

/* ---------- Fluent Form as a white card ---------- */
.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 22px 22px 24px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-el-input--label label {
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
}

.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-el-group { margin-bottom: 15px; }

.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-el-form-control {
  width: 100%;
  padding: 11px 13px;
  color: var(--ink);
  font-size: 14px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: none;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}
.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform textarea.ff-el-form-control { min-height: 120px; }
.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-el-form-control:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(46, 76, 158, 0.12);
  outline: none;
}
.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-el-form-control::placeholder { color: var(--muted); }

.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-btn-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 24px;
  background: var(--blue);
  color: var(--white);
  font-size: 14px;
  font-weight: 500;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.16s ease, opacity 0.16s ease;
}
.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-btn-submit:hover {
  transform: translateY(-1px);
  opacity: 0.92;
}

.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-message-success {
  padding: 14px 16px;
  background: #EAF3DE;
  color: #3F6B1C;
  border: 1px solid #C9E2AE;
  border-radius: 8px;
}
.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .error.text-danger,
.elementor-948 .elementor-element.elementor-element-1485a59 .fluentform .ff-el-is-error .text-danger {
  color: #C0392B;
  font-size: 12px;
}

/* ---------- mobile ---------- */
@media (max-width: 600px) {
}/* End custom CSS */