/* =====================================================================
   The Hyde Family Collection - theme.css
   Loads after the default theme's main.css (weight 200 vs 100) and
   restyles it: deep navy structure, orange accents, Playfair Display
   for display type over the inherited Lato body face.
   ===================================================================== */

/* ---------- Fonts ---------- */
@font-face {
	font-family: 'Playfair Display';
	src: url('PlayfairDisplay/PlayfairDisplay-Variable.woff2') format('woff2');
	font-weight: 400 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Playfair Display';
	src: url('PlayfairDisplay/PlayfairDisplay-Italic-Variable.woff2') format('woff2');
	font-weight: 400 900;
	font-style: italic;
	font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
	--hyde-navy: #003865;
	--hyde-navy-deep: #00274A;
	--hyde-orange: #E87722;
	--hyde-orange-dark: #C95F0E;
	--hyde-ink: #333F48;
	--hyde-muted: #6E7A85;
	--hyde-line: #E3E6EA;
	--hyde-wash: #F6F7F9;
	--hyde-serif: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--hyde-sans: 'lato', 'LatoLight', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* ---------- Base ---------- */
/* Nothing may pan the page sideways (full-bleed hero uses 100vw breakouts;
   iOS otherwise permits sub-pixel horizontal drift). `clip` avoids creating
   a scroll container, which would detach the sticky navbar; `hidden` is the
   fallback where clip is unsupported. */
html, body { overflow-x: hidden; overflow-x: clip; }
body {
	color: var(--hyde-ink);
	font-size: 16px;
	line-height: 1.65;
	background: #fff;
}
.container { max-width: 1280px; }
a { color: var(--hyde-orange-dark); }
a:hover, a:focus { color: var(--hyde-orange); text-decoration: none; }
a:focus, button:focus, input:focus { outline: 2px solid var(--hyde-orange); outline-offset: 2px; }
h1, .hydePageTitle, .hydeWorkTitle, .hydeArtistName, .hydeIntroTitle {
	font-family: var(--hyde-serif);
	color: var(--hyde-navy);
	text-transform: none;
	letter-spacing: 0;
}
.hydePageTitle { font-size: 34px; font-weight: 600; margin: 18px 0 20px 0; }
.hydeSectionLabel {
	font-family: var(--hyde-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--hyde-navy);
	border-bottom: 3px solid var(--hyde-orange);
	display: inline-block;
	padding-bottom: 6px;
	margin: 34px 0 18px 0;
}
.btn-primary, .btn-default {
	border-radius: 2px;
}
.btn-primary { background: var(--hyde-orange); border-color: var(--hyde-orange-dark); }
.btn-primary:hover, .btn-primary:focus { background: var(--hyde-orange-dark); border-color: var(--hyde-orange-dark); }

/* ---------- Header / navigation ---------- */
.navbar.hydeNav {
	background: var(--hyde-navy);
	border: 0;
	border-radius: 0;
	margin-bottom: 0;
	position: sticky;
	top: 0;
	z-index: 1030;
	box-shadow: 0 1px 0 rgba(255,255,255,0.06), 0 2px 14px rgba(0,20,40,0.25);
}
.hydeNav .navbar-brand { height: auto; padding: 18px 15px; }
.hydeWordmark {
	font-family: var(--hyde-serif);
	font-size: 21px;
	font-weight: 600;
	color: #fff;
	letter-spacing: 0.01em;
	white-space: nowrap;
}
.hydeWordmark em { font-style: italic; color: #fff; font-weight: 500; }
.hydeNav .navbar-brand:hover .hydeWordmark, .hydeNav .navbar-brand:focus .hydeWordmark { color: #fff; }
.hydeNav .navbar-brand:hover .hydeWordmark em { color: var(--hyde-orange); }
.hydeNav .navbar-nav > li > a {
	color: rgba(255,255,255,0.85);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding-top: 12px;
	padding-bottom: 12px;
	border-bottom: 3px solid transparent;
	background: transparent;
}
/* Desktop: one 72px row with brand, nav items and search all vertically centered */
@media (min-width: 768px) {
	.hydeNav .navbar-brand {
		display: flex;
		align-items: center;
		height: 72px;
		padding: 0 15px;
	}
	.hydeNav .navbar-nav > li > a {
		display: flex;
		align-items: center;
		height: 72px;
		/* 3px top padding drops the all-caps glyph band 1.5px to the bar's
		   true optical center, aligning it with the search placeholder
		   (measured on 2x captures: caps center 34.5 -> 36.0) */
		padding-top: 3px;
		padding-bottom: 0;
		box-sizing: border-box;
		border-bottom: 3px solid transparent;
	}
	.hydeNav .navbar-form {
		display: flex;
		align-items: center;
		height: 72px;
		margin: 0;
		padding: 0 0 0 12px;
		border: 0;
		box-shadow: none;
	}
	.hydeNav .navbar-form .form-group { margin: 0; }
}
.hydeNav .navbar-nav > li > a:hover,
.hydeNav .navbar-nav > li > a:focus,
.hydeNav .navbar-nav > li.active > a,
.hydeNav .navbar-nav > li.active > a:hover,
.hydeNav .navbar-nav > li.active > a:focus {
	color: #fff;
	background: transparent;
	border-bottom-color: var(--hyde-orange);
}
.hydeNav .navbar-toggle { border-color: rgba(255,255,255,0.4); }
.hydeNav .navbar-toggle .icon-bar { background-color: #fff; }
.hydeNav .navbar-toggle:hover, .hydeNav .navbar-toggle:focus { background: var(--hyde-navy-deep); }
.hydeNav .navbar-collapse { border-top: 0; background: transparent; }
@media (max-width: 767px) {
	.hydeNav .navbar-collapse { background: var(--hyde-navy-deep); }
	.hydeNav .navbar-nav > li > a { padding: 12px 15px; border-bottom: 0; }
}
/* Search pill: every vertical dimension pinned so the placeholder text sits
   dead-center of the pill, and the pill dead-center of the 72px bar. */
.hydeNav .formOutline {
	border: 1px solid rgba(255,255,255,0.45);
	border-radius: 999px;
	background: rgba(255,255,255,0.08);
	height: 40px;
	padding: 0 6px 0 16px;
	margin: 0;
	display: flex;
	align-items: center;
}
.hydeNav .navbar-form .form-group {
	display: flex;
	align-items: center;
	margin: 0;
}
.hydeNav .form-control {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: #fff;
	width: 170px;
	height: 38px;
	line-height: 36px;  /* 1px optical lift: lowercase placeholder vs caps nav items */
	padding: 0;
	margin: 0;
	font-size: 13.5px;
}
.hydeNav .form-control::placeholder { color: rgba(255,255,255,0.65); }
.hydeNav .btn-search {
	background: transparent;
	border: 0;
	color: var(--hyde-orange);
	height: 38px;
	width: 34px;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hydeNav .btn-search .glyphicon { top: 0; }  /* bootstrap nudges glyphicons down 1px */
.hydeNav .btn-search:hover { color: #fff; }

/* ---------- Front page hero ---------- */
#pageArea { padding-top: 0; }
/* Browse pages: breathing room between the sticky navbar and the results header */
#pageArea.browse { padding-top: 28px; }
.hydeHero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	height: 72vh;
	min-height: 420px;
	overflow: hidden;
	background: var(--hyde-navy-deep);
}
.hydeHero .hydeHeroImage img {
	width: 100%;   /* track the hero box, not the viewport */
	height: 72vh;
	min-height: 420px;
	object-fit: cover;
	display: block;
}
.hydeHeroScrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,25,48,0.05) 40%, rgba(0,25,48,0.78) 100%);
	pointer-events: none;
}
.hydeHeroContent {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: 0 6vw 42px 6vw;
	display: flex;
	flex-direction: column;
	gap: 22px;
	align-items: flex-start;
}
.hydeHeroSearch form {
	display: flex;
	background: rgba(255,255,255,0.96);
	border-radius: 3px;
	overflow: hidden;
	width: min(560px, 88vw);
	box-shadow: 0 10px 30px rgba(0,15,30,0.35);
}
.hydeHeroSearch input {
	flex: 1;
	border: 0;
	padding: 15px 18px;
	font-size: 16px;
	color: var(--hyde-ink);
	background: transparent;
}
.hydeHeroSearch input:focus { outline: none; }
.hydeHeroSearch button {
	border: 0;
	background: var(--hyde-orange);
	color: #fff;
	padding: 0 22px;
	font-size: 16px;
}
.hydeHeroSearch button:hover { background: var(--hyde-orange-dark); }
.hydeHeroCaption {
	font-family: var(--hyde-serif);
	font-size: 26px;
	color: #fff;
	text-shadow: 0 1px 12px rgba(0,10,20,0.5);
}
.hydeHeroCaption a { color: #fff; }
.hydeHeroCaption a:hover { color: var(--hyde-orange); }
.hydeHeroArtist {
	display: block;
	font-family: var(--hyde-sans);
	font-size: 15px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.85);
	margin-top: 6px;
}
@media (max-width: 767px) {
	.hydeHero, .hydeHero .hydeHeroImage img { height: 52vh; min-height: 320px; }
	.hydeHeroCaption { font-size: 20px; }
	/* Mobile full-bleed WITHOUT 100vw: the container is viewport-wide here,
	   so plain negative margins bleed over the 15px gutters. This breaks the
	   hero-width -> container-width -> hero-position circularity that made
	   iOS lay the page out 30px too wide (see body > .container note). */
	.hydeHero {
		width: auto;
		margin-left: -15px;
		margin-right: -15px;
	}
}

/* ---------- Front intro + galleries strip ---------- */
.hydeFrontIntro { padding: 52px 0 8px 0; }
.hydeIntroTitle { font-size: 30px; line-height: 1.35; margin-bottom: 14px; }
.hydeIntroText { color: var(--hyde-muted); font-size: 17px; max-width: 640px; margin: 0 auto; }
.hydeFrontGalleries { padding-bottom: 40px; }
.hydeGalleryLinkList li { margin-bottom: 8px; }
.hydeGalleryLinkList a {
	display: inline-block;
	font-family: var(--hyde-serif);
	font-size: 20px;
	color: var(--hyde-navy);
	padding: 4px 0;
	border-bottom: 2px solid transparent;
}
.hydeGalleryLinkList a:hover { color: var(--hyde-orange-dark); border-bottom-color: var(--hyde-orange); }

/* ---------- Result cards ---------- */
/* The default theme fixes the column at 290px, clips content at 240px and
   "expands" on hover - neutralize all of that: full text always visible,
   uniform card height via a fixed image band + min-height text block. */
.bResultItemCol { height: auto; margin-bottom: 26px; }
.bResultItemContent { height: auto; overflow: visible; }
.bResultItem.hydeCard, .bResultItem {
	background: #fff;
	border: 1px solid var(--hyde-line);
	border-radius: 2px;
	padding: 0;
	transition: box-shadow 0.18s ease, transform 0.18s ease;
	overflow: hidden;
}
.bResultItem:hover, .bResultItem:focus, .bResultItem:active {
	background: #fff;
	box-shadow: 0 8px 26px rgba(0,40,70,0.14);
	transform: translateY(-2px);
	/* undo the default theme's hover-expansion hack */
	font-size: inherit;
	height: auto;
	min-height: 0;
	margin: 0;
	position: static;
	z-index: auto;
}
.bResultItem:hover .bResultItemContent, .bResultItem:hover .bResultItemImg {
	background: #fff;
	height: auto;
	min-height: 0;
	max-height: none;
}
.hydeCardImg, .bResultItem .bResultItemImg {
	background: var(--hyde-wash);
	height: 260px;
	min-height: 260px;
	max-height: 260px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	margin-bottom: 0;
}
.bResultItem:hover .bResultItemImg { background: var(--hyde-wash); height: 260px; max-height: 260px; }
.bResultItem .bResultItemImg img {
	max-height: 244px;
	max-width: 92%;
	width: auto;
	height: auto;
	box-shadow: 0 2px 10px rgba(0,20,40,0.18);
}
.hydeCardText {
	padding: 14px 16px 16px 16px;
	text-align: left;
	/* fixed height = identical card heights, so the float grid never snags:
	   fits 3-line title + 2-line artist + date (all line-clamped) */
	height: 164px;
	overflow: hidden;
}
.hydeCardTitle a {
	font-family: var(--hyde-serif);
	font-size: 17px;
	font-weight: 600;
	color: var(--hyde-navy);
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.hydeCardTitle a:hover { color: var(--hyde-orange-dark); }
.hydeCardArtist {
	font-size: 13.5px;
	color: var(--hyde-ink);
	margin-top: 5px;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.hydeCardDate { font-size: 12.5px; color: var(--hyde-muted); margin-top: 3px; }

/* ---------- Browse chrome: criteria chips, letter bar, facets ---------- */
/* Only one result view is offered - no need for view-switcher buttons */
#bViewButtons { display: none; }
.bCriteria { margin: 6px 0 14px 0; }
.bCriteria .btn, .bCriteria a.btn {
	background: var(--hyde-navy);
	color: #fff;
	border: 0;
	border-radius: 999px;
	padding: 4px 12px;
	font-size: 12.5px;
}
.bCriteria .glyphicon { color: var(--hyde-orange); }
#bLetterBar a { color: var(--hyde-muted); padding: 0 3px; font-weight: 600; }
#bLetterBar a:hover, #bLetterBar a.active { color: var(--hyde-orange-dark); }
#bRefine h2, #bRefine h3, #bRefineButton {
	font-family: var(--hyde-sans);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hyde-navy);
}
#bRefine h2 { border-bottom: 3px solid var(--hyde-orange); display: inline-block; padding-bottom: 5px; }
#bRefine a { color: var(--hyde-ink); }
#bRefine a:hover { color: var(--hyde-orange-dark); }
.bFilterCount { color: var(--hyde-muted); font-size: 12px; }
.browseFacetItem { margin-bottom: 6px; }

/* ---------- Artwork detail ---------- */
.hydeDetailMedia { padding-top: 8px; }
.hydeTombstone { padding-top: 8px; }
.hydeWorkTitle { font-size: 32px; font-weight: 600; line-height: 1.25; margin: 0 0 8px 0; }
.hydeWorkArtist { font-size: 17px; color: var(--hyde-ink); margin-bottom: 18px; }
.hydeWorkArtist a { color: var(--hyde-orange-dark); font-weight: 600; }
.hydeWorkArtist a:hover { color: var(--hyde-orange); }
.hydeWorkDescription { margin: 0 0 22px 0; color: var(--hyde-ink); }
.hydeWorkDescription p { margin-bottom: 10px; }
.hydeSpecs { margin: 0; border-top: 1px solid var(--hyde-line); }
.hydeSpecRow {
	display: grid;
	grid-template-columns: 132px 1fr;
	gap: 14px;
	padding: 9px 0;
	border-bottom: 1px solid var(--hyde-line);
}
.hydeSpecRow dt {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--hyde-muted);
	padding-top: 3px;
	text-align: left;
	white-space: normal;
}
.hydeSpecRow dd { margin: 0; font-size: 14.5px; color: var(--hyde-ink); }
#detailTools { border-top: 0; margin-top: 18px; }
#detailTools .detailTool, #detailTools .detailTool a { color: var(--hyde-muted); font-size: 13px; }
#detailTools .detailTool a:hover { color: var(--hyde-orange-dark); }
#detailTools .glyphicon { color: var(--hyde-orange); margin-right: 6px; }
.navLeftRight a, .navTop a { color: var(--hyde-muted); }
.navLeftRight a:hover, .navTop a:hover { color: var(--hyde-orange-dark); }
.hydeMoreByArtist { margin-top: 30px; }
.hydeMoreCard { margin-bottom: 18px; }
.hydeMoreCard a { display: block; }
.hydeMoreImg {
	background: var(--hyde-wash);
	height: 140px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid var(--hyde-line);
}
.hydeMoreImg img { max-height: 126px; max-width: 90%; width: auto; height: auto; }
.hydeMoreTitle {
	font-family: var(--hyde-serif);
	font-size: 13.5px;
	color: var(--hyde-navy);
	margin-top: 7px;
	line-height: 1.3;
}
.hydeMoreCard a:hover .hydeMoreTitle { color: var(--hyde-orange-dark); }

/* ---------- Artist page ---------- */
.hydeArtistHeader { margin-top: 14px; margin-bottom: 6px; }
.hydeArtistPortrait img {
	max-width: 100%;
	height: auto;
	border: 1px solid var(--hyde-line);
	box-shadow: 0 4px 18px rgba(0,20,40,0.12);
}
/* Click-to-zoom portrait: the whole thumbnail is a button with a hover hint */
.hydePortraitZoom {
	display: block;
	position: relative;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
	line-height: 0;
}
.hydePortraitZoom:focus { outline: 2px solid var(--hyde-orange); outline-offset: 3px; }
.hydePortraitZoomHint {
	position: absolute;
	right: 8px;
	bottom: 8px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	color: #fff;
	background: rgba(0,25,48,0.55);
	border-radius: 50%;
	font-size: 14px;
	opacity: 0;
	transition: opacity 0.15s ease;
	pointer-events: none;
}
.hydePortraitZoom:hover .hydePortraitZoomHint,
.hydePortraitZoom:focus .hydePortraitZoomHint { opacity: 1; }
/* Lightbox overlay */
.hydePortraitLightbox {
	position: fixed;
	inset: 0;
	z-index: 2000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4vmin;
	background: rgba(0,15,30,0.9);
	cursor: zoom-out;
}
.hydePortraitLightbox[hidden] { display: none; }
.hydePortraitLightboxImg {
	max-width: 96vw;
	max-height: 92vh;
	box-shadow: 0 10px 40px rgba(0,0,0,0.5);
	background: #fff;
}
.hydePortraitLightboxClose {
	position: absolute;
	top: 14px;
	right: 20px;
	width: 44px;
	height: 44px;
	border: 0;
	background: none;
	color: #fff;
	font-size: 34px;
	line-height: 44px;
	cursor: pointer;
	opacity: 0.85;
}
.hydePortraitLightboxClose:hover { opacity: 1; }
.hydePortraitCredit {
	margin-top: 8px;
	font-size: 11.5px;
	line-height: 1.4;
	color: var(--hyde-muted);
}
.hydePortraitCredit a { color: var(--hyde-muted); text-decoration: underline; }
.hydePortraitCredit a:hover { color: var(--hyde-orange-dark); }
.hydeArtistName { font-size: 36px; font-weight: 600; margin: 0 0 6px 0; }
.hydeArtistDates { font-size: 15px; color: var(--hyde-muted); letter-spacing: 0.02em; margin-bottom: 2px; }
.hydeArtistPlaces { font-size: 13.5px; color: var(--hyde-muted); margin-bottom: 16px; }
.hydeArtistBio { max-width: 720px; }
.hydeArtistBio p { margin: 0 0 14px 0; }
/* "Sources" block inside researched biographies (h4 + ordered list) */
.hydeArtistBio h4 {
	font-family: var(--hyde-sans);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hyde-navy);
	margin: 26px 0 10px 0;
}
.hydeArtistBio ol { font-size: 13px; color: var(--hyde-muted); padding-left: 20px; margin-bottom: 0; }
.hydeArtistBio ol li { margin-bottom: 6px; }
.hydeArtistBio ol a { color: var(--hyde-muted); text-decoration: underline; }
.hydeArtistBio ol a:hover { color: var(--hyde-orange-dark); }
.hydeArtistBio p { margin-bottom: 12px; }
.hydeArtistLink { margin-top: 12px; }
.hydeArtistLink a { font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }

/* ---------- Galleries ---------- */
.hydeGalleryIntro { max-width: 760px; font-size: 16.5px; color: var(--hyde-ink); margin-bottom: 26px; }
.hydeGalleryGrid { margin-top: 6px; }
.hydeGalleryCardCol { margin-bottom: 26px; }
.hydeGalleryCard {
	border: 1px solid var(--hyde-line);
	background: #fff;
	transition: box-shadow 0.18s ease, transform 0.18s ease;
	overflow: hidden;
}
.hydeGalleryCardCol a:hover .hydeGalleryCard {
	box-shadow: 0 8px 26px rgba(0,40,70,0.14);
	transform: translateY(-2px);
}
.hydeGalleryCardImg {
	background: var(--hyde-wash);
	height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.hydeGalleryCardImg img { max-height: 204px; max-width: 92%; width: auto; height: auto; }
.hydeGalleryCardText { padding: 14px 16px; }
.hydeGalleryCardText h3 {
	font-family: var(--hyde-serif);
	font-size: 18px;
	color: var(--hyde-navy);
	margin: 0 0 4px 0;
	text-transform: none;
}
.hydeGalleryCardText p { font-size: 12.5px; color: var(--hyde-muted); margin: 0; text-transform: uppercase; letter-spacing: 0.06em; }
.hydeGalleryCardCol a:hover h3 { color: var(--hyde-orange-dark); }

/* ---------- About ---------- */
.hydeAboutPage { padding: 10px 0 40px 0; font-size: 16.5px; }
.hydeAboutBody p { margin-bottom: 14px; }

/* ---------- Footer ---------- */
/* The default theme pins #footer as an 80px absolute bar with an 82px body
   margin below it - undo all of that so the navy band sizes to its content
   and nothing white trails after it. Sticky-footer flex layout keeps the
   navy band at the viewport bottom even on short pages. */
html { min-height: 100%; background: var(--hyde-navy-deep); }
body {
	margin-bottom: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: #fff;
}
body > .container { flex: 1 0 auto; }
/* body is a column flex container (sticky footer above), which makes
   .container a flex item. iOS WebKit sizes a stretched flex item to its
   min-content width when a descendant cannot shrink (the 100vw hero), so
   the container came out viewport+30px wide on iPhones - shifting all
   content right and clipping it at the right edge. An explicit width
   removes the ambiguity; max-width still caps it on desktop. */
body > .container { width: 100%; }
#footer.hydeFooter {
	position: static;
	height: auto;
	line-height: 1.5;
	background: var(--hyde-navy-deep);
	color: rgba(255,255,255,0.75);
	margin: 60px 0 0 0;
	padding: 40px 15px;
	border-top: 4px solid var(--hyde-orange);
	border-bottom: 0;
}
.hydeFooterInner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
}
.hydeFooterInner .hydeWordmark { font-size: 22px; }
.hydeFooterCredit { color: rgba(255,255,255,0.45); font-size: 12.5px; }
#footer.hydeFooter a { color: rgba(255,255,255,0.45); text-decoration: none; }
#footer.hydeFooter a:hover { color: var(--hyde-orange); }

/* ---------- Misc inherited-widget polish ---------- */
.jcarousel-wrapper { margin: 0; }
#skipNavigation a { background: var(--hyde-navy); color: #fff; }
.pageArea { min-height: 55vh; }
.hydeIntroTitle { font-weight: 600; color: var(--hyde-navy); }
.detailNavBgLeft, .detailNavBgRight { background: transparent; }
.navLeftRight { opacity: 0.55; transition: opacity 0.15s ease; }
.navLeftRight:hover { opacity: 1; }
