/* ============================================
   FFF – Form Page Layout Only
   Section class: fff-form-page
   Optional row class: fff-form-page-row
   Optional text module class: fff-form-intro

   Purpose:
   - Layout only (section + row + intro text)
   - NO WPForms styling here
============================================ */

/* ------------------------------------------------------------
   1) Section background (slightly darker, better contrast)
------------------------------------------------------------ */
.et_pb_section.fff-form-page{
  position: relative !important;
  overflow: hidden !important;
  padding: 48px 0 54px !important;

  /* slightly greyer, less luminous */
  background: linear-gradient(180deg,
    #e4e9f2 0%,
    #d8e1ef 100%
  ) !important;
}

.et_pb_section.fff-form-page:before{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;

  opacity: 0.45 !important;

  background:
    /* calm vignette */
    radial-gradient(circle at 50% 15%, rgba(255,255,255,0.45), transparent 60%),
    radial-gradient(circle at 50% 110%, rgba(15,23,42,0.10), transparent 65%),

    /* very restrained accents */
    radial-gradient(circle at 18% 22%, rgba(66,103,178,0.08), transparent 42%),
    radial-gradient(circle at 82% 78%, rgba(34,197,94,0.05), transparent 46%);
}

/* ------------------------------------------------------------
   2) Row: centered, wide (1280)
------------------------------------------------------------ */

.et_pb_section.fff-form-page > .et_pb_row,
.et_pb_section.fff-form-page .fff-form-page-row{
  max-width: 1280px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

/* Single column sanity (layout only) */
.et_pb_section.fff-form-page .et_pb_column{
  float: none !important;
}

/* ------------------------------------------------------------
   3) Intro text card (compact, radius 4px)
   Recommended: add class "fff-form-intro" on the top Text module.
   Fallback: styles the first Text module in the section.
------------------------------------------------------------ */

.et_pb_section.fff-form-page .et_pb_text.fff-form-intro,
.et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type{
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(12,18,28,0.10);
  border-radius: 4px !important;

  padding: 14px 16px 12px !important;
  margin-bottom: 10px !important;

  box-shadow: 0 12px 30px rgba(15,23,42,0.07);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* Titles: smaller so the block doesn't dominate */
.et_pb_section.fff-form-page .et_pb_text.fff-form-intro h1,
.et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type h1{
  margin: 0 0 6px !important;
  font-size: 1.35rem !important;
  line-height: 1.15 !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  color: rgba(12,18,28,0.92) !important;
}

.et_pb_section.fff-form-page .et_pb_text.fff-form-intro h2,
.et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type h2{
  margin: 0 0 6px !important;
  font-size: 1.18rem !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  color: rgba(12,18,28,0.92) !important;
}

.et_pb_section.fff-form-page .et_pb_text.fff-form-intro h3,
.et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type h3{
  margin: 0 0 6px !important;
  font-size: 1.05rem !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 0.01em !important;
  color: rgba(12,18,28,0.92) !important;
}

/* Paragraphs: tighter + smaller */
.et_pb_section.fff-form-page .et_pb_text.fff-form-intro p,
.et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type p{
  margin: 0 0 4px !important;
  font-size: 0.85rem !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  color: rgba(12,18,28,0.72) !important;
}

.et_pb_section.fff-form-page .et_pb_text.fff-form-intro p:last-child,
.et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type p:last-child{
  margin-bottom: 0 !important;
}

/* ------------------------------------------------------------
   4) Text alignment rules (desktop justify, mobile left)
------------------------------------------------------------ */

@media (min-width: 981px){
  .et_pb_section.fff-form-page .et_pb_text.fff-form-intro p,
  .et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type p{
    text-align: justify !important;
    text-justify: inter-word;
  }
}

@media (max-width: 680px){
  .et_pb_section.fff-form-page{
    padding: 30px 0 36px !important;
  }

  .et_pb_section.fff-form-page .et_pb_text.fff-form-intro,
  .et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type{
    padding: 13px 14px 12px !important;
    margin-bottom: 10px !important;
  }

  .et_pb_section.fff-form-page .et_pb_text.fff-form-intro p,
  .et_pb_section.fff-form-page .et_pb_column .et_pb_text:first-of-type p{
    text-align: left !important;
    text-justify: auto;
  }
}
