.elementor-25 .elementor-element.elementor-element-ef894ca{--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-25 .elementor-element.elementor-element-414d369{width:100%;max-width:100%;}.elementor-25 .elementor-element.elementor-element-ff5669c{--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-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-25 .elementor-element.elementor-element-b558525{text-align:center;}.elementor-25 .elementor-element.elementor-element-b558525 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:40px;font-weight:700;color:#FFFFFF;}.elementor-25 .elementor-element.elementor-element-9bff2f2{--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-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-25 .elementor-element.elementor-element-aec1819 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-25 .elementor-element.elementor-element-aec1819 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-25 .elementor-element.elementor-element-aec1819 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-25 .elementor-element.elementor-element-aec1819 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-25 .elementor-element.elementor-element-aec1819 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-field-type-html{padding-bottom:0px;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-button[type="submit"]{color:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-25 .elementor-element.elementor-element-aec1819{--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-25 .elementor-element.elementor-element-ca83cb8{--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-25 .elementor-element.elementor-element-df2a84a{--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-25 .elementor-element.elementor-element-94210e9{--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;}/* Start custom CSS for heading, class: .elementor-element-b558525 */.elementor-25 .elementor-element.elementor-element-b558525 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: clamp(36px, 5vw, 56px) !important;
  font-weight: 700 !important;
  color: #F5F0E8 !important;
  text-align: center !important;
  line-height: 1.15 !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.01em !important;
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-aec1819 */<!-- ============================================================
     COSTA PINE PREMIUM — CONTACT FORM STYLING
     
     HOW TO USE THIS:
     1. Click on your SECTION (not the form widget) in Elementor
     2. Go to Advanced tab > Custom CSS
     3. Copy ONLY the CSS between the <style> tags below
     4. Paste it into the Custom CSS box
     5. Hit Update
     ============================================================ -->

<style>

/* === SECTION WRAPPER === */
.cp-contact-section {
  background: #1B2A6B;
  padding: 80px 32px;
  position: relative;
  font-family: 'Outfit', Georgia, sans-serif;
}

.cp-contact-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 39px, rgba(255,255,255,0.02) 39px, rgba(255,255,255,0.02) 40px),
    repeating-linear-gradient(90deg, transparent, transparent 39px, rgba(255,255,255,0.02) 39px, rgba(255,255,255,0.02) 40px);
  pointer-events: none;
}

/* === SECTION HEADING === */
.cp-contact-section .cp-form-heading {
  text-align: center;
  margin-bottom: 48px;
  position: relative;
  z-index: 1;
}

.cp-contact-section .cp-form-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #C9A84C;
  margin-bottom: 12px;
  display: block;
}

.cp-contact-section .cp-form-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 700;
  color: #F5F0E8;
  line-height: 1.2;
  margin-bottom: 12px;
}

.cp-contact-section .cp-form-subtitle {
  font-size: 15px;
  color: rgba(245,240,232,0.6);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.6;
}

/* === FORM CONTAINER === */
.elementor-form {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(201,168,76,0.2);
  border-radius: 16px;
  padding: 40px 40px;
}

/* === LABELS === */
.elementor-field-label {
  font-family: 'Outfit', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #C9A84C !important;
  margin-bottom: 8px !important;
  display: block !important;
}

/* === INPUT FIELDS === */
.elementor-field-textual {
  width: 100% !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(201,168,76,0.25) !important;
  border-radius: 8px !important;
  padding: 13px 16px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #F5F0E8 !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
  outline: none !important;
  -webkit-appearance: none !important;
}

.elementor-field-textual::placeholder {
  color: rgba(245,240,232,0.3) !important;
}

.elementor-field-textual:focus {
  border-color: #C9A84C !important;
  background: rgba(255,255,255,0.09) !important;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.12) !important;
}

/* === TEXTAREA === */
.elementor-field-type-textarea .elementor-field-textual {
  min-height: 120px !important;
  resize: vertical !important;
}

/* === FIELD GROUPS SPACING === */
.elementor-field-group {
  margin-bottom: 20px !important;
}

/* === SUBMIT BUTTON === */
.elementor-button {
  width: 100% !important;
  background: #B01C2E !important;
  color: #fff !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 16px 32px !important;
  border-radius: 10px !important;
  border: none !important;
  cursor: pointer !important;
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease !important;
  box-shadow: 0 6px 24px rgba(176,28,46,0.35) !important;
  margin-top: 8px !important;
}

.elementor-button:hover {
  transform: translateY(-2px) !important;
  filter: brightness(1.08) !important;
  box-shadow: 0 10px 32px rgba(176,28,46,0.4) !important;
}

.elementor-button:active {
  transform: translateY(0) !important;
  filter: brightness(0.95) !important;
}

/* === SUCCESS MESSAGE === */
.elementor-message.elementor-message-success {
  background: rgba(37,211,102,0.12) !important;
  border: 1px solid rgba(37,211,102,0.3) !important;
  color: #25D366 !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  margin-top: 12px !important;
}

/* === ERROR MESSAGE === */
.elementor-message.elementor-message-danger {
  background: rgba(176,28,46,0.12) !important;
  border: 1px solid rgba(176,28,46,0.3) !important;
  color: #ff6b7a !important;
  border-radius: 8px !important;
  padding: 14px 18px !important;
  font-family: 'Outfit', sans-serif !important;
  font-size: 14px !important;
  margin-top: 12px !important;
}

/* === RESPONSIVE === */
@media (max-width: 640px) {
  .cp-contact-section {
    padding: 56px 16px;
  }
  .elementor-form {
    padding: 28px 20px;
  }
}

</style>

<!-- 
  ALSO: Add this HTML widget ABOVE your form widget
  as a separate Custom HTML widget for the heading
-->
<div class="cp-form-heading">
  <span class="cp-form-eyebrow">Get in Touch</span>
  <h2 class="cp-form-title">Request a Quote</h2>
  <p class="cp-form-subtitle">
    Tell us your volume and delivery location and we'll get back to you with pricing within 24 hours.
  </p>
</div>/* End custom CSS */