/* ========================================
   Header Block
   Section header: eyebrow + anchor + heading + body
   Nestable: structured controls + drag-drop children.
   ======================================== */

/* ----------------------------------------
   Builder scaffolding: hide from flex layout
   ---------------------------------------- */
.header-block > .brx-nestable-children-placeholder,
.header-block > .brx-nestable-children {
  display: none;
}

.header-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5em;
  padding-bottom: 3rem;
  width: 100%;
}

/* ----------------------------------------
   Alignment modifiers
   ---------------------------------------- */
.header-block--center {
  align-items: center;
  text-align: center;
}

.header-block--center .header-block__eyebrow,
.header-block--center .header-block__heading,
.header-block--center .header-block__body {
  width: 100%;
  text-align: center;
}

.header-block--center .header-block__eyebrow--anchor::after {
  margin: 0 auto;
}

.header-block--right {
  align-items: flex-end;
  text-align: right;
}

.header-block--right .header-block__heading,
.header-block--right .header-block__body {
  width: 100%;
}

/* ----------------------------------------
   Eyebrow
   ---------------------------------------- */
.header-block__eyebrow {
  padding-bottom: 2.5rem;
}

.header-block__eyebrow-text {
  margin: 0 0 25px 0;
  color: var(--lazio-orange, #F97316);
}

/* The Anchor — two-tone decorative line (opt-in via class) */
.header-block__eyebrow--anchor::after {
  content: '';
  display: block;
  width: 200px;
  height: 5px;
  background: linear-gradient(
    to right,
    var(--lazio-orange, #F97316) 50%,
    rgba(252, 185, 139, 0.5) 50%
  );
}

/* ----------------------------------------
   Heading
   ---------------------------------------- */
.header-block__heading {
  margin: 0;
  color: var(--lazio-black, #1C1917);
  font-family: 'Crimson Pro', Georgia, serif;
  font-size: var(--text-2xl, 1.875rem);
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2;
}

/* ----------------------------------------
   Body
   ---------------------------------------- */
.header-block__body {
  color: var(--slate-gray, #767676);
  font-size: var(--text-ml, 1.175rem);
  line-height: 1.3;
}

.header-block__body p {
  margin: 0 0 1em 0;
}

.header-block__body p:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------
   Responsive
   ---------------------------------------- */
@media (max-width: 768px) {
  .header-block__heading {
    font-size: var(--text-xl, 1.5rem);
  }

  .header-block--center .header-block__heading,
  .header-block--right .header-block__heading {
    text-align: center;
  }
}
