/**
 * FourData Blocks v2 — Avada Theme Isolation
 *
 * Uses CSS @layer to ensure FD styles always win over Avada
 * WITHOUT any !important declarations.
 *
 * Load order: fd-design-tokens.css -> fd-avada-isolation.css -> fd-base.css -> fd-components.css
 *
 * Layer priority (lowest → highest):
 *   fd-reset  →  fd-base  →  fd-components  →  fd-blocks
 */

@layer fd-reset, fd-base, fd-components, fd-blocks;


/* ═══════════════════════════════════════════
   LAYER: fd-reset
   Minimal resets scoped to .fd-blocks-root
   that neutralise Avada's inherited styles.
   ═══════════════════════════════════════════ */
@layer fd-reset {

  /* Box-sizing boundary ───────── */
  .fd-blocks-root,
  .fd-blocks-root *,
  .fd-blocks-root *::before,
  .fd-blocks-root *::after {
    box-sizing: border-box;
  }

  /* Typography reset ───────── */
  .fd-blocks-root h1,
  .fd-blocks-root h2,
  .fd-blocks-root h3,
  .fd-blocks-root h4,
  .fd-blocks-root h5,
  .fd-blocks-root h6 {
    margin: 0;
    padding: 0;
    font-family: var(--fd-font);
    line-height: normal;
    letter-spacing: normal;
    color: inherit;
    text-transform: none;
    border: none;
    text-shadow: none;
    -webkit-text-fill-color: unset;
  }

  .fd-blocks-root p {
    margin: 0;
    padding: 0;
    font-family: var(--fd-font);
    color: inherit;
    text-shadow: none;
  }

  .fd-blocks-root a {
    text-decoration: none;
    color: inherit;
    box-shadow: none;
    border-bottom: none;
    background-image: none;
  }

  .fd-blocks-root ul,
  .fd-blocks-root ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .fd-blocks-root img {
    max-width: 100%;
    height: auto;
    border: none;
    box-shadow: none;
  }

  .fd-blocks-root button {
    font-family: var(--fd-font);
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    margin: 0;
  }

  /* ───────── Avada high-specificity overrides ─────────
     Avada's .fusion-body and .post-content selectors
     carry high specificity. We match and neutralise them.
     ──────────────────────────────────────────────────── */
  .fusion-body .fd-blocks-root h1,
  .fusion-body .fd-blocks-root h2,
  .fusion-body .fd-blocks-root h3,
  .fusion-body .fd-blocks-root h4,
  .fusion-body .fd-blocks-root h5,
  .fusion-body .fd-blocks-root h6,
  .fusion-body .fd-blocks-root p,
  .fusion-body .fd-blocks-root a,
  .post-content .fd-blocks-root h1,
  .post-content .fd-blocks-root h2,
  .post-content .fd-blocks-root h3,
  .post-content .fd-blocks-root h4,
  .post-content .fd-blocks-root h5,
  .post-content .fd-blocks-root h6,
  .post-content .fd-blocks-root p,
  .post-content .fd-blocks-root a {
    all: revert;
    font-family: var(--fd-font);
    box-sizing: border-box;
  }

  /* Avada container / column resets ───────── */
  .fusion-body .fd-blocks-root .fusion-column-wrapper,
  .fusion-body .fd-blocks-root .fusion-builder-row,
  .fusion-body .fd-blocks-root .fusion-layout-column {
    padding: 0;
    margin: 0;
    min-height: 0;
  }

  /* Avada link underline & hover overrides ───────── */
  .fusion-body .fd-blocks-root a:hover,
  .post-content .fd-blocks-root a:hover {
    text-decoration: none;
    box-shadow: none;
    color: inherit;
  }

  /* .post-content specific resets ───────── */
  .fd-blocks-root .post-content {
    padding: 0;
    margin: 0;
    font-family: var(--fd-font);
  }

  .fd-blocks-root .post-content p {
    margin: 0;
    padding: 0;
    font-family: var(--fd-font);
  }

  .fd-blocks-root .post-content ul,
  .fd-blocks-root .post-content ol {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .fd-blocks-root .post-content a {
    text-decoration: none;
    box-shadow: none;
    border-bottom: none;
  }

  /* Avada's .fusion-text resets ───────── */
  .fusion-body .fd-blocks-root .fusion-text p,
  .fusion-body .fd-blocks-root .fusion-text h1,
  .fusion-body .fd-blocks-root .fusion-text h2,
  .fusion-body .fd-blocks-root .fusion-text h3 {
    all: revert;
    font-family: var(--fd-font);
    box-sizing: border-box;
  }
}


/* ═══════════════════════════════════════════
   BODY-LEVEL HELPERS
   ═══════════════════════════════════════════ */

/* Prevent horizontal scroll when FD full-width sections are present */
body.fd-has-blocks {
  overflow-x: hidden;
}

/* ═══════════════════════════════════════════
   FULL-WIDTH SECTION BREAK-OUT
   Allows .fd-section inside constrained Avada
   containers to span the full viewport width.
   ═══════════════════════════════════════════ */
.fd-blocks-root .fd-section--full {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  position: relative;
}

/* ═══════════════════════════════════════════
   AVADA SIDEBAR LAYOUT COMPENSATION
   When Avada uses a sidebar layout, the 50vw
   trick needs adjustment. This class is added
   by JS when a sidebar is detected.
   ═══════════════════════════════════════════ */
.fd-blocks-root--has-sidebar .fd-section--full {
  width: 100%;
  margin-left: 0;
}
