/* =============================================================================
   FLS Section Report — combined front-end styles.
   Consolidated from WPCode snippets 5772 (inline per-template <style> blocks)
   and 5799 (filter bar layout + dropdown contrast/legibility fixes).
   ========================================================================== */

/* ── Article template (single-fls-article.php) ── */
.fls-article-wrap{max-width:1100px;margin:0 auto;padding:2rem 1.5rem 3rem}
.fls-breadcrumb{font-size:13px;color:#888;margin-bottom:1.5rem}
.fls-breadcrumb a{color:#002A4D;text-decoration:none}
.fls-breadcrumb a:hover{text-decoration:underline}
.fls-breadcrumb span{margin:0 6px;color:#bbb}
/* Single navy badge for every content type — red stays reserved for CTAs
   and links only, matching the two-color system the mockups establish. */
.fls-type-badge{display:inline-block;background:#002A4D;color:#fff !important;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:3px;margin-bottom:1rem}
.fls-article-header{border-bottom:3px solid #002A4D;padding-bottom:1.25rem;margin-bottom:1.75rem}
.fls-article-header h1{font-size:clamp(22px,3vw,34px);color:#002A4D;line-height:1.25;margin:0 0 .75rem}
.fls-article-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;font-size:13px;color:#666;align-items:center}
.fls-article-meta .fls-meta-issue a{color:#c41230;font-weight:600;text-decoration:none}
.fls-article-meta .fls-meta-issue a:hover{text-decoration:underline}
.fls-article-body-wrap{display:grid;grid-template-columns:1fr 280px;gap:2.5rem;align-items:start}
@media(max-width:780px){.fls-article-body-wrap{grid-template-columns:1fr}}
.fls-article-content{font-size:16px;line-height:1.75;color:#222}
.fls-article-content p{margin-bottom:1.1em}
.fls-article-content h2{color:#002A4D;font-size:20px;margin:1.75em 0 .6em;border-left:4px solid #c41230;padding-left:.75rem}
.fls-article-content h3{color:#002A4D;font-size:17px;margin:1.5em 0 .5em}
.fls-article-content a{color:#c41230}
.fls-article-content blockquote{border-left:4px solid #002A4D;padding:.75rem 1rem;background:#f7f5ee;margin:1.5rem 0;color:#444;font-style:italic}
.fls-article-sidebar{position:sticky;top:100px}
.fls-sidebar-card{background:#f7f5ee;border:1px solid #e0ddd0;border-radius:6px;padding:1.25rem;margin-bottom:1.25rem}
.fls-sidebar-card h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#888;margin:0 0 .75rem}
.fls-sidebar-card p{font-size:14px;color:#444;margin:0;line-height:1.5}
.fls-sidebar-card a{color:#002A4D;font-weight:600;font-size:13px;text-decoration:none;display:inline-block;margin-top:.5rem}
.fls-sidebar-card a:hover{color:#c41230}
.fls-pdf-btn{display:block;background:#002A4D;color:#fff !important;text-align:center;padding:10px 1rem;border-radius:4px;font-size:13px;font-weight:700;text-decoration:none !important;margin-top:.75rem}
.fls-pdf-btn:hover{background:#c41230 !important}
.fls-author-block{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;background:#002A4D;color:#fff !important;border-radius:6px;margin-top:2rem}
.fls-author-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;flex-shrink:0;border:2px solid rgba(255,255,255,.3)}
.fls-author-info h4{font-size:15px;font-weight:700;color:#fff !important;margin:0 0 .3rem}
.fls-author-info p{font-size:13px;color:rgba(255,255,255,.8) !important;margin:0;line-height:1.5}
.fls-digest-wrap{background:#fffdf5;border:1px solid #e8e0cc;border-radius:6px;padding:1.5rem;margin-bottom:1.5rem}
.fls-digest-case-name{font-size:20px;font-weight:700;color:#002A4D;margin:0 0 .5rem}
.fls-digest-citation{font-size:13px;color:#666;font-style:italic;margin:0 0 1rem}
.fls-digest-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:13px;color:#888;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #e0ddd0}
.fls-digest-summary{font-size:15px;line-height:1.75;color:#333}
.fls-opinion-link{display:inline-block;margin-top:1rem;font-size:13px;font-weight:700;color:#c41230;text-decoration:none}
.fls-opinion-link::after{content:" \2192"}
.fls-opinion-link:hover{color:#002A4D}
.fls-back-nav{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #e0ddd0}
.fls-back-nav a{font-size:13px;font-weight:700;color:#002A4D;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem}
.fls-back-nav a:hover{color:#c41230}
.fls-back-nav a::before{content:"\2190"}
/* Top-of-page variant: same link styling, but sits above the content
   instead of closing it out, so no top border/divider is needed. */
.fls-back-nav--top{margin:1.5rem 0 0;padding-top:0;border-top:0}
/* Fixed aspect-ratio (mockup's hero proportions, 694x443) + object-fit:cover
   on both the video block and its featured-image fallback, so every single
   article page renders the same size/crop no matter what dimensions the
   client uploads — was max-height only, which let narrow/tall uploads distort. */
.fls-spotlight-image{width:100%;aspect-ratio:694/443;object-fit:cover;object-position:top;border-radius:6px;margin-bottom:1.5rem}
.fls-article-video{position:relative;display:block;border-radius:6px;overflow:hidden;text-decoration:none;margin-bottom:1.5rem}
.fls-article-video img{width:100%;aspect-ratio:694/443;object-fit:cover;object-position:top;display:block}
.fls-article-video-play{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:rgba(255,255,255,.9);border-radius:50%;color:#002A4D !important;font-size:20px;display:flex;align-items:center;justify-content:center}
.fls-article-video-caption{position:absolute;left:0;right:0;bottom:0;background:#c41230;color:#fff !important;text-align:center;font-size:13px;font-weight:700;letter-spacing:.03em;padding:.6rem 1rem}

/* ── Overview / filter page + issue archive shared layout ── */
.fls-overview-wrap,.fls-issue-archive-wrap{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 3rem}
.fls-overview-header,.fls-issue-archive-header{background:#002A4D;color:#fff !important;padding:2rem 2rem 1.75rem;border-radius:6px;margin-bottom:2rem;position:relative;overflow:hidden}
.fls-overview-header::after,.fls-issue-archive-header::after{content:'';position:absolute;right:-40px;top:-40px;width:200px;height:200px;background:rgba(196,18,48,.15);border-radius:50%}
.fls-overview-header h1,.fls-issue-archive-header h1{font-size:clamp(22px,3vw,32px);color:#fff !important;margin:0 0 .5rem;position:relative;z-index:1}
.fls-overview-header p,.fls-issue-archive-header p{font-size:15px;color:rgba(255,255,255,.75) !important;margin:0;position:relative;z-index:1}
.fls-overview-header .fls-result-count{font-size:13px;color:rgba(255,255,255,.6) !important;margin-top:.75rem;position:relative;z-index:1}
.fls-overview-layout,.fls-issue-archive-layout{display:grid;grid-template-columns:1fr;gap:1.5rem}

/* Filter bar — horizontal above grid (dark shell, matches page header).
   Class names below are Search & Filter v3's real markup, confirmed from
   plugin source (includes/fields/class-field.php add_html_class calls):
   .search-filter-field is the wrapper on every field, with modifier
   classes .search-filter-field--type-{choice|search|control} and
   .search-filter-field--input-type-{checkbox|text} /
   --control-type-submit. v3 has no single wrapping <form> around all
   fields the way v2.5 did (each field shortcode renders independently),
   so the flex layout below applies directly to .search-filter-field
   siblings inside .fls-filter-sidebar rather than a form child.

   The field's caption is NOT a <label> element — Search_Filter\Fields'
   label component (includes/frontend/class-label.php in search-filter
   core) defaults its `as` prop to "div" and renders
   <div class="search-filter-label">, only using a real <label> tag for a
   couple of input types. A prior rule here targeted the bare `label` tag,
   which this markup never matches, so captions fell through to the
   library's own default (dark) text color — illegible against this
   navy shell. Confirmed via computed styles in a real browser, not just
   reading the CSS. */
.fls-filter-sidebar{background:#002A4D;border-radius:6px;padding:1rem 1.5rem;display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;align-items:flex-start}
.fls-filter-sidebar h3{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.6) !important;margin:0 0 .75rem}
/* .fls-filter-row groups fields onto their own line inside the sidebar
   (see fls-overview-page.php) — flex-basis 100% makes each row wrap
   inside the sidebar's own flex-wrap, without touching fls-issue-archive.php,
   whose fields sit directly in .fls-filter-sidebar (no row wrapper) and so
   keep their existing single-row layout untouched. */
.fls-filter-row{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;align-items:flex-start}
.fls-filter-sidebar .search-filter-field{flex:1 1 160px;min-width:150px}
.fls-filter-sidebar .search-filter-field--type-control{flex:0 0 auto;align-self:flex-end}
.fls-filter-row--search .search-filter-field--type-search{flex:2 1 260px}
.fls-filter-sidebar .search-filter-field label,
.fls-filter-sidebar .search-filter-field .search-filter-label{font-size:12px;color:rgba(255,255,255,.9) !important;cursor:pointer;display:flex;align-items:center;gap:.4rem;margin:0 0 .3rem}
.fls-filter-sidebar .search-filter-field--type-choice input[type="checkbox"],
.fls-filter-sidebar .search-filter-field--type-choice input[type="radio"]{accent-color:#c41230}
.fls-filter-sidebar .search-filter-field--control-type-submit button,
.fls-filter-sidebar .search-filter-field--control-type-submit input[type="submit"]{background:#c41230;color:#fff !important;border:none;padding:8px 1.25rem;border-radius:4px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.fls-filter-sidebar .search-filter-field--control-type-submit button:hover,
.fls-filter-sidebar .search-filter-field--control-type-submit input[type="submit"]:hover{background:#fff;color:#002A4D !important}
.fls-filter-reset{display:inline-block;font-size:12px;color:rgba(255,255,255,.55) !important;margin-top:.75rem;text-decoration:none;flex-basis:100%}
.fls-filter-reset:hover{color:#fff !important}

/* Native text inputs in the filter bar — matches the site's existing
   dropdown convention (e.g. the Shop page's "Default sorting" control):
   white field, navy text, light border, brand-red focus accent.
   White-on-white/near-black-on-dark previously failed WCAG AA contrast. */
.fls-filter-sidebar .search-filter-field--type-search input[type="text"],
.fls-filter-sidebar select,
.fls-filter-sidebar input[type="text"]{
	height:38px;
	padding:0 10px;
	background:#fff;
	border:1px solid #ccc;
	border-radius:3px;
	color:#002A4D !important;
	font-size:14px;
	width:100%;
	box-sizing:border-box;
}
.fls-filter-sidebar input[type="text"]::placeholder{
	color:#767676;
}
.fls-filter-sidebar select:hover,
.fls-filter-sidebar select:focus,
.fls-filter-sidebar input[type="text"]:focus{
	border-color:#c41230;
	outline:none;
}
.fls-filter-sidebar select option{
	background:#fff;
	color:#002A4D;
}

/* Text visibility fixes — override theme */
.fls-card-title a{color:#002A4D !important}
.fls-card-title a:hover{color:#c41230 !important}
.fls-card-excerpt{color:#555 !important}
.fls-card-citation{color:#666 !important}
.fls-card-issue{color:#999 !important}
.fls-card-meta a{color:#c41230 !important}
.fls-card-body{background:#fff !important}
.fls-card-badge{color:#fff !important}
.fls-no-results h3{color:#002A4D !important}
.fls-no-results{color:#555 !important;text-align:center;padding:3rem;background:#f7f5ee;border-radius:6px}
.fls-results-toolbar{color:#555 !important}
.fls-results-toolbar strong{color:#002A4D !important}
.fls-pagination a,.fls-pagination span{color:#002A4D !important}
.fls-pagination .current{color:#fff !important}

/* Results area */
.fls-results-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;font-size:13px}

/* Card grid (overview page) */
.fls-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-bottom:2rem}
@media(max-width:640px){.fls-card-grid{grid-template-columns:1fr}}
.fls-card{background:#fff;border:1px solid #e0ddd0;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s}
.fls-card:hover{box-shadow:0 4px 16px rgba(0,42,77,.12);transform:translateY(-2px)}
.fls-card-thumb{aspect-ratio:16/9;overflow:hidden;background:#e8e4d9}
.fls-card-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.fls-card-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#002A4D 0%,#1a4a7a 100%)}
.fls-card-thumb-placeholder span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.85) !important}
.fls-card-body{padding:1rem;flex:1;display:flex;flex-direction:column}
.fls-card-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:2px;margin-bottom:.6rem}
.fls-card-title{font-size:15px;font-weight:700;color:#002A4D;line-height:1.35;margin:0 0 .5rem;flex:1}
.fls-card-title a{color:inherit;text-decoration:none}
.fls-card-excerpt{font-size:13px;line-height:1.55;margin:0 0 .75rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fls-card.is-digest .fls-card-body{background:#fffdf5}
.fls-card.is-digest .fls-card-title{font-size:14px}
.fls-card-citation{font-size:11px;font-style:italic;margin-bottom:.4rem}
.fls-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-top:auto;padding-top:.6rem;border-top:1px solid #e0ddd0}
.fls-card-meta a{font-size:12px;font-weight:700;text-decoration:none}

/* Pagination */
.fls-pagination{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}
.fls-pagination a,
.fls-pagination span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:4px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid #e0ddd0;background:#fff;transition:background .12s,color .12s}
.fls-pagination a:hover{background:#002A4D;color:#fff !important;border-color:#002A4D}
.fls-pagination .current{background:#c41230;border-color:#c41230}

/* ── Issue hub page (single-fls-issue.php) ── */
.fls-hub-wrap{max-width:1100px;margin:0 auto;padding:1.5rem 1.5rem 3rem}
.fls-hub-header{background:#002A4D;color:#fff !important;padding:2rem;border-radius:6px;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}
.fls-hub-header-left h1{font-size:clamp(20px,3vw,30px);color:#fff !important;margin:0 0 .4rem}
.fls-hub-header-left p{font-size:14px;color:rgba(255,255,255,.7) !important;margin:0}
.fls-hub-pdf-btn{display:inline-block;background:#c41230;color:#fff !important;font-size:13px;font-weight:700;padding:10px 1.25rem;border-radius:4px;text-decoration:none;white-space:nowrap}
.fls-hub-pdf-btn:hover{background:#a00f26}
.fls-hub-section{margin-bottom:2.5rem}
.fls-hub-section-header{background:#002A4D;color:#fff !important;padding:.5rem 1rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.6rem}
.fls-hub-section-header h2{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fff !important;margin:0}
.fls-hub-section-header::before{content:'';display:block;width:3px;height:16px;background:#c41230;flex-shrink:0}
.fls-chair-wrap{display:grid;grid-template-columns:160px 1fr;gap:1.5rem;background:#fdfbf5;border:1px solid #e0ddd0;border-radius:6px;padding:1.5rem}
@media(max-width:640px){.fls-chair-wrap{grid-template-columns:1fr}}
.fls-chair-photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border-radius:4px}
.fls-chair-content h3{font-size:18px;font-weight:700;color:#002A4D;margin:0 0 .75rem}
.fls-chair-content p{font-size:15px;line-height:1.7;color:#333;margin-bottom:.9em}
.fls-chair-sig{font-size:14px;color:#666;font-style:italic}
.fls-spotlight-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}
.fls-spotlight-card{background:#fff;border:1px solid #e0ddd0;border-radius:6px;overflow:hidden;display:flex;gap:1rem;padding:1rem;align-items:flex-start}
.fls-spotlight-photo{width:80px;height:80px;object-fit:cover;object-position:top;border-radius:50%;border:3px solid #002A4D;flex-shrink:0}
.fls-spotlight-initial{width:80px;height:80px;border-radius:50%;background:#002A4D;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff !important;font-weight:700}
.fls-spotlight-info h3{font-size:15px;font-weight:700;color:#002A4D;margin:0 0 .25rem;line-height:1.3}
.fls-spotlight-info .byline{font-size:12px;color:#c41230;font-weight:600;margin:0 0 .35rem}
.fls-spotlight-info p{font-size:13px;color:#666;margin:0 0 .5rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fls-spotlight-info a.more{font-size:12px;font-weight:700;color:#c41230;text-decoration:none}
.fls-hub-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem}
.fls-hub-card{background:#fff;border:1px solid #e0ddd0;border-radius:6px;padding:1rem;display:flex;flex-direction:column;transition:box-shadow .15s}
.fls-hub-card:hover{box-shadow:0 3px 12px rgba(0,42,77,.1)}
.fls-hub-card-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff !important;padding:2px 7px;border-radius:2px;margin-bottom:.5rem}
.fls-hub-card h3{font-size:14px;font-weight:700;color:#002A4D;line-height:1.35;margin:0 0 .4rem;flex:1}
.fls-hub-card h3 a{color:inherit;text-decoration:none}
.fls-hub-card h3 a:hover{color:#c41230}
.fls-hub-card p{font-size:13px;color:#555;line-height:1.55;margin:0 0 .6rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fls-hub-card-meta{font-size:12px;color:#888;margin-top:auto;padding-top:.5rem;border-top:1px solid #f0edd8}
.fls-hub-card-meta a{color:#c41230;font-weight:700;text-decoration:none}
.fls-digest-preview{background:#fffdf5;border:1px solid #e8e0cc;border-radius:6px;padding:1.25rem}
.fls-digest-entry{padding:.75rem 0;border-bottom:1px solid #ece6d4;display:flex;flex-direction:column;gap:.2rem}
.fls-digest-entry:last-of-type{border-bottom:0;padding-bottom:0}
.fls-digest-case{font-size:14px;font-weight:700;color:#002A4D}
.fls-digest-case a{color:inherit;text-decoration:none}
.fls-digest-case a:hover{color:#c41230}
.fls-digest-cite{font-size:12px;color:#888;font-style:italic}
.fls-digest-footer{margin-top:1rem;text-align:right}
.fls-digest-footer a{font-size:13px;font-weight:700;color:#c41230;text-decoration:none}
.fls-law-reviews-content{font-size:14px;color:#444;line-height:1.8}
.fls-law-reviews-content h2{font-size:13px;font-weight:700;text-transform:uppercase;color:#888;margin:1rem 0 .3rem}
.fls-notice-list{display:flex;flex-direction:column;gap:.75rem}
.fls-notice-item{background:#f7f5ee;border-left:3px solid #c41230;padding:.75rem 1rem;border-radius:0 4px 4px 0}
.fls-notice-item h3{font-size:14px;font-weight:700;color:#002A4D;margin:0 0 .3rem}
.fls-notice-item h3 a{color:inherit;text-decoration:none}
.fls-notice-item h3 a:hover{color:#c41230}
.fls-notice-item p{font-size:13px;color:#555;margin:0 0 .4rem;line-height:1.5}
.fls-pdf-cta{text-align:center;padding:2rem;background:#002A4D;border-radius:6px;margin-top:1rem}
.fls-pdf-cta p{color:rgba(255,255,255,.8) !important;margin:0 0 .75rem;font-size:15px}

/* ── Issue archive page (fls-issue-archive.php) ── */
.fls-issue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}
@media(max-width:640px){.fls-issue-grid{grid-template-columns:1fr}}
.fls-issue-card{background:#fff;border:1px solid #e0ddd0;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s,transform .15s;text-decoration:none}
.fls-issue-card:hover{box-shadow:0 4px 16px rgba(0,42,77,.12);transform:translateY(-2px)}
.fls-issue-card-top{background:linear-gradient(135deg,#002A4D 0%,#1a4a7a 100%);padding:2rem 1.25rem;text-align:center;position:relative}
.fls-issue-card-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff !important;padding:3px 10px;border-radius:2px;margin-bottom:.75rem}
.fls-issue-card-title{font-size:20px;font-weight:700;color:#fff !important;margin:0}
.fls-issue-card-body{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center}
.fls-issue-card-meta{font-size:12px;color:#666 !important}
.fls-issue-card-cta{font-size:12px;font-weight:700;color:#c41230 !important}

/* ---- Per-issue content listing (Articles / Columns / Case Digests) ---- */
.fls-content-list-wrap{max-width:1100px;margin:0 auto;padding:0 1.5rem 3rem}

.fls-content-list-banner{background:#002A4D;color:#fff !important;padding:1.25rem 1.5rem;margin:1.5rem 0;border-left:6px solid #c41230;display:flex;align-items:center;gap:1rem}
.fls-content-list-banner h1{color:#fff !important;text-transform:none !important;font-size:clamp(22px,3vw,30px);font-weight:800;margin:0;letter-spacing:.02em}
.fls-content-list-banner-divider{color:#c41230 !important;font-weight:700;font-size:22px}
.fls-content-list-banner-issue{color:#fff !important;font-size:clamp(18px,2.5vw,24px);font-weight:400}

.fls-content-list-hero{position:relative;background:#002A4D center/cover no-repeat;border-radius:2px;min-height:220px;display:flex;align-items:center;justify-content:center;margin-bottom:2rem;overflow:hidden}
.fls-content-list-hero::before{content:"";position:absolute;inset:0;background:rgba(0,20,40,.45)}
.fls-content-list-hero h2{position:relative;z-index:1;color:#fff !important;text-transform:none !important;font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:.04em;margin:0;text-align:center}

.fls-content-list-item{display:grid;grid-template-columns:220px 1fr;gap:1.75rem;padding:1.75rem 0;border-top:2px solid #c41230}
.fls-content-list-item:last-child{border-bottom:2px solid #c41230}
.fls-content-list-item-media img{width:100%;height:auto;border-radius:2px;display:block}
.fls-content-list-item-title{color:#002A4D !important;text-transform:none !important;font-size:20px;font-weight:700;line-height:1.3;margin:0 0 .35rem}
.fls-content-list-item-byline{color:#333;font-size:14px;font-weight:600;margin:0 0 .75rem}
.fls-content-list-item-excerpt{color:#333;font-size:15px;line-height:1.7;margin:0}
.fls-content-list-item-link{color:#c41230;font-weight:700;text-decoration:underline;white-space:nowrap;margin-left:.35rem}

.fls-content-list-cta-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.5rem 0}
.fls-content-list-cta{background:#002A4D;color:#fff !important;text-decoration:none !important;border-radius:2px;padding:1.75rem 1rem;text-align:center;display:flex !important;flex-direction:column;align-items:center;justify-content:center;gap:1rem;box-sizing:border-box;transition:background .15s}
.fls-content-list-cta:hover{background:#013a68}
.fls-content-list-cta.is-current{outline:2px solid #c41230;outline-offset:-2px}
.fls-content-list-cta-title{display:block;color:#fff !important;text-transform:none !important;font-size:22px;font-weight:800;letter-spacing:.03em;margin:0;padding:0;background:none !important}
.fls-content-list-cta.is-current .fls-content-list-cta-title{color:#c41230 !important}
.fls-content-list-cta-btn{display:inline-block;background:#c41230 !important;color:#fff !important;text-transform:none !important;font-size:13px;font-weight:700;padding:.5rem 1.25rem;border-radius:3px;margin:0}

.fls-content-list-footer{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e0ddd0}
.fls-content-list-footer-editors h4{color:#002A4D;font-size:16px;font-weight:800;margin:0 0 .75rem}
.fls-content-list-footer-editors p{font-size:14px;line-height:1.6;color:#333;margin:0 0 1rem}
.fls-content-list-footer-disclaimer{background:#fffdf8;border:1px solid #e8e0cc;border-radius:4px;padding:1.25rem 1.5rem}
.fls-content-list-footer-disclaimer h4{color:#002A4D;font-size:16px;font-weight:800;margin:0 0 .5rem}
.fls-content-list-footer-disclaimer p{font-size:13px;line-height:1.7;color:#444;font-style:italic;margin:0}

.fls-content-list-copyright{font-size:13px;font-style:italic;color:#555;margin-top:1.5rem}

@media (max-width:720px){
	.fls-content-list-item{grid-template-columns:1fr}
	.fls-content-list-cta-row{grid-template-columns:1fr}
	.fls-content-list-footer{grid-template-columns:1fr}
}

/* ---- Issue Hub page ---- */
.fls-hub-section-title{color:#002A4D !important;text-transform:uppercase !important;font-size:22px;font-weight:800;letter-spacing:.03em;margin:0 0 1.25rem;border-bottom:3px solid #c41230;padding-bottom:.5rem}

/* Video/photo column sized ~2:1 against the text column, matching the
   mockup's measured 694px:342px hero proportions (was 340px:1fr, which made
   the video the smaller element — backwards from the mockup). */
.fls-hub-chair{display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin-bottom:2.5rem;align-items:start}
.fls-hub-chair-video{position:relative;display:block;border-radius:4px;overflow:hidden;text-decoration:none}
/* Fixed aspect-ratio (mockup's 694x443 hero crop) + object-fit:cover so this
   block is a consistent size/crop regardless of what dimensions the client
   uploads for the video thumbnail or fallback photo. */
.fls-hub-chair-video img{width:100%;aspect-ratio:694/443;object-fit:cover;object-position:top;display:block}
img.fls-hub-chair-video{width:100%;aspect-ratio:694/443;object-fit:cover;object-position:top;display:block}
.fls-hub-chair-play{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;background:rgba(255,255,255,.9);border-radius:50%;color:#002A4D;font-size:20px;display:flex;align-items:center;justify-content:center}
.fls-hub-chair-caption{display:block;background:#c41230;color:#fff !important;text-align:center;font-size:13px;font-weight:700;letter-spacing:.03em;padding:.6rem 1rem}
.fls-hub-chair-content p{font-size:15px;line-height:1.7;color:#333;margin:0 0 1rem}
.fls-hub-chair-signature{max-width:140px;height:auto;display:block;margin:.5rem 0 .25rem}
.fls-hub-chair-name{font-weight:700;color:#002A4D;margin:0}
.fls-hub-chair-title{font-size:13px;color:#666;margin:0}

/* Divider banner between Notices and Law Reviews — matches the mockup's
   measured ~1140x260 (4.4:1) photo strip; object-fit:cover keeps that crop
   even though the source asset is a fixed static image. */
.fls-hub-divider-banner{width:100%;aspect-ratio:1140/260;overflow:hidden;border-radius:4px;margin-bottom:2.5rem}
.fls-hub-divider-banner img{width:100%;height:100%;object-fit:cover;display:block}

.fls-hub-section{margin-bottom:2.5rem}
/* Photo column widened from 200px to 270px to match the mockup's measured
   271px card-image width for Council Spotlight / In Memoriam / Judicial
   Spotlight / Trailblazers / In Brief. */
.fls-hub-feature-item{display:grid;grid-template-columns:270px 1fr;gap:1.75rem}
/* Council Spotlight / In Memoriam / Judicial Spotlight / Trailblazers can
   carry more than one honoree per issue — stack with breathing room and a
   divider between entries (matches .fls-hub-notice's rule-line convention
   below) so a second item doesn't read as part of the first. */
.fls-hub-feature-item + .fls-hub-feature-item{margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid #e0ddd0}
/* Fixed aspect-ratio (mockup's measured 271x236 crop) + object-fit:cover so
   every spotlight photo renders the same size/crop no matter what dimensions
   the client uploads. */
.fls-hub-feature-media img{width:100%;aspect-ratio:271/236;object-fit:cover;object-position:top;border-radius:4px;display:block}
.fls-hub-feature-title{color:#002A4D;font-size:19px;font-weight:700;margin:0 0 .35rem}
.fls-hub-feature-title a{color:#002A4D;text-decoration:none}
.fls-hub-feature-byline{font-size:13px;font-weight:600;color:#555;margin:0 0 .6rem}
.fls-hub-feature-excerpt{font-size:15px;line-height:1.7;color:#333;margin:0}
.fls-hub-feature-link{color:#c41230;font-weight:700;text-decoration:underline;margin-left:.35rem;white-space:nowrap}

.fls-hub-nominations{background:#f2ede0;border-radius:4px;padding:2rem;margin-bottom:2.5rem;text-align:center}
.fls-hub-nominations-title{color:#002A4D;font-size:20px;font-weight:800;margin:0 0 .25rem}
.fls-hub-nominations-subtitle{font-size:13px;font-weight:700;letter-spacing:.04em;color:#555;text-transform:uppercase;margin:0 0 1rem}
.fls-hub-nominations-intro{font-size:13px;color:#555;max-width:640px;margin:0 auto 1.5rem}
.fls-hub-nominations-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;text-align:left}
.fls-hub-nominations-cols h3{color:#002A4D;font-size:15px;margin:0 0 .75rem}
.fls-hub-nominations-cols p{font-size:14px;color:#333;margin:0 0 .4rem}
.fls-hub-nominations-group{margin-top:.75rem !important}
.fls-hub-nominations-note{font-size:13px;font-style:italic;color:#555;margin:1.5rem 0 0}

.fls-hub-notice{border-top:1px solid #e0ddd0;padding:1rem 0}
.fls-hub-notice h3{color:#002A4D;font-size:16px;margin:0 0 .4rem}
.fls-hub-notice p{font-size:14px;color:#333;line-height:1.6;margin:0}
.fls-hub-notice p a{color:#c41230;font-weight:700;margin-left:.35rem}

.fls-hub-law-reviews-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}
.fls-hub-law-reviews-cols h3{color:#002A4D;font-size:15px;margin:0 0 .5rem}
.fls-hub-law-reviews-cols p{font-size:13px;line-height:1.8;color:#333}

.fls-law-review-text{margin:0}
.fls-law-review-body.is-clampable .fls-law-review-text{max-height:220px;overflow:hidden;position:relative}
.fls-law-review-body.is-clampable .fls-law-review-text::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.5rem;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);pointer-events:none}
.fls-readmore-toggle:checked ~ .fls-law-review-text{max-height:none}
.fls-readmore-toggle:checked ~ .fls-law-review-text::after{display:none}
.fls-readmore-btn{display:inline-block;margin-top:.6rem;color:#c41230;font-weight:700;font-size:13px;cursor:pointer;text-decoration:underline}
.fls-readmore-label-less{display:none}
.fls-readmore-toggle:checked ~ .fls-readmore-btn .fls-readmore-label-more{display:none}
.fls-readmore-toggle:checked ~ .fls-readmore-btn .fls-readmore-label-less{display:inline}

.fls-hub-section-info{margin-bottom:2.5rem}
.fls-hub-section-info-cols{display:grid;grid-template-columns:1fr 2fr;gap:2rem}
.fls-hub-section-info-cols h3{color:#002A4D;font-size:14px;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem}
.fls-hub-section-info-cols p{font-size:13px;color:#333;line-height:1.6;margin:0 0 .6rem}
.fls-hub-council-terms{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.fls-hub-council-term h4{color:#002A4D;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .5rem}
.fls-hub-council-term p{font-size:13px;margin:0 0 .3rem}

@media (max-width:820px){
	.fls-hub-chair{grid-template-columns:1fr}
	.fls-hub-feature-item{grid-template-columns:1fr}
	.fls-hub-nominations-cols{grid-template-columns:1fr}
	.fls-hub-law-reviews-cols{grid-template-columns:1fr}
	.fls-hub-section-info-cols{grid-template-columns:1fr}
	.fls-hub-council-terms{grid-template-columns:1fr 1fr}
}
