/* ============================================================
   06 · COMPONENTS · Bricks element overrides
   Bricks adds default styles on .brxe-block, .brxe-section,
   .bricks-button, etc. (flex-direction: column, width: 100%,
   padding: .5em 1em). Re-assert layout when a BEM class is
   present so our intent wins regardless of Bricks defaults.
   ============================================================ */

/* — Block helpers — Bricks block defaults to flex-direction:column.
   Re-state direction on BEM blocks that must be horizontal. */
.brxe-block.c-section-intro,
.brxe-block.c-logos__track,
.brxe-block.c-strip__track,
.brxe-block.c-testimonials__row,
.brxe-block.c-foot-cta__row,
.brxe-block.c-footer__row,
.brxe-block.c-booking__perks,
.brxe-block.c-booking__days,
.brxe-block.c-booking__times,
.brxe-block.c-booking__submit-row,
.brxe-block.c-timeline__head,
.brxe-block.c-case-study__deltas,
.brxe-block.c-testimonial__who,
.brxe-block.c-tier .brxe-block.c-tier__price + .brxe-block,
.brxe-block.c-timeline__tags,
.brxe-block.c-case-study__deltas,
.brxe-block.c-tier__list,
.brxe-block.c-faq,
.brxe-block.c-hero__top,
.brxe-block.c-hero__actions,
.brxe-block.c-header__nav,
.brxe-block.c-header__cta,
.brxe-block.c-header,
.brxe-block.c-footer__links,
.brxe-block.c-kpis,
.brxe-block.c-bento,
.brxe-block.c-tiers,
.brxe-block.c-booking,
.brxe-block.c-hero__bottom {
  flex-direction: row;
}

/* Reset width inheritance on Bricks blocks where we control width via grid */
.brxe-block.c-bento__cell,
.brxe-block.c-tier,
.brxe-block.c-kpis__item,
.brxe-block.c-bento,
.brxe-block.c-tiers,
.brxe-block.c-kpis {
  width: auto;
}

/* Inline-ish blocks should not eat full width. They sit inside flex rows. */
.brxe-block.c-case-study__delta,
.brxe-block.c-timeline__tag,
.brxe-block.c-testimonial__avatar,
.brxe-block.c-eyebrow__pulse,
.brxe-block.c-eyebrow,
.brxe-block.c-header__logo,
.brxe-block.c-header__cta,
.brxe-block.c-header__nav,
.brxe-block.c-footer__links {
  width: auto;
}

/* The o-wrap itself should stay flex-column (default), but max-width matters */
.brxe-block.o-wrap {
  flex-direction: column;
  width: 100%;
}

/* Header must never wrap or its pill shape breaks */
.brxe-block.c-header,
.brxe-block.c-header__nav,
.brxe-block.c-header__cta { flex-wrap: nowrap; }

.brxe-button.c-header__logo { flex-shrink: 0; }

/* Bricks lists: the .title wrapper renders inline-flex by default;
   keep it inline as plain text for our tier and booking lists. */
.brxe-list .list-item .title { font-weight: inherit; }

/* Buttons — Bricks adds padding .5em 1em + gap 10px and inline-flex.
   Our c-btn already sets height + padding. The 10px gap matches our
   spec but reset padding so it doesn't double up. */
.brxe-button.c-btn { padding: 0 24px; }
.brxe-button.c-btn--lg { padding: 0 30px; }
.brxe-button.c-btn--ghost { padding: 0 14px; }

.brxe-button.c-logo-tag {
  padding: 0;
  gap: 10px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Section element defaults width: 100% — re-state for clarity */
.brxe-section.o-section,
.brxe-section.c-hero,
.brxe-section.c-kpis-band,
.brxe-section.c-logos,
.brxe-section.c-foot-cta {
  width: 100%;
}

/* Cancel Bricks lazy-hidden once it has been observed (defensive) */
.bricks-lazy-hidden { opacity: 1 !important; }
