/* Federal Brief — scoped to .fbrief so it sits inside any theme. Colors come from Settings via --fb-ink / --fb-accent. */
.fbrief { --fb-ink: #032D42; --fb-accent: #62D84E; --fb-line: rgba(3, 45, 66, .14); --fb-soft: rgba(3, 45, 66, .05); --fb-muted: #5b6b75; max-width: 860px; }
.fbrief * { box-sizing: border-box; }
.fbrief a { color: var(--fb-ink); }
.fbrief h2, .fbrief h3 { text-wrap: balance; }

.fbrief-btn { display: inline-flex; align-items: center; gap: .4em; background: var(--fb-accent); color: var(--fb-ink) !important; font-weight: 700; border: 0; border-radius: 999px; padding: .6em 1.2em; text-decoration: none !important; cursor: pointer; font-size: .95em; line-height: 1.2; }
.fbrief-btn:hover { filter: brightness(.95); }
.fbrief-btn:focus-visible, .fbrief input:focus-visible, .fbrief-chip:focus-visible { outline: 3px solid var(--fb-ink); outline-offset: 2px; }
.fbrief-btn-ghost { background: transparent; border: 1px solid var(--fb-line); }

.fbrief-cta { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between; background: var(--fb-ink); color: #fff; border-radius: 10px; padding: 16px 20px; margin: 0 0 20px; border-bottom: 5px solid var(--fb-accent); }
.fbrief-cta strong { display: block; font-size: 1.1em; }
.fbrief-cta span { opacity: .8; font-size: .92em; }

.fbrief-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 0 0 8px; }
.fbrief-filters input[type="search"] { flex: 1 1 220px; min-width: 0; padding: .55em .8em; border: 1px solid var(--fb-line); border-radius: 8px; font: inherit; }
.fbrief-chips { display: flex; flex-wrap: wrap; gap: 6px; flex: 1 1 100%; }
.fbrief-chip { padding: .35em .9em; border-radius: 999px; border: 1px solid var(--fb-line); text-decoration: none !important; font-size: .9em; font-weight: 600; }
.fbrief-chip.is-active { background: var(--fb-ink); color: #fff !important; border-color: var(--fb-ink); }

.fbrief-day { font-size: 1.15em; margin: 28px 0 8px; padding-left: 10px; border-left: 5px solid var(--fb-accent); color: var(--fb-ink); }
.fbrief-bluf { background: var(--fb-soft); border-radius: 8px; padding: 10px 14px; margin: 0 0 10px; }
.fbrief-bluf summary { cursor: pointer; font-weight: 700; font-size: .9em; color: var(--fb-ink); }
.fbrief-bluf p { margin: .6em 0 0; }

.fbrief-list { display: grid; gap: 0; }
.fbrief-story { display: grid; grid-template-columns: 132px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--fb-line); }
.fbrief-story:not(:has(.fbrief-thumb)) { grid-template-columns: 1fr; }
.fbrief-thumb img { display: block; width: 132px; height: 99px; object-fit: cover; border-radius: 8px; background: var(--fb-soft); }
.fbrief-body { min-width: 0; }
.fbrief-body h3 { margin: .2em 0 .35em; font-size: 1.12em; line-height: 1.3; }
.fbrief-body h3 a { text-decoration: none; }
.fbrief-body h3 a:hover { text-decoration: underline; }
.fbrief-body p { margin: 0 0 .5em; overflow-wrap: anywhere; }
.fbrief-meta { font-size: .82em; color: var(--fb-muted); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.fbrief-badge { font-size: .85em; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; padding: .15em .6em; border-radius: 999px; background: var(--fb-ink); color: #fff; }
.fbrief-badge.fbrief-sec-intel { background: #0E6670; }
.fbrief-badge.fbrief-sec-fsi { background: #2F6B1F; }
.fbrief-angle { background: rgba(98, 216, 78, .14); border-left: 3px solid var(--fb-accent); padding: 8px 10px; font-size: .93em; }

.fbrief-pages { display: flex; gap: 12px; align-items: center; justify-content: center; margin: 22px 0; flex-wrap: wrap; }
.fbrief-note { color: var(--fb-muted); }

.fbrief-subscribe { max-width: 560px; }
.fbrief-form { display: grid; gap: 12px; }
.fbrief-label { font-weight: 700; }
.fbrief-form input[type="email"] { width: 100%; padding: .65em .8em; border: 1px solid var(--fb-line); border-radius: 8px; font: inherit; }
.fbrief-sections { border: 1px solid var(--fb-line); border-radius: 10px; padding: 10px 14px 6px; margin: 0; display: grid; gap: 2px; }
.fbrief-sections legend { font-weight: 700; padding: 0 6px; }
.fbrief-check { display: flex; gap: 10px; align-items: flex-start; padding: 8px 0; cursor: pointer; }
.fbrief-check input { margin-top: .25em; width: 1.1em; height: 1.1em; accent-color: var(--fb-ink); }
.fbrief-check strong { display: inline-block; min-width: 6.5em; }
.fbrief-hint { font-size: .88em; color: var(--fb-muted); margin: 0; }
.fbrief-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 10px; }
.fbrief-notice { border-radius: 8px; padding: 12px 14px; margin: 0 0 16px; font-weight: 600; }
.fbrief-notice-ok { background: rgba(98, 216, 78, .18); border: 1px solid rgba(47, 107, 31, .35); color: #1d4a12; }
.fbrief-notice-err { background: #fdecea; border: 1px solid #f3b8b2; color: #8a1c12; }
.fbrief-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 560px) {
	.fbrief-story { grid-template-columns: 88px 1fr; gap: 12px; }
	.fbrief-thumb img { width: 88px; height: 66px; }
	.fbrief-check strong { min-width: 0; display: block; }
}
