/* Native WordPress blocks and the existing Gallery carousel pattern.
 * Block selectors outrank the reference article reset; saved block styles win.
 * Each standalone theme supplies its own native tokens through theme.json.
 */
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-heading) { line-height: 1.2; font-weight: 700; margin-block: 1.25em .5em; overflow-wrap: anywhere; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(h1.wp-block-heading) { font-size: 2.25rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(h2.wp-block-heading) { font-size: 1.75rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(h3.wp-block-heading) { font-size: 1.375rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(h4.wp-block-heading) { font-size: 1.125rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :where(p) { line-height: 1.7; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :where(p, .wp-block-list) > :where(a:not(.wp-element-button)) { color: var(--wp--custom--native--link); text-decoration: underline; text-underline-offset: .2em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(ul.wp-block-list) { list-style-type: disc; padding-inline-start: 1.5em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(ol.wp-block-list) { list-style-type: decimal; padding-inline-start: 1.5em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-list) :where(ul) { list-style-type: circle; padding-inline-start: 1.5em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-list) :where(ol) { list-style-type: decimal; padding-inline-start: 1.5em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-list li) { margin-block: .35em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-button__link, .wp-block-search__button, .wp-block-file__button) { border-radius: var(--wp--custom--native--radius); padding: .7em 1.25em; font-weight: 700; line-height: 1.4; text-decoration: none; min-height: 44px; box-sizing: border-box; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-button__link, .wp-block-search__button, .wp-block-file__button):hover { filter: brightness(.92); }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-button__link, .wp-block-search__button, .wp-block-file__button, .wp-block-query-pagination a, .ac-carousel__controls button):focus-visible { outline: 3px solid var(--wp--custom--native--link); outline-offset: 3px; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-image, .wp-block-gallery, .wp-block-video, .wp-block-audio, .wp-block-embed, .wp-block-cover) { margin-block: 1.25rem; max-width: 100%; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-image img, .wp-block-post-featured-image img) { border-radius: var(--wp--custom--native--radius); }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-image figcaption, .wp-block-gallery figcaption, .wp-block-video figcaption, .wp-block-embed figcaption, .wp-block-table figcaption) { font-size: .8125rem; line-height: 1.5; text-align: center; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-audio audio, .wp-block-video video) { width: 100%; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-columns, .wp-block-column, .wp-block-group, .wp-block-media-text, .wp-block-query, .wp-block-post-template > li) { min-width: 0; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-quote, .wp-block-pullquote) { border-inline-start: 3px solid var(--wp--custom--native--accent); background: var(--wp--custom--native--surface); color: var(--wp--custom--native--ink); padding: 1rem 1.25rem; margin-inline: 0; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-quote cite, .wp-block-pullquote cite) { display: block; font-size: .8125rem; margin-block-start: .75em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-code, .wp-block-preformatted, .wp-block-verse) { overflow: auto; max-width: 100%; background: var(--wp--custom--native--surface); color: var(--wp--custom--native--ink); border: 1px solid var(--wp--custom--native--line); border-radius: var(--wp--custom--native--radius); padding: 1rem; text-align: start; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-code code) { font-family: ui-monospace, monospace; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-table) { overflow-x: auto; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-table table) { width: 100%; border-collapse: collapse; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-table td, .wp-block-table th) { border: 1px solid var(--wp--custom--native--line); padding: .75em; text-align: start; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-table th) { background: var(--wp--custom--native--surface); color: var(--wp--custom--native--ink); font-weight: 700; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-table.is-style-stripes tbody tr:nth-child(odd)) { background: var(--wp--custom--native--surface); color: var(--wp--custom--native--ink); }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-separator) { color: var(--wp--custom--native--line); }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-details) { border: 1px solid var(--wp--custom--native--line); border-radius: var(--wp--custom--native--radius); padding: 1rem; text-align: start; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-details summary) { cursor: pointer; font-weight: 700; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-details[open] summary) { margin-block-end: .75rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-search__inside-wrapper) { min-width: 0; gap: .5rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-search__input) { min-width: 0; border: 1px solid var(--wp--custom--native--line); border-radius: var(--wp--custom--native--radius); background: var(--wp--custom--native--surface); color: var(--wp--custom--native--ink); padding: .65em .8em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-search__button) { margin-inline-start: 0; }
/* Native query geometry (list/grid/columns/gap) is owned by WordPress. */
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query .wp-block-post-template) { list-style: none; padding: 0; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query .wp-block-post-template > li) { border-bottom: 1px solid var(--wp--custom--native--line); padding-block: 1rem; text-align: start; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query .wp-block-post-title) { font-size: 1.375rem; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; margin-block: .5rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query .wp-block-post-title a) { color: inherit; text-decoration: none; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query .wp-block-post-title a:hover) { text-decoration: underline; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-post-date, .wp-block-post-author, .wp-block-post-terms) { font-size: .8125rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-post-excerpt) { line-height: 1.7; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-read-more, .wp-block-post-excerpt__more-link) { color: var(--wp--custom--native--link); text-decoration: underline; text-underline-offset: .2em; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query-pagination) { gap: .5rem; padding-block: 1rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query-pagination-numbers) { display: flex; flex-wrap: wrap; gap: .5rem; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers) { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .5em .8em; border: 1px solid var(--wp--custom--native--line); border-radius: var(--wp--custom--native--radius); color: var(--wp--custom--native--ink); background: var(--wp--custom--native--surface); text-decoration: none; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-query-pagination .current) { color: var(--wp--custom--native--on-accent); background: var(--wp--custom--native--accent); border-color: var(--wp--custom--native--accent); }
/* Same image frame and overlay dots as the authored Home banner. The plugin
 * retains playback, loop, reduced-motion and the accessible slide labels. */
.wp-block-gallery.ac-carousel { position: relative; isolation: isolate; overflow: hidden; width: 100%; min-width: 0; border: 0; border-radius: 10px; background: #111; padding: 0; gap: 0; }
.wp-block-gallery.ac-carousel[data-ac-carousel-ready] > figure.wp-block-image { position: relative; aspect-ratio: 16/9; margin: 0; }
.wp-block-gallery.ac-carousel[data-ac-carousel-ready] > figure.wp-block-image > a { display: block; width: 100%; height: 100%; }
.wp-block-gallery.ac-carousel[data-ac-carousel-ready] > figure.wp-block-image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; margin: 0; }
.wp-block-gallery.ac-carousel .ac-carousel__controls { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); z-index: 5; display: flex; align-items: center; justify-content: center; flex-wrap: nowrap; gap: 0; margin: 0; padding: 0 5px; border-radius: 30px; background: #111b; max-width: calc(100% - 20px); overflow-x: auto; }
.wp-block-gallery.ac-carousel .ac-carousel__controls button { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 50%; background: transparent; color: white; font-size: 0; line-height: 1; text-decoration: none; cursor: pointer; }
.wp-block-gallery.ac-carousel .ac-carousel__controls button[aria-label]::after { content: ''; width: 8px; height: 8px; border: 1px solid white; border-radius: 50%; background: transparent; }
.wp-block-gallery.ac-carousel .ac-carousel__controls button[aria-current="true"]::after { background: white; }
/* Match the original dot-only banner; accessible indicators retain keyboard control. */
.wp-block-gallery.ac-carousel .ac-carousel__controls button:not([aria-label]) { display: none; }
:root .wp-block-gallery.ac-carousel .ac-carousel__controls button:focus-visible { outline: 2px solid white; outline-offset: -3px; }
.wp-block-gallery.ac-carousel > figcaption { color: white; padding: .5rem; }
/* Captions keep their own space and are never covered by the dot bar. */
.wp-block-gallery.ac-carousel:has(figcaption) .ac-carousel__controls { position: static; transform: none; width: fit-content; margin: 8px auto; }
.wp-block-gallery.ac-carousel:has(figcaption)[data-ac-carousel-ready] > figure.wp-block-image { aspect-ratio: auto; }
.wp-block-gallery.ac-carousel:has(figcaption)[data-ac-carousel-ready] > figure.wp-block-image img { aspect-ratio: 16/9; height: auto; }
.wp-block-gallery.ac-carousel .ac-carousel__controls:not(:has(button:nth-child(4))) { display: none; }
/* Editor keeps all images selectable; without JS the native Gallery stays usable. */
@media (prefers-reduced-motion: reduce) { .ac-carousel { scroll-behavior: auto; } }

/* Article link rules must not turn native action buttons into text links. */
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) .wp-block-button__link { text-decoration: none; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) .wp-block-button__link:not(.has-text-color) { color: var(--wp--custom--native--on-accent); }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) .wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color) { color: var(--wp--custom--native--link); }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) .wp-block-button.is-style-outline .wp-block-button__link:not(.has-background) { background: transparent; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) .wp-block-query .wp-block-post-template { list-style: none; margin-inline: 0; }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) .wp-block-query .wp-block-post-template > li { list-style: none; }

/* Shared block defaults keep the bare editor canvas and article shells aligned. */
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) .wp-block-heading { font-family: var(--wp--custom--native--heading-font); color: var(--wp--custom--native--heading-color); }
:root :is(.wp-site-blocks, .wp-block-post-content, .editor-styles-wrapper) :is(.wp-block-buttons, .wp-block-search, .wp-block-file) { font-size: 1rem; }
