/* =========================
   DEMO PAGE - CLEAN VERSION
   ========================= */

.demo-page {
  width: 100% !important;
  background: #ffffff !important;
  overflow: hidden !important;
  font-family: "Manrope", sans-serif !important;
}


/* =========================
   HERO
   ========================= */

.demo-hero {
  width: 100% !important;
  padding: 150px 48px 72px 48px !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
}

.demo-title,
.demo-subtitle {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.demo-title .elementor-heading-title,
.demo-hero h1 {
  margin: 0 !important;

  color: #17191c !important;
  font-size: clamp(56px, 5.2vw, 82px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
}

.demo-subtitle p,
.demo-subtitle .elementor-widget-container {
  max-width: 760px !important;
  margin-top: 22px !important;

  color: #3f474e !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
}


/* =========================
   MAIN BOOKING AREA
   ========================= */

.demo-booking-section {
  position: relative !important;

  width: 100% !important;
  min-height: 680px !important;
  padding: 0 48px 150px 48px !important;

  box-sizing: border-box !important;
  background: #ffffff !important;
}


/* =========================
   VISUAL BAND
   ========================= */

/* ========================================
   VISUAL BAND — FULL WIDTH
======================================== */

.demo-visual-band {
  position: absolute !important;
  z-index: 1 !important;

  top: 0 !important;
  left: 0 !important;
  right: 0 !important;

  width: 100vw !important;
  max-width: 100vw !important;
  height: 300px !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  overflow: hidden !important;

  border-radius: 0 0 42px 42px !important;

  /* Questo sfondo riempie sempre tutta la fascia */
  background:
    linear-gradient(
      90deg,
      rgba(175, 220, 228, 0.55) 0%,
      rgba(183, 189, 235, 0.62) 52%,
      rgba(210, 206, 239, 0.48) 100%
    ) !important;
}


/* ========================================
   IMMAGINE INTERNA SEPARATA
======================================== */

/* ========================================
   IMMAGINE INTERNA — DIMENSIONE CONTROLLATA
======================================== */

.demo-visual-band::before {
  content: "";

  position: absolute !important;
  z-index: 1 !important;

  top: 0 !important;
  bottom: 0 !important;
  left: -95px !important;

  width: 1250px !important;
  height: 300px !important;

  background-image:
    linear-gradient(
      90deg,
      rgba(16, 38, 44, 0.12),
      rgba(36, 28, 53, 0.12)
    ),
    url("https://goldplace.net/wp-content/uploads/2026/07/hero_book_a_call-e1784280994364.png") !important;

  background-size: 1180px auto !important;
  background-position: left center !important;
  background-repeat: no-repeat !important;

  pointer-events: none !important;
}


/* =========================
   HELP CARD LEFT
   Centrata rispetto alla pagina
   ========================= */


.demo-help-card .elementor-heading-title {
  margin: 0 !important;

  color: #17191c !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
}

.demo-help-card p {
  margin: 14px 0 22px 0 !important;

  color: #5f666d !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.demo-help-card a {
  color: #17191c !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}


/* HELP CARD LEFT */
.demo-help-card {
  position: absolute !important;
  top: 230px !important;

  left: calc(50% - 520px) !important;
  right: auto !important;
  transform: none !important;

  z-index: 4 !important;

  width: 430px !important;
  padding: 34px !important;
  box-sizing: border-box !important;

  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(20, 40, 45, 0.08) !important;
  box-shadow: 0 24px 70px rgba(20, 40, 45, 0.13) !important;

  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}


/* FORM CARD RIGHT */
.demo-form-card {
  position: absolute !important;
  top: -70px !important;

  left: calc(50% + 40px) !important;
  right: auto !important;
  transform: none !important;

  z-index: 5 !important;

  width: 560px !important;
  min-height: auto !important;

  margin: 0 !important;
  padding: 58px 0 0 0 !important;
  box-sizing: border-box !important;

  border-radius: 26px !important;
  overflow: hidden !important;

  background: #ffffff !important;
  color: #17191c !important;

  border: 1px solid rgba(20, 40, 45, 0.08) !important;
  box-shadow: 0 34px 100px rgba(20, 40, 45, 0.18) !important;
}




/* =========================
   FORM HEADER BLACK BAR
   ========================= */

.demo-form-card::before {
  content: "GoldPlace  |  Schedule a discovery call" !important;

  position: absolute !important;
  z-index: 20 !important;

  top: 0 !important;
  left: 0 !important;

  width: 100% !important;
  height: 58px !important;
  padding: 0 30px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  box-sizing: border-box !important;

  background: #111417 !important;
  color: #ffffff !important;

  font-family: "Manrope", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: -0.01em !important;
}


/* =========================
   FORM BODY
   ========================= */

.demo-form-body {
  width: 100% !important;
  padding: 14px 30px 22px 30px !important;

  box-sizing: border-box !important;
  background: #ffffff !important;
}


/* RESET ELEMENTOR INSIDE FORM BODY */

.demo-form-body .elementor-widget,
.demo-form-body .elementor-widget-container,
.demo-form-body .elementor-shortcode {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}


/* REMOVE ELEMENTOR EXTRA SPACING */

.demo-form-body .elementor-widget:not(:last-child) {
  margin-bottom: 0 !important;
}


/* INTRO TEXT */

.demo-form-body p {
  margin: 0 0 10px 0 !important;
  padding: 0 !important;

  color: #5f666d !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.38 !important;
}


/* =========================
   FLUENT FORM BASE
   ========================= */

.demo-form-card .fluentform,
.demo-form-card .fluentform_wrapper,
.demo-form-card .frm-fluent-form,
.demo-form-card form {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  background: #ffffff !important;
  color: #17191c !important;

  font-family: "Manrope", sans-serif !important;
}


/* FIELD GROUPS */

.demo-form-card .ff-el-group {
  margin-bottom: 11px !important;
  background: transparent !important;
}


/* LABEL */

.demo-form-card .ff-el-input--label {
  margin: 0 0 5px 0 !important;
  padding: 0 !important;
}

.demo-form-card .ff-el-input--label label,
.demo-form-card label {
  margin-bottom: 5px !important;

  color: #17191c !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
}


/* INPUTS */

.demo-form-card input,
.demo-form-card select,
.demo-form-card textarea,
.demo-form-card .ff-el-form-control {
  min-height: 40px !important;
  padding: 9px 13px !important;

  box-sizing: border-box !important;

  border: 1px solid rgba(20, 40, 45, 0.12) !important;
  border-radius: 10px !important;

  background: #ffffff !important;
  color: #17191c !important;

  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.35 !important;

  outline: none !important;
  box-shadow: none !important;
}

.demo-form-card input::placeholder,
.demo-form-card textarea::placeholder {
  color: rgba(23, 25, 28, 0.45) !important;
}


/* TEXTAREA */

.demo-form-card textarea {
  min-height: 88px !important;
  resize: vertical !important;
}


/* FOCUS */

.demo-form-card input:focus,
.demo-form-card select:focus,
.demo-form-card textarea:focus,
.demo-form-card .ff-el-form-control:focus {
  border-color: rgba(20, 130, 140, 0.42) !important;

  box-shadow:
    0 0 0 4px rgba(120, 220, 205, 0.14) !important;
}


/* =========================
   SUBMIT BUTTON
   ========================= */

.demo-form-card .ff-btn-submit,
.demo-form-card button,
.demo-form-card input[type="submit"] {
  min-height: 40px !important;
  padding: 0 22px !important;

  border: none !important;
  border-radius: 999px !important;

  background: #17191c !important;
  color: #ffffff !important;

  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;

  cursor: pointer !important;
}

.demo-form-card .ff-btn-submit:hover,
.demo-form-card button:hover,
.demo-form-card input[type="submit"]:hover {
  background: #0f2e31 !important;
  color: #ffffff !important;
}


/* =========================
   NEXT SECTION
   ========================= */

.demo-next-section {
  position: relative !important;
  z-index: 1 !important;

  width: 100% !important;
  padding: 0 48px 120px 48px !important;

  box-sizing: border-box !important;
  background: #ffffff !important;
}

.demo-next-inner {
  width: 100% !important;
  max-width: 1280px !important;

  margin: 0 auto !important;

  box-sizing: border-box !important;
}

.demo-next-title .elementor-heading-title,
.demo-next-section h2 {
  margin: 0 0 38px 0 !important;

  color: #17191c !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.035em !important;
}

.demo-next-grid {
  width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 32px !important;
}

.demo-next-item {
  padding-top: 24px !important;

  border-top:
    1px solid rgba(20, 40, 45, 0.12) !important;
}

.demo-next-item .elementor-heading-title {
  margin: 0 0 12px 0 !important;

  color: #17191c !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
}

.demo-next-item p {
  margin: 0 !important;

  color: #5f666d !important;
  font-family: "Manrope", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}