/**
 * One Identity Child Theme — Press Center
 *
 * Covers four views: the listing page, the category archive, the tag archive
 * and the single press release.
 *
 * All IDs are namespaced with oi-press- so the parent theme's #left-sidebar /
 * #primary / #content float and negative margin layout never applies here.
 *
 * Colours, for a rebrand search and replace:
 *   #00a9e0  header and hero band
 *   #005c85  links, active state, focus ring
 *   #003d59  link hover
 *   #1c1c1c  headings, share icons
 *   #444444  body text
 *   #333333  meta text, rail links
 *   #e0e0e0  rules and borders
 *   #f4f4f4  tag pill background
 */

/* --------------------------------------------------------------------------
   Header
   Painted the same blue as the hero so the two read as one block.
   body + ID beats OceanWP's plain ID selectors without !important.

   If your header markup uses a different wrapper, add its selector to this
   list; #site-header is OceanWP's default and #header is the custom shell.
   -------------------------------------------------------------------------- */

body.press-center-template-default #site-header,
body.press-center-template-default #header,
body.page-template-template-press-center #site-header,
body.page-template-template-press-center #header,
body.single-press-center #site-header,
body.single-press-center #header,
body.tax-press-center-category #site-header,
body.tax-press-center-category #header,
body.tax-press-center-tag #site-header,
body.tax-press-center-tag #header {
	background: #00a9e0;
	border-bottom: 0;
	box-shadow: none;
}

/* --------------------------------------------------------------------------
   Hero band
   -------------------------------------------------------------------------- */

#oi-press-hero {
	background: #00a9e0;
	padding: 48px 0 64px;
}

#oi-press-hero .oi-press-hero-title {
	margin: 0;
	color: #fff;
	font-size: 48px;
	font-weight: 700;
	line-height: 1.1;
}

.oi-press-breadcrumb {
	margin-bottom: 16px;
}

#oi-press-hero .oi-press-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

#oi-press-hero .oi-press-breadcrumb li {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	list-style: none;
}

/* Separator drawn in CSS rather than emitted as markup, so screen readers
   announce only the real crumbs. */
#oi-press-hero .oi-press-breadcrumb li + li::before {
	content: "/";
	color: #fff;
	opacity: 0.7;
}

.oi-press-breadcrumb a {
	color: #fff;
	text-decoration: none;
}

/* Colour is restated on hover so no generic a:hover rule can override it;
   the underline is the only thing that changes. */
.oi-press-breadcrumb a:hover,
.oi-press-breadcrumb a:focus-visible {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* The current page. Plain text, never a link, dimmed slightly so the
   clickable crumbs read as clickable. */
.oi-press-breadcrumb .oi-press-crumb-current {
	color: #fff;
	opacity: 0.85;
	text-decoration: none;
}

/* --------------------------------------------------------------------------
   Two column wrap
   .container comes from OceanWP and supplies the max width and centring.
   -------------------------------------------------------------------------- */

#oi-press-wrap {
	display: grid;
	grid-template-columns: 320px minmax(0, 1fr);
	column-gap: 48px;
	align-items: start;
	padding-top: 48px;
	padding-bottom: 64px;
}

/* Grid items must not inherit float or width from the parent theme. */
#oi-press-rail,
#oi-press-main {
	float: none;
	max-width: none;
	margin: 0;
	min-width: 0;
}

/* Columns are pinned explicitly so the rail cannot land on the right if
   something else reorders the source. */
#oi-press-rail {
	grid-column: 1;
	width: 100%;
	max-width: 320px;
}

#oi-press-main {
	grid-column: 2;
	width: auto;
}

/* --------------------------------------------------------------------------
   List reset
   OceanWP styles bare ul/li inside content areas; every list in this section
   is structural, not prose.
   -------------------------------------------------------------------------- */

#oi-press-wrap ul,
#oi-press-wrap ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

#oi-press-wrap li {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

/* Prose inside the single post keeps normal list styling. */
.oi-press-single-content ul,
.oi-press-single-content ol {
	margin: 0 0 20px 20px;
	padding: 0;
	list-style: disc;
}

.oi-press-single-content ol {
	list-style: decimal;
}

.oi-press-single-content li {
	margin-bottom: 8px;
	list-style: inherit;
}

/* --------------------------------------------------------------------------
   Left rail
   -------------------------------------------------------------------------- */

.oi-press-rail-brand {
	margin-bottom: 24px;
}

.oi-press-rail-home {
	display: inline-block;
	line-height: 0;
}

.oi-press-rail-icon {
	width: 132px;
	height: auto;
}

.oi-press-rail-title {
	margin: 16px 0 0;
	color: #1c1c1c;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}

#oi-press-nav a {
	display: block;
	padding: 10px 0;
	color: #333;
	font-size: 15px;
	text-decoration: none;
}

#oi-press-nav a:hover {
	color: #003d59;
	text-decoration: underline;
}

#oi-press-nav .current-menu-item > a,
#oi-press-nav .current-cat > a {
	color: #005c85;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Term description
   -------------------------------------------------------------------------- */

.oi-press-term-description {
	max-width: 68ch;
	margin-bottom: 32px;
	color: #444;
	font-size: 16px;
	line-height: 1.6;
}

.oi-press-term-description p:last-child {
	margin-bottom: 0;
}

/* --------------------------------------------------------------------------
   Listing entries
   -------------------------------------------------------------------------- */

.oi-press-entry {
	padding: 0 0 28px;
	margin: 0 0 28px;
	border-bottom: 1px solid #e0e0e0;
}

.oi-press-entry:last-child {
	margin-bottom: 0;
}

/* Sits above the title. Smaller and lighter so the title stays the first
   thing read, while the date is still there to scan down the column. */
.oi-press-entry-date {
	margin: 0 0 6px;
	color: #666;
	font-size: 14px;
	line-height: 1.4;
}

.oi-press-entry-title {
	margin: 0 0 12px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}

.oi-press-entry-title a {
	color: #005c85;
	text-decoration: none;
}

.oi-press-entry-title a:hover {
	color: #003d59;
	text-decoration: underline;
}

.oi-press-entry-summary p {
	/* Cap the measure below 80 characters for readability. */
	max-width: 68ch;
	margin: 0 0 12px;
	color: #444;
	font-size: 16px;
	line-height: 1.6;
}

.oi-press-entry-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.oi-press-entry-category a {
	color: #333;
	font-size: 15px;
	text-decoration: none;
}

.oi-press-entry-category a:hover {
	color: #003d59;
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   Share links
   -------------------------------------------------------------------------- */

.oi-press-share {
	display: flex;
	align-items: center;
	gap: 14px;
}

.oi-press-share a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	min-height: 24px;
	color: #1c1c1c;
	font-size: 16px;
	text-decoration: none;
}

.oi-press-share a:hover {
	color: #003d59;
}

/* --------------------------------------------------------------------------
   Pagination
   -------------------------------------------------------------------------- */

#oi-press-pagination {
	padding-top: 32px;
}

#oi-press-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#oi-press-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid #e0e0e0;
	color: #005c85;
	font-size: 15px;
	text-decoration: none;
}

#oi-press-pagination a.page-numbers:hover {
	border-color: #005c85;
	color: #003d59;
}

#oi-press-pagination .page-numbers.current {
	background: #005c85;
	border-color: #005c85;
	color: #fff;
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Single
   -------------------------------------------------------------------------- */

.oi-press-single-title {
	margin: 0 0 8px;
	color: #1c1c1c;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.25;
}

.oi-press-single-date {
	margin: 0 0 24px;
	color: #333;
	font-size: 15px;
}

.oi-press-single-content p {
	max-width: 68ch;
	color: #444;
	font-size: 16px;
	line-height: 1.7;
}

/* Prevent layout shift from images without intrinsic sizing (CLS). */
.oi-press-single-content img {
	max-width: 100%;
	height: auto;
}

/* --------------------------------------------------------------------------
   Tags
   -------------------------------------------------------------------------- */

.oi-press-single-tags {
	padding-top: 24px;
	margin-top: 32px;
	border-top: 1px solid #e0e0e0;
}

.oi-press-tags-label {
	margin: 0 0 12px;
	color: #1c1c1c;
	font-size: 15px;
	font-weight: 700;
}

.oi-press-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.oi-press-tags a {
	display: inline-block;
	padding: 6px 12px;
	background: #f4f4f4;
	border: 1px solid #e0e0e0;
	color: #333;
	font-size: 14px;
	text-decoration: none;
}

.oi-press-tags a:hover {
	border-color: #005c85;
	color: #003d59;
}

.oi-press-single-footer {
	padding-top: 24px;
	margin-top: 32px;
	border-top: 1px solid #e0e0e0;
}

/* Tags already draw a top rule; drop the duplicate on the footer. */
.oi-press-single-tags + .oi-press-single-footer {
	border-top: 0;
	margin-top: 0;
}

/* --------------------------------------------------------------------------
   Empty state
   -------------------------------------------------------------------------- */

.oi-press-empty {
	color: #444;
	font-size: 16px;
}

/* --------------------------------------------------------------------------
   Focus
   Visible ring with 3:1 contrast against the background (WCAG 2.2 SC 2.4.11).
   -------------------------------------------------------------------------- */

#oi-press-wrap a:focus-visible,
#oi-press-hero a:focus-visible {
	outline: 2px solid #005c85;
	outline-offset: 2px;
}

#oi-press-hero a:focus-visible {
	outline-color: #fff;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 959px) {

	#oi-press-wrap {
		display: block;
		padding-top: 32px;
	}

	#oi-press-rail {
		max-width: none;
		margin-bottom: 40px;
	}
}

@media (max-width: 767px) {

	#oi-press-hero {
		padding: 32px 0 40px;
	}

	#oi-press-hero .oi-press-hero-title {
		font-size: 32px;
	}

	.oi-press-single-title {
		font-size: 26px;
	}

	.oi-press-entry-title {
		font-size: 20px;
	}
}

/* --------------------------------------------------------------------------
   OceanWP page header
   Hidden on every Press Center view: the hero already carries the h1.
   The whole container goes, not just the title, because the wrapper keeps
   its padding and background even when the text is hidden.
   -------------------------------------------------------------------------- */

body.press-center-template-default .page-header,
body.page-template-template-press-center .page-header,
body.single-press-center .page-header,
body.tax-press-center-category .page-header,
body.tax-press-center-tag .page-header {
	display: none;
}