/* ==========================================================================
   Bricks Builder Overrides
   Targeted corrections to ensure Bricks respects our design tokens.
   ========================================================================== */

/* Force Bricks containers to use our max-width */
.brxe-container,
.bricks-layout-wrapper .brxe-container {
    max-width: var(--container-max);
}

/* Ensure Bricks headings use our font */
.brxe-heading,
.bricks-layout-wrapper h1,
.bricks-layout-wrapper h2,
.bricks-layout-wrapper h3,
.bricks-layout-wrapper h4,
.bricks-layout-wrapper h5,
.bricks-layout-wrapper h6 {
    font-family: var(--font-heading);
    color: var(--color-primary);
}

/* Bricks body text */
.brxe-text-basic,
.brxe-text,
.bricks-layout-wrapper p {
    font-family: var(--font-body);
    color: var(--color-text);
    line-height: 1.7;
}

/* Bricks section padding override */
.brxe-section {
    padding-top: var(--space-section);
    padding-bottom: var(--space-section);
}

/* Override Bricks default link styling */
.bricks-layout-wrapper a:not(.btn):not(.brxe-button) {
    color: var(--color-primary);
    transition: color var(--transition-fast);
}

.bricks-layout-wrapper a:not(.btn):not(.brxe-button):hover {
    color: var(--color-accent);
}

/* Dark section text overrides */
.section-dark .brxe-heading,
.section-dark .brxe-text-basic,
.section-dark .brxe-text,
.section-dark h1,
.section-dark h2,
.section-dark h3,
.section-dark p {
    color: var(--color-text-on-dark);
}

/* Bricks button overrides to use our styles */
.brxe-button.btn-primary {
    background-color: var(--color-primary) !important;
    color: var(--color-text-on-primary) !important;
    border-color: var(--color-primary) !important;
}

.brxe-button.btn-primary:hover {
    background-color: var(--color-accent) !important;
    border-color: var(--color-accent) !important;
    color: var(--color-primary) !important;
}

.brxe-button.btn-secondary {
    background-color: var(--color-accent) !important;
    color: var(--color-primary) !important;
    border-color: var(--color-accent) !important;
}

/* Fix Bricks z-index conflicts with sticky header */
.brxe-section {
    position: relative;
    z-index: var(--z-base);
}

/* Ensure Bricks nav uses our styling */
.bricks-nav-menu .bricks-mobile-menu-toggle {
    color: var(--color-primary);
}

/* Bricks accordion overrides */
.brxe-accordion .brxe-accordion-item__title {
    font-family: var(--font-body);
    font-weight: 600;
    color: var(--color-primary);
}

/* Image border radius */
.brxe-image img {
    border-radius: var(--radius-md);
}
