/* AUS: local fix-ups on top of production's Beaver Builder CSS (loaded last by aus-design.php). Class-only.
   Bricks 2 ships its element defaults in a cascade layer; the resets below are unlayered but wrapped in :where()
   (zero specificity): they restore browser defaults for the properties Bricks sets and production never does, while
   every production rule (unlayered, with real specificity) still wins. */

:where(.brxe-section) { display: block; flex-direction: row; flex-wrap: nowrap; align-items: normal; margin-left: 0; margin-right: 0; width: auto; }
:where(.brxe-container) { display: block; flex-direction: row; flex-wrap: nowrap; align-items: normal; margin-left: 0; margin-right: 0; width: auto; }
:where(.brxe-block) { display: block; flex-direction: row; flex-wrap: nowrap; align-items: normal; width: auto; }
:where(.brxe-div) { width: auto; }
:where(#brx-header [class*="brxe-"], #brx-content [class*="brxe-"], #brx-footer [class*="brxe-"]) { max-width: none; }
:where(label) { display: inline; margin-bottom: 0; color: revert; font-weight: revert; }
:where(input, select, textarea, button) { line-height: normal; }
:where(.input, input:not([type=submit]), select, textarea) { border-style: revert; border-width: revert; box-shadow: revert; color: revert; font-size: revert; outline: revert; padding: revert; width: revert; transition: revert; }
:where(select) { appearance: revert; -webkit-appearance: revert; background-color: revert; background-image: revert; background-position: revert; background-repeat: revert; background-size: revert; border-radius: revert; cursor: revert; }
:where(sup) { vertical-align: super; font-size: smaller; line-height: inherit; position: static; top: auto; }
:where(sub) { vertical-align: sub; font-size: smaller; line-height: inherit; position: static; bottom: auto; }
.alignright, .alignleft { margin-top: 0; margin-bottom: 0; }
body { -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; }
:where(button, input[type=submit], input[type=button], input[type=reset]) { text-align: revert; }
:where(*, ::before, ::after) { border-color: currentcolor; }
:where(a) { text-decoration: revert; }
:where(.bricks-button) { text-align: revert; gap: revert; letter-spacing: revert; display: revert; align-items: revert; justify-content: revert; }

/* production's single .fl-page wrapper is full width (`.fl-full-width .fl-page{width:auto;margin:0 auto}`); Bricks' body is
   a flex column, where auto width + auto margins shrink-wrap each wrapper to its content (the footer came out 1153px
   wide at 1440). Pin the three Bricks wrappers that carry .fl-page to the full width. */
#brx-header.fl-page, #brx-content.fl-page, #brx-footer.fl-page { width: 100%; margin-left: 0; margin-right: 0; }

/* the Bricks shortcode wrapper around a menu's <ul> takes no box (production's <ul> is the nav's direct child) */
:where(.fl-menu nav > .brxe-shortcode) { display: contents; }

/* Bricks' Rich Text / heading wrappers would add their own boxes; BB's text modules are plain blocks */
:where(.brxe-text, .brxe-text-basic:not(iframe, video, img, svg, input, select, textarea, button), .brxe-heading) { width: auto; }

/* BB accordion on a Bricks nestable accordion: Bricks toggles .brx-open on the item; BB's CSS hides
   .fl-accordion-content (BB's script used to show it). The plus/minus glyph follows the open state. */
.aus-acc .fl-accordion-item.brx-open > .fl-accordion-content { display: block; }
.aus-acc .fl-accordion-item.brx-open .fl-accordion-button-icon i.fa-plus::before { content: "\f068"; }
.aus-acc .fl-accordion-button { cursor: pointer; }

/* DELIBERATE IMPROVEMENT: production renders 4px wider than the window at 1440 (horizontal scroll); clip like a
   boxed page wrapper would */
#brx-header, #brx-content, #brx-footer { overflow-x: clip; }

/* DELIBERATE IMPROVEMENT (Matt 2026-10-09): the scheduling notice opens once per session, below the header, and never
   covers it (aus.js sets --aus-notice-top to the header's bottom edge).
   UABB's script moves the modal wrapper (.uamodal-<node>) to <body>, so these key on the wrapper and the modal's id. */
.uamodal-8cemqrkwoyhf .uabb-overlay { top: var(--aus-notice-top, 0px); }
#modal-8cemqrkwoyhf.uabb-show { top: calc(var(--aus-notice-top, 0px) + 24px) !important; transform: none !important; }
#modal-8cemqrkwoyhf .uabb-modal-close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Bricks' frontend CSS gives block-editor figures margin-block: 1em with a 0,5,0 selector; production has none
   (bb-theme's figure{margin:0} wins there). Neutralized inside production's content containers, class-only. */
:is(.fl-post-content, .fl-rich-text, .uabb-text-editor) :is(.wp-block-embed, .wp-block-image, .wp-block-table, .wp-block-video):not(.alignleft):not(.aligncenter):not(.alignright):not(.alignwide):not(.alignfull) { margin-block: 0; }

/* Bricks makes links and images inside .aligncenter blocks block-level; production keeps them inline (a block <img>
   inside an inline <a> adds empty line boxes: +6.6px per centred image) */
:is(.fl-post-content, .fl-rich-text, .uabb-text-editor) .aligncenter :is(a, img) { display: inline; }

/* BB pagination is centred (production: .fl-builder-pagination ul.page-numbers { text-align: center }); Bricks' pagination
   list is a flex row, where text-align does nothing */
.fl-builder-pagination .bricks-pagination, .fl-builder-pagination .bricks-pagination ul.page-numbers { display: block; }
