/* ============================================================
 * page-press-v4.css
 *
 * Loaded only on the Press / Newsroom (v4) page template.
 *
 * Layout per MDR-OCA-News-v3:
 *   Hero            440 px tall, photo bg, dark overlay, centered title
 *   Controls        Single-row form: search input (424 x 49) + author select
 *   Card grid       3 columns desktop, 2 tablet, 1 mobile
 *   Card            Light Gray #F4F4F4 bg, 25 px padding, 16 px gap, flex col
 *     Image         Square 377 x 377 -> width:100% with 1:1 aspect-ratio
 *     Title         Montserrat 600 / 21 / 31 / Prussian Blue #243952
 *     Divider       1 px line, full width of card
 *     Excerpt       Montserrat 400 / 17 / 27 / Brand Black #18020C
 *     Read More     Montserrat 500 / 16 / 24 / uppercase / Gold #CAA45D
 *   Load More       Gold button .mdl-btn--gold (reused from home-v4.css)
 *   Strategic CTA   Reused from home-v4.css (no overrides needed)
 * ============================================================ */

/* ---------- HERO ----------------------------------------- *
 * No overlay tint - the full-color background photo shows through.
 * Title + subtitle sit at the BOTTOM of the hero (flex-end), with a
 * comfortable bottom padding so they don't crash into the photo edge. */
.mdl-press-v4 .mdl-press-hero {
	position: relative;
	min-height: 560px;                /* taller per design request */
	background: #243952 center center / cover no-repeat;
	color: #fff;
	display: flex;
	align-items: flex-end;            /* bottom alignment */
	justify-content: center;
	text-align: center;
	padding: 96px 32px 72px;          /* extra bottom space */
}
.mdl-press-v4 .mdl-press-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 920px;
	margin: 0 auto;
}
.mdl-press-v4 .mdl-press-hero__title {
	font-family: "Montserrat", sans-serif;
	font-weight: 700;                /* Bold per Figma */
	font-size: 46px;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 16px;
}
.mdl-press-v4 .mdl-press-hero__sub {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;                /* SemiBold per Figma */
	font-size: 21px;
	line-height: 31px;
	color: #fff;
	margin: 0;
}

/* ---------- CONTROLS  (search + filter) ------------------ *
 * Figma spec: underline-only inputs (no box border, no background),
 * 424 x 49 each, 24 px gap, total container 872 px wide.
 * Both inputs share an identical underline + typography spec so they
 * sit cleanly together as a single search row. */
.mdl-press-v4 .mdl-press-controls {
	max-width: 960px;            /* fits the 872 px Figma row + side padding */
	margin: 48px auto 32px;
	padding: 0 32px;
}
.mdl-press-v4 .mdl-press-controls__form {
	display: flex;
	gap: 24px;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

/* Shared input typography + underline (applies to both fields). */
.mdl-press-v4 .mdl-press-controls__field {
	position: relative;
	width: 424px;
	max-width: 100%;
}
.mdl-press-v4 .mdl-press-controls__field input,
.mdl-press-v4 .mdl-press-controls__field select {
	width: 100%;
	height: 49px;
	padding: 0 36px 0 0;          /* room for icon/chevron on the right */
	border: 0;
	border-bottom: 1px solid #506272;   /* Paynes Gray underline - Figma spec */
	background: transparent;
	color: #15071E;
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
	line-height: 20px;
	font-weight: 400;
	box-sizing: border-box;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	transition: border-color .15s ease;
}
.mdl-press-v4 .mdl-press-controls__field input:focus,
.mdl-press-v4 .mdl-press-controls__field select:focus {
	border-bottom-color: var(--mdl-gold, #CAA45D);
}
.mdl-press-v4 .mdl-press-controls__field input::placeholder {
	color: #15071E;
	opacity: 0.85;
}

/* === Specificity beat-down for parent-theme button rules ====================
 * The parent theme has a rule with selector specificity (0, 7, 1) that
 * paints every submit button with a colored background, padding, min-width,
 * etc. Our class-based selector below is only (0, 2, 0), so even with
 * !important the parent's same-importance rule + higher specificity wins.
 *
 * Solution: target the button by its ID `#mdl-press-search-submit`.
 * ID specificity is (1, 0, 0) which trumps any class-based selector.
 * The ID rule is duplicated below as the class-based rule (acts as a
 * fallback if someone forgets to add the id="" attribute in the markup). */
#mdl-press-search-submit,
#mdl-press-search-submit:hover,
#mdl-press-search-submit:focus,
#mdl-press-search-submit:active,
#mdl-press-search-submit:focus-visible,
.mdl-press-v4 .mdl-press-controls__submit,
.mdl-press-v4 .mdl-press-controls__submit:hover,
.mdl-press-v4 .mdl-press-controls__submit:focus,
.mdl-press-v4 .mdl-press-controls__submit:active,
.mdl-press-v4 .mdl-press-controls__submit:focus-visible {
	position: absolute !important;
	top: 50% !important;
	right: 0 !important;
	left: auto !important;
	bottom: auto !important;
	transform: translateY(-50%) !important;
	background-color: transparent !important;
	background-repeat: no-repeat !important;
	background-position: center center !important;
	background-size: 18px 18px !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'><path d='M17.0987 17.1002L13.19 13.1915M13.19 13.1915C13.8585 12.5229 14.3888 11.7292 14.7507 10.8556C15.1125 9.98201 15.2988 9.04574 15.2988 8.10021C15.2988 7.15466 15.1125 6.21839 14.7507 5.34482C14.3888 4.47125 13.8585 3.67751 13.19 3.00891C12.5213 2.34031 11.7275 1.80995 10.854 1.44811C9.98047 1.08626 9.0442 0.900024 8.09862 0.900024C7.15308 0.900024 6.2168 1.08626 5.34324 1.44811C4.46967 1.80995 3.67592 2.34031 3.00732 3.00891C1.65702 4.35921 0.898438 6.1906 0.898438 8.10021C0.898438 10.0098 1.65702 11.8412 3.00732 13.1915C4.35762 14.5418 6.18902 15.3004 8.09862 15.3004C10.0082 15.3004 11.8396 14.5418 13.19 13.1915Z' stroke='%23506272' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 30px !important;
	width: 30px !important;
	height: 30px !important;
	cursor: pointer !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	flex: 0 0 auto !important;
	text-shadow: none !important;
}
/* Gold magnifier on hover. */
#mdl-press-search-submit:hover,
.mdl-press-v4 .mdl-press-controls__submit:hover {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' fill='none'><path d='M17.0987 17.1002L13.19 13.1915M13.19 13.1915C13.8585 12.5229 14.3888 11.7292 14.7507 10.8556C15.1125 9.98201 15.2988 9.04574 15.2988 8.10021C15.2988 7.15466 15.1125 6.21839 14.7507 5.34482C14.3888 4.47125 13.8585 3.67751 13.19 3.00891C12.5213 2.34031 11.7275 1.80995 10.854 1.44811C9.98047 1.08626 9.0442 0.900024 8.09862 0.900024C7.15308 0.900024 6.2168 1.08626 5.34324 1.44811C4.46967 1.80995 3.67592 2.34031 3.00732 3.00891C1.65702 4.35921 0.898438 6.1906 0.898438 8.10021C0.898438 10.0098 1.65702 11.8412 3.00732 13.1915C4.35762 14.5418 6.18902 15.3004 8.09862 15.3004C10.0082 15.3004 11.8396 14.5418 13.19 13.1915Z' stroke='%23CAA45D' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
}
#mdl-press-search-submit > svg,
.mdl-press-v4 .mdl-press-controls__submit > svg { display: none !important; }

/* ============================================================
   "By Attorney" dropdown — custom control styled to match the
   main navigation dropdown (navy #243952 panel, white uppercase
   items, gold hover). Replaces the native <select>, whose open
   option list cannot be restyled to match the menu.
   `!important` on the paint-critical properties defeats the parent
   theme's high-specificity button/link rules (same approach the
   search-submit button uses above).
   ============================================================ */
.mdl-press-v4 .mdl-attorney-select { position: relative; width: 100%; }

/* Closed field: same underline + typography as the keyword input,
   with a down caret to signal it is clickable. */
#mdl-press-attorney-toggle,
.mdl-press-v4 .mdl-attorney-select__toggle {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: 49px !important;
	padding: 0 4px 0 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid #506272 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	color: #15071E !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 16px !important;
	line-height: 20px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	text-align: left !important;
	cursor: pointer !important;
	box-sizing: border-box !important;
}
.mdl-press-v4 .mdl-attorney-select__label {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mdl-press-v4 .mdl-attorney-select__caret {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	color: #506272;
	transition: transform .15s ease, color .15s ease;
}
#mdl-press-attorney-toggle:focus-visible {
	outline: 2px solid var(--mdl-gold, #CAA45D) !important;
	outline-offset: 2px !important;
}
/* Open state: desktop hover, or .is-open toggled by click/touch/keyboard. */
.mdl-press-v4 .mdl-attorney-select:hover .mdl-attorney-select__toggle,
.mdl-press-v4 .mdl-attorney-select.is-open .mdl-attorney-select__toggle {
	border-bottom-color: var(--mdl-gold, #CAA45D) !important;
}
.mdl-press-v4 .mdl-attorney-select:hover .mdl-attorney-select__caret,
.mdl-press-v4 .mdl-attorney-select.is-open .mdl-attorney-select__caret {
	transform: rotate(180deg);
	color: var(--mdl-gold, #CAA45D);
}

/* Open panel — mirrors `.mdl-nav-menu .sub-menu` from header-v4.css. */
.mdl-press-v4 .mdl-attorney-select__menu {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 100%;
	margin: 8px 0 0;
	padding: 8px 0;
	list-style: none;
	background: #243952;
	box-shadow: 0 12px 24px rgba(0,0,0,.25);
	border-radius: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(8px);
	transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
	z-index: 30;
	max-height: 360px;
	overflow-y: auto;
}
/* Invisible bridge across the 8px gap between the toggle and the menu, so
   moving the cursor down into the list doesn't drop :hover and snap it shut. */
.mdl-press-v4 .mdl-attorney-select__menu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -10px;
	height: 12px;
	background: transparent;
}
.mdl-press-v4 .mdl-attorney-select:hover .mdl-attorney-select__menu,
.mdl-press-v4 .mdl-attorney-select.is-open .mdl-attorney-select__menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition-delay: 0s;
}
.mdl-press-v4 .mdl-attorney-select__menu li { display: block; margin: 0; position: relative; }
.mdl-press-v4 .mdl-attorney-select__menu a {
	display: block !important;
	padding: 10px 20px !important;
	color: #fff !important;
	background: transparent !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	white-space: nowrap;
}
.mdl-press-v4 .mdl-attorney-select__menu a:hover,
.mdl-press-v4 .mdl-attorney-select__menu a:focus { color: #CAA45D !important; background: transparent !important; }
.mdl-press-v4 .mdl-attorney-select__menu li[aria-selected="true"] > a { color: #CAA45D !important; }

/* Golden custom scrollbar (the list scrolls past ~8 attorneys). */
.mdl-press-v4 .mdl-attorney-select__menu {
	scrollbar-width: thin;                                 /* Firefox */
	scrollbar-color: #CAA45D rgba(255,255,255,.12);        /* thumb · track (Firefox) */
}
.mdl-press-v4 .mdl-attorney-select__menu::-webkit-scrollbar {
	width: 8px;
}
.mdl-press-v4 .mdl-attorney-select__menu::-webkit-scrollbar-track {
	background: rgba(255,255,255,.10);
	border-radius: 8px;
	margin: 4px 0;
}
.mdl-press-v4 .mdl-attorney-select__menu::-webkit-scrollbar-thumb {
	background: #CAA45D;
	border-radius: 8px;
	border: 2px solid #243952;                             /* inset look against the navy panel */
	background-clip: padding-box;
}
.mdl-press-v4 .mdl-attorney-select__menu::-webkit-scrollbar-thumb:hover {
	background: #B5903F;
	background-clip: padding-box;
}

.mdl-press-v4 .mdl-press-controls__summary {
	text-align: center;
	margin: 24px 0 0;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	color: #506272;
}
.mdl-press-v4 .mdl-press-controls__reset {
	margin-left: 16px;
	color: var(--mdl-gold, #CAA45D);
	text-decoration: none;
	font-weight: 500;
}
.mdl-press-v4 .mdl-press-controls__reset:hover { text-decoration: underline; }

/* ---------- CARD GRID ------------------------------------ */
.mdl-press-v4 .mdl-press-list {
	padding: 32px 0 80px;
}
.mdl-press-v4 .mdl-press-list__wrap {
	max-width: 1366px;
	margin: 0 auto;
	padding: 0 32px;
}
.mdl-press-v4 .mdl-press-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

/* ---------- CARD (Figma exact spec - text-only) ---------- *
 * Per MDR-OCA-News-v3 the card has:
 *   - White background #FFFFFF
 *   - 1px Light Blue border #BECCD7
 *   - 25 px padding, 16 px gap, flex column
 *   - NO image - title -> divider -> excerpt -> Read More
 *   - Read More pinned to the BOTTOM so every card in a row is aligned
 *     even when excerpts have different lengths.
 * The parent CSS Grid stretches every card to the row height, then
 * `margin-top: auto` on .mdl-press-card__more anchors the Read More
 * link to the bottom of each card. */
.mdl-press-v4 .mdl-press-card {
	background: #FFFFFF;
	border: 1px solid #BECCD7;
	padding: 25px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	box-sizing: border-box;
	height: 100%;                     /* fill the grid row -> uniform card heights */
}

/* Title  -  Figma: Montserrat 600 / 21 / 31 / Prussian Blue */
/* Title - Figma exact: Montserrat 600 / 21 / 31 / no transform.
 * The parent theme has h2 rules at ~32px bold uppercase that win on
 * specificity alone; we use !important on every typography property
 * to override them. Matches the Figma comp under Typography panel
 * (Montserrat / SemiBold / 21 / 31 line-height / 0% letter-spacing). */
.mdl-press-v4 .mdl-press-card__title,
.mdl-press-v4 h2.mdl-press-card__title {
	font-family: "Montserrat", sans-serif !important;
	font-weight: 600 !important;
	font-size: 21px !important;
	line-height: 31px !important;
	letter-spacing: 0 !important;
	color: #243952 !important;
	margin: 0 !important;
	text-transform: none !important;
}
.mdl-press-v4 .mdl-press-card__title a {
	color: inherit;
	text-decoration: none;
}
.mdl-press-v4 .mdl-press-card__title a:hover {
	color: var(--mdl-gold, #CAA45D);
}

/* Horizontal divider  -  Figma "HorizontalBorder" full card width  */
.mdl-press-v4 .mdl-press-card__rule {
	width: 100%;
	height: 0;
	border: 0;
	border-top: 1px solid #BECCD7;
	margin: 0;
	align-self: stretch;
}

/* Excerpt  -  Figma: Montserrat 400 / 17 / 27 / Brand Black */
.mdl-press-v4 .mdl-press-card__excerpt {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 17px;
	line-height: 27px;
	color: #18020C;
	margin: 0;
	align-self: stretch;
	/* Clamp to ~5 lines so cards stay roughly aligned. Read More still
	 * sits at the bottom thanks to margin-top: auto below. */
	display: -webkit-box;
	-webkit-line-clamp: 5;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Read More  -  Figma: Montserrat 500 / 16 / 24 / uppercase / Gold *
 * `margin-top: auto` pushes it to the bottom of the flex column so
 * every card across a row has its Read More on the same baseline. */
.mdl-press-v4 .mdl-press-card__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--mdl-gold, #CAA45D);
	text-decoration: none;
	margin-top: auto;
}
.mdl-press-v4 .mdl-press-card__more:hover {
	color: var(--mdl-gold-dark, #B5903F);
}

/* ---------- LOAD MORE + EMPTY ---------------------------- */
.mdl-press-v4 .mdl-press-load {
	display: flex;
	justify-content: center;
	margin: 56px 0 0;
}
.mdl-press-v4 .mdl-press-empty {
	text-align: center;
	padding: 64px 24px;
	background: #F4F4F4;
}
.mdl-press-v4 .mdl-press-empty p {
	font-family: "Montserrat", sans-serif;
	font-size: 18px;
	color: #506272;
	margin: 0 0 24px;
}

/* ---------- Screen reader text  (in case home-v4.css doesn't define it) -- */
.mdl-press-v4 .mdl-screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	word-wrap: normal !important;
}

/* ---------- Responsive ----------------------------------- */
@media (max-width: 1024px) {
	.mdl-press-v4 .mdl-press-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}
@media (max-width: 768px) {
	.mdl-press-v4 .mdl-press-hero { min-height: 320px; padding: 60px 24px; }
	.mdl-press-v4 .mdl-press-hero__title { font-size: 34px; line-height: 1.2; }
	.mdl-press-v4 .mdl-press-hero__sub   { font-size: 17px; line-height: 26px; }
	.mdl-press-v4 .mdl-press-controls__form { gap: 16px; }
	.mdl-press-v4 .mdl-press-controls__field { width: 100%; }
}
@media (max-width: 560px) {
	.mdl-press-v4 .mdl-press-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.mdl-press-v4 .mdl-press-card { padding: 20px; }
	.mdl-press-v4 .mdl-press-card__title { font-size: 18px; line-height: 26px; }
	.mdl-press-v4 .mdl-press-card__excerpt { font-size: 15px; line-height: 24px; }
}

/* ============================================================
   Keyword input + Attorney select: force IDENTICAL styling.
   The parent theme paints <select> bold/prussian with high specificity;
   target by ID (1,0,0) so both controls match the same Figma spec.
   ============================================================ */
#mdl-press-q,
#mdl-press-author {
	color: #15071E !important;
	font-family: "Montserrat", sans-serif !important;
	font-size: 16px !important;
	line-height: 20px !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	background-color: transparent !important;
	text-shadow: none !important;
	height: 49px !important;
	border: 0 !important;
	border-bottom: 1px solid #506272 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 36px 0 0 !important;
}
#mdl-press-q::placeholder {
	color: #15071E !important;
	opacity: .85 !important;
	font-weight: 400 !important;
}
#mdl-press-author option {
	color: #15071E !important;
	font-weight: 400 !important;
	background: #fff !important;
}
#mdl-press-q:focus,
#mdl-press-author:focus { border-bottom-color: var(--mdl-gold, #CAA45D) !important; }

/* ============================================================
   Active-filter chips (mention-based attorney + keyword search)
   - Full-width light band holding gold pills + "Clear Results"
   - Result count sits just below, aligned to the card grid
   ============================================================ */
.mdl-press-v4 .mdl-press-active-band {
	background: #F4F4F4;
	margin: 8px 0 0;
	padding: 16px 0;
}
.mdl-press-v4 .mdl-press-active {
	max-width: 1366px;
	margin: 0 auto;
	padding: 0 32px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}
.mdl-press-v4 .mdl-press-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 7px 8px 7px 18px;
	border: 1px solid #CAA45D;
	background: #CAA45D;
	border-radius: 999px;
	color: #fff;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
}
.mdl-press-v4 .mdl-press-chip__label { white-space: nowrap; }
.mdl-press-v4 .mdl-press-chip__x {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	color: #CAA45D !important;
	font-size: 15px;
	line-height: 1;
	text-decoration: none !important;
	flex: 0 0 auto;
}
.mdl-press-v4 .mdl-press-chip__x:hover { background: #f2e8d5; }
.mdl-press-v4 .mdl-press-active__clear {
	margin-left: auto;
	color: var(--mdl-gold, #CAA45D);
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.mdl-press-v4 .mdl-press-active__clear:hover { text-decoration: underline; }
.mdl-press-v4 .mdl-press-count {
	max-width: 1366px;
	margin: 0 auto;
	padding: 16px 32px 0;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #15071E;
}
@media (max-width: 560px) {
	.mdl-press-v4 .mdl-press-active__clear { margin-left: 0; flex: 1 1 100%; }
}
