/* Typography and colours follow the active theme. Only the gallery layout is scoped here. */
.bbr-references { --bbr-accent: var(--wp--preset--color--primary, var(--colibri-color-2, currentColor)); color: inherit; font-family: inherit; font-size: inherit; background: transparent; padding: 2em 0; width: 100%; }
.bbr-references *, .bbr-references *::before, .bbr-references *::after { box-sizing: border-box; }
.bbr-references [hidden] { display: none !important; }
.bbr-inner { width: 100%; max-width: var(--wp--style--global--wide-size, 1200px); margin-inline: auto; padding-inline: 1.25em; }
.bbr-references h2, .bbr-references h3, .bbr-references h4 { overflow-wrap: anywhere; }
.bbr-inner > h2 { text-align: center; }
.bbr-filters { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.65em; margin: 1.75em auto 2.25em; width: 100%; }
.bbr-filters button { appearance: none; display: flex; align-items: center; justify-content: center; text-align: center; background: transparent; color: inherit; border: 1px solid currentColor; border-color: color-mix(in srgb, currentColor 28%, transparent); border-radius: 6px; padding: 0.65em 0.5em; font: inherit; font-size: 14px; font-weight: 500; line-height: 1.4; letter-spacing: 0; min-height: 64px; width: 100%; min-width: 0; cursor: pointer; white-space: normal; overflow-wrap: anywhere; box-shadow: none; transition: background-color 150ms, border-color 150ms; }
.bbr-filters button[aria-pressed="true"] { border-color: var(--bbr-accent); background: color-mix(in srgb, var(--bbr-accent) 15%, transparent); box-shadow: inset 0 -3px 0 var(--bbr-accent); }
.bbr-filters button:hover { border-color: var(--bbr-accent); background: color-mix(in srgb, var(--bbr-accent) 9%, transparent); }
.bbr-references :focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.bbr-group + .bbr-group { margin-top: 2.5em; }
.bbr-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75em; }
.bbr-item { min-width: 0; overflow-wrap: anywhere; }
.bbr-link { display: block; }
.bbr-media { aspect-ratio: 4 / 3; overflow: hidden; }
.bbr-media img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; }
.bbr-client .bbr-media { aspect-ratio: 2 / 1; padding: 1.5em; }
.bbr-client .bbr-media img { object-fit: contain; }
.bbr-item h4 { margin-block: 0.75em 0.4em; }
.bbr-project-detail { max-width: var(--wp--style--global--content-size, 960px); margin-inline: auto; padding: 3em 1.25em; }
.bbr-project-detail h1 { overflow-wrap: anywhere; }
.bbr-project-body { color: inherit; font-family: inherit; overflow-wrap: anywhere; }
.bbr-project-categories { margin-block: 0 1.5em; }
.bbr-project-image { margin: 0 0 1.5em; }
.bbr-project-image img { display: block; max-width: 100%; height: auto; }
.bbr-project-external { margin-block: 1.5em; }
.bbr-project-body .bbr-project-back { margin: 1.6em 0 0; margin-top: 1lh; }
.bbr-project-body .bbr-home-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0.7em 1.5em; border: 1px solid var(--wp--preset--color--primary, var(--colibri-color-2, currentColor)); border-radius: 6px; background: transparent; background: color-mix(in srgb, var(--wp--preset--color--primary, var(--colibri-color-2, currentColor)) 12%, transparent); color: inherit; font: inherit; font-weight: 500; line-height: 1.4; text-align: center; text-decoration: none; transition: background-color 150ms; }
.bbr-project-body .bbr-home-button:hover { background: color-mix(in srgb, var(--wp--preset--color--primary, var(--colibri-color-2, currentColor)) 24%, transparent); color: inherit; text-decoration: none; }
.bbr-project-body .bbr-home-button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.bbr-description { overflow-wrap: anywhere; }
.bbr-description > :first-child { margin-top: 0; }
.bbr-description > :last-child { margin-bottom: 0; }
.bbr-description--plain-lists ul, .bbr-description--plain-lists ol { list-style: none !important; padding-inline-start: 0; margin-inline-start: 0; }
.bbr-description--plain-lists li { list-style: none !important; padding-inline-start: 0; margin-block: 0.35em; }
.bbr-description--plain-lists li::before, .bbr-description--plain-lists li::after, .bbr-description--plain-lists li::marker { content: none !important; }
.bbr-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1000px) { .bbr-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 800px) { .bbr-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bbr-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 480px) { .bbr-grid { grid-template-columns: minmax(0, 1fr); } .bbr-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
