/* Start custom CSS *//* Brecourt News & Press archive. Hooks are global classes: bc-card, bc-indicator, bc-title, bc-read, bc-badge, bc-feed, bc-featured-section, bc-filter-bar, bc-tab-*, bc-dot-*, bc-callout-title.
   Badges render [bc_category] (WPCode snippet). Elementor strips attributes from its output, so the
   category comes through as the tag: <b> press, <s> press-releases, <u> white-papers, <span> blog. */
/* Poppins everywhere, including linked text the theme would otherwise set in the system font */
[data-elementor-type="archive"], [data-elementor-type="archive"] * { font-family: "Poppins", sans-serif; }
::selection { background: #FAC61D; color: #000; }
.bc-callout-title span { color: #FAC61D; }

/* Category badge + title hover colour */
.bc-badge b, .bc-badge s, .bc-badge u { font-weight: inherit; text-decoration: none; }
.elementor .bc-badge:has(b) { background-color: #003B4F; }
.elementor .bc-badge:has(span) { background-color: #4E5B30; }
.elementor .bc-badge:has(u) { background-color: #005BA3; }
.elementor .bc-badge:has(s) { background-color: #5E3A7E; }
.elementor .bc-badge:not(:has(b, s, u, span)) { display: none; }

/* Card hover: gold square -> dash, title + READ colour, arrow nudge */
.elementor .bc-card .bc-indicator { transition: width .3s ease-out, height .3s ease-out, margin .3s ease-out; }
.bc-card:hover .bc-indicator { width: 40px; height: 4px; }
/* Featured card: the dash is 8px shorter than the square, so add it back as margin to keep the card height fixed */
.elementor .bc-featured-section .bc-card:hover .bc-indicator { width: 48px; margin-bottom: 28px; }
.bc-card:hover .bc-title { color: #434343; }
.bc-card:has(.bc-badge b):hover .bc-title { color: #003B4F; }
.bc-card:has(.bc-badge span):hover .bc-title { color: #4E5B30; }
.bc-card:has(.bc-badge u):hover .bc-title { color: #005BA3; }
.bc-card:has(.bc-badge s):hover .bc-title { color: #5E3A7E; }
.bc-card:hover .bc-read { color: #FAC61D; }
.bc-read .bc-arrow { display: inline-block; transition: transform .2s; }
.bc-card:hover .bc-read .bc-arrow { transform: translateX(4px); }

/* Category colour dots: brighter tints of the badge colours so they read at 8px */
.bc-dot-press::before, .bc-dot-pr::before, .bc-dot-blog::before, .bc-dot-wp::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 8px; vertical-align: 1px; }
.bc-dot-press::before { background: #1F7A99; }
.bc-dot-pr::before { background: #8A5CC2; }
.bc-dot-blog::before { background: #7A9447; }
.bc-dot-wp::before { background: #2E86D1; }

/* Active category tab (stays white on hover) */
body.blog .bc-tab-all,
body.blog .bc-tab-all:hover,
body.category-press-releases .bc-tab-pr,
body.category-press-releases .bc-tab-pr:hover,
body.category-press .bc-tab-press,
body.category-press .bc-tab-press:hover,
body.category-blog .bc-tab-blog,
body.category-blog .bc-tab-blog:hover,
body.category-white-papers .bc-tab-wp,
body.category-white-papers .bc-tab-wp:hover { background: #434343; border-color: #434343; color: #fff; }

/* Filter bar sticks under the fixed header from tablet up (on phones it wraps to ~210px, too tall to pin).
   The bc-sticky-filter snippet adds bc-stuck while it's pinned, which turns the bar dark grey so it
   doesn't blend into the white scrolled header: tabs go outlined white, the active tab goes solid white.
   It pins flush to the header's bottom edge (95px tall on tablet, 92px on desktop, both including a 2px
   bottom border), and the header drops that border while the bar is pinned so the two meet cleanly. */
@media (min-width: 768px) {
  .elementor.elementor-1319 .bc-filter-bar { position: sticky; top: calc(95px + var(--wp-admin--admin-bar--height, 0px)); z-index: 50; }
}
@media (min-width: 1025px) {
  .elementor.elementor-1319 .bc-filter-bar { top: calc(92px + var(--wp-admin--admin-bar--height, 0px)); }
}
body:has(.bc-filter-bar.bc-stuck) .header-main,
body:has(.bc-filter-bar.bc-stuck) .header-alt { border-bottom-color: transparent; }
.elementor.elementor-1319 .bc-filter-bar.bc-stuck { background-color: #434343; border-bottom-color: #434343; }
.elementor .bc-filter-bar.bc-stuck [class*="bc-tab-"] { background: transparent; border-color: rgba(255, 255, 255, .3); color: #fff; }
.elementor .bc-filter-bar.bc-stuck [class*="bc-tab-"]:hover { border-color: #FAC61D; color: #fff; }
body.blog .elementor .bc-filter-bar.bc-stuck .bc-tab-all,
body.category-press-releases .elementor .bc-filter-bar.bc-stuck .bc-tab-pr,
body.category-press .elementor .bc-filter-bar.bc-stuck .bc-tab-press,
body.category-blog .elementor .bc-filter-bar.bc-stuck .bc-tab-blog,
body.category-white-papers .elementor .bc-filter-bar.bc-stuck .bc-tab-wp { background: #fff; border-color: #fff; color: #434343; }

/* Featured story only on the first page of /blog/; hide its duplicate in the feed */
body:not(.blog) .bc-featured-section, body.paged .bc-featured-section { display: none; }
body.blog:not(.paged) .bc-feed > :first-child { display: none; }
/* WordPress adds sticky posts on top of the featured loop's 1-post limit, so show only the first item:
   the sticky post when there is one, otherwise the newest post. Matches the feed's hidden first card. */
.bc-featured-section [data-id="46067a33"] ~ [data-id="46067a33"] { display: none; }/* End custom CSS */