/* Zhukov portfolio: work grid, cards, astrometry and exposure tables.
   Цвета намеренно наследуются от темы: сайт использует тёмную вариацию,
   поэтому жёсткие #1c1917/#57534e здесь не подходят. */

.work-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: flex-end;
	margin: 1.5rem 0;
}

.work-filter-item {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	font-size: 0.85rem;
	color: inherit;
	opacity: 0.85;
}

.work-filter-item select {
	min-width: 12rem;
	padding: 0.45rem 0.6rem;
	border: 1px solid rgba(127, 127, 127, 0.35);
	border-radius: 6px;
	background: rgba(127, 127, 127, 0.12);
	color: inherit;
}

.work-filter-reset {
	cursor: pointer;
	padding: 0.45rem 0.9rem;
	border: 1px solid rgba(127, 127, 127, 0.35);
	border-radius: 6px;
	background: rgba(127, 127, 127, 0.12);
	color: inherit;
}

.work-filter-reset:hover {
	border-color: currentColor;
}

.work-grid .wp-block-query ul,
.work-filter-results {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.work-grid .wp-block-query ul > li,
.work-filter-results > li {
	margin: 0;
	min-width: 0;
}

.work-grid .wp-block-query ul img,
.work-card img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	border-radius: 8px;
}

.work-grid .wp-block-query ul h2,
.work-card-title {
	font-size: 1.2rem;
	line-height: 1.3;
	margin: 0.6rem 0 0;
	color: var(--wp--preset--color--mono-3);
}

.work-card-title a,
.work-grid .wp-block-query ul h2 a {
	color: inherit;
	text-decoration: none;
}

.work-card-title a:hover,
.work-grid .wp-block-query ul h2 a:hover {
	opacity: 0.75;
}

.work-card-excerpt,
.work-grid .wp-block-post-excerpt {
	margin: 0.35rem 0 0;
	color: var(--wp--preset--color--mono-3);
	opacity: 0.82;
	font-size: 1rem;
	line-height: 1.45;
}

.work-card-excerpt p,
.work-grid .wp-block-post-excerpt p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
}

.work-card-excerpt a,
.work-grid .wp-block-post-excerpt a {
	color: inherit;
	text-decoration: underline;
}

.work-empty {
	padding: 2rem 0;
	color: inherit;
	opacity: 0.7;
}

/* Single work: body text one step larger and lighter for contrast on the dark theme. */
.single-work .wp-block-post-content.has-superbfont-xsmall-font-size {
	font-size: var(--wp--preset--font-size--superbfont-small) !important;
}

.single-work .wp-block-post-content.has-mono-2-color {
	color: var(--wp--preset--color--mono-3) !important;
}

.single-work .wp-block-post-title {
	color: var(--wp--preset--color--mono-3);
}

/* Gallery section titles: same contrast as the single work title, slightly larger. */
.page-id-2 .wp-block-post-title.has-superbfont-xlarge-font-size,
.parent-pageid-2 .wp-block-post-title.has-superbfont-xlarge-font-size,
.parent-pageid-112 .wp-block-post-title.has-superbfont-xlarge-font-size {
	color: var(--wp--preset--color--mono-3);
	font-size: calc(var(--wp--preset--font-size--superbfont-xlarge) * 1.1) !important;
}

/* Panorama page: wide layout and a taller viewer. */
.page-id-112 .wp-block-group-is-layout-constrained > .wp-block-post-title,
.page-id-112 .entry-content {
	max-width: 1200px !important;
}

.page-id-112 .entry-content h2 {
	color: var(--wp--preset--color--mono-3);
}

.page-id-112 .entry-content > .wp-block-paragraph {
	color: var(--wp--preset--color--mono-3);
	opacity: 0.85;
}

.page-id-112 .wpvr-master-container {
	height: min(72vh, 820px) !important;
	min-height: 520px;
}

@media (max-width: 768px) {
	.page-id-112 .wpvr-master-container {
		height: 55vh !important;
		min-height: 360px;
	}
}

.zhukov-work-lead {
	margin: 0 0 1.5rem;
	color: inherit;
	opacity: 0.9;
	font-size: 1.05em;
	line-height: 1.55;
}

/* Deep Sky: featured image is hidden in the template, astrometry panel shows it */
.zhukov-work-dso .wp-block-post-featured-image {
	display: none;
}

.zhukov-astrometry-panel,
.zhukov-work-details {
	margin: 2.5rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(127, 127, 127, 0.3);
}

.zhukov-panel-title {
	margin: 0 0 1rem;
	font-size: 1.25em;
	line-height: 1.25;
	color: inherit;
}

.zhukov-astrometry-panel .astrometry-image {
	border: 1px solid rgba(127, 127, 127, 0.3);
	border-radius: 10px;
	background: #000;
}

.zhukov-astrometry-panel .astrometry-image figure {
	position: relative;
	margin: 0;
}

.zhukov-astrometry-panel .astrometry-image img {
	display: block;
	width: 100%;
	height: auto;
}

.zhukov-astrometry-panel .astrometryActions .astrometryAction {
	width: 28px;
	height: 28px;
	display: inline-block;
	cursor: pointer;
}

.zhukov-astrometry-status {
	margin: 0.75rem 0 0;
	padding: 0.75rem 1rem;
	border-left: 3px solid rgba(127, 127, 127, 0.6);
	border-radius: 0 6px 6px 0;
	background: rgba(127, 127, 127, 0.12);
	color: inherit;
	font-size: 0.95em;
	line-height: 1.45;
}

.zhukov-astrometry-status.is-solving {
	border-left-color: #f59e0b;
	background: rgba(245, 158, 11, 0.14);
}

.zhukov-astrometry-status.is-solved {
	border-left-color: #10b981;
	background: rgba(16, 185, 129, 0.14);
}

.zhukov-astrometry-status.is-failed {
	border-left-color: #ef4444;
	background: rgba(239, 68, 68, 0.14);
}

.zhukov-astrometry-retry {
	margin-left: 0.5rem;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
}

.zhukov-astrometry-job {
	margin: 0.35rem 0 0;
	color: inherit;
	opacity: 0.8;
	font-size: 0.9em;
}

.zhukov-work-meta {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 0.45rem 1.25rem;
	margin: 1.5rem 0;
	font-size: 0.95em;
	line-height: 1.45;
}

.zhukov-work-meta dt {
	color: inherit;
	opacity: 0.8;
}

.zhukov-work-meta dd {
	margin: 0;
	color: inherit;
	overflow-wrap: anywhere;
}

.zhukov-work-meta a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.zhukov-exposures-block {
	margin: 2rem 0 0;
}

.zhukov-exposures-table {
	width: 100%;
	border-collapse: collapse;
	color: inherit;
	font-size: 0.95em;
	line-height: 1.45;
}

.zhukov-exposures-table th,
.zhukov-exposures-table td {
	padding: 0.55rem 0.65rem;
	border-bottom: 1px solid rgba(127, 127, 127, 0.28);
	text-align: left;
	vertical-align: top;
}

.zhukov-exposures-table th:not(:first-child),
.zhukov-exposures-table td:not(:first-child) {
	text-align: right;
}

.zhukov-exposures-table thead th {
	color: inherit;
	opacity: 0.85;
	font-weight: 600;
	border-bottom-color: rgba(127, 127, 127, 0.45);
}

.zhukov-exposures-table tfoot th {
	font-weight: 600;
	border-bottom: 0;
}

.zhukov-skyplot {
	margin: 2rem 0 0;
	text-align: center;
}

.zhukov-skyplot img {
	display: inline-block;
	max-width: 360px;
	width: 100%;
	height: auto;
	padding: 0.5rem;
	border: 1px solid rgba(127, 127, 127, 0.35);
	border-radius: 10px;
	background: #fff;
	filter: grayscale(1);
	cursor: zoom-in;
}

@media (max-width: 900px) {
	.work-grid .wp-block-query ul,
	.work-filter-results {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.zhukov-work-meta {
		grid-template-columns: 1fr;
		gap: 0.15rem;
	}

	.zhukov-work-meta dd {
		margin-bottom: 0.65rem;
	}
}

@media (max-width: 560px) {
	.work-grid .wp-block-query ul,
	.work-filter-results {
		grid-template-columns: 1fr;
	}

	.work-filter-item,
	.work-filter-item select,
	.work-filter-reset {
		width: 100%;
	}

	.zhukov-exposures-table {
		font-size: 0.85em;
	}

	.zhukov-exposures-table th,
	.zhukov-exposures-table td {
		padding: 0.45rem 0.35rem;
	}
}
