/*
Theme Name: Dark Premium
Version: 2.1.0
Requires at least: 6.6
Requires PHP: 8.2
Text Domain: dark-premium
License: GPL-2.0-or-later
*/

:root {
	--night: #0c0d0f;
	--panel: #17191d;
	--ivory: #f4efe5;
	--muted: #aaa79f;
	--gold: #d7b56d;
	--line: #3a3935;
	--catalog-width: 76rem;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--night); color: var(--ivory); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
a { color: var(--ivory); text-underline-offset: .22em; }
a:hover { color: var(--gold); }
a:focus-visible { outline: .2rem solid var(--gold); outline-offset: .3rem; }
img { display: block; max-width: 100%; height: auto; }
.skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 20; padding: .8rem 1rem; background: var(--ivory); color: var(--night); }
.skip-link:focus { top: 1rem; }
.catalog-header,
.catalog-footer {
	display: grid;
	grid-template-columns: 1fr 2fr auto;
	gap: 2rem;
	max-width: var(--catalog-width);
	margin: auto;
	padding: 1.2rem clamp(1rem, 4vw, 3rem);
	border-bottom: 1px solid var(--line);
	font-size: .75rem;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.catalog-brand { color: var(--gold); font-weight: 700; text-decoration: none; }
.menu { display: flex; flex-wrap: wrap; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.catalog,
.catalog-archive,
.catalog-detail { max-width: var(--catalog-width); margin: auto; padding: 0 clamp(1rem, 4vw, 3rem); }
.catalog-hero { display: grid; grid-template-columns: 2fr 1fr; align-items: end; gap: 3rem; min-height: 62vh; padding: 5rem 0 3rem; }
.catalog-overline,
.catalog-section-heading p,
.catalog-row__meta { color: var(--gold); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; }
.catalog-hero h1,
.catalog-archive h1,
.catalog-detail h1 { max-width: 13ch; margin: .4rem 0; font-family: Georgia, serif; font-size: clamp(3.2rem, 8vw, 7.5rem); font-weight: 400; line-height: .92; }
.catalog-hero__summary { max-width: 28rem; color: var(--muted); font-size: 1.1rem; }
.catalog-cover { margin: 0; }
.catalog-cover img { width: 100%; max-height: 76vh; object-fit: cover; }
.catalog-cover figcaption,
.catalog-plates figcaption { margin-top: .5rem; color: var(--muted); font-size: .8rem; }
.catalog-featured,
.catalog-brief,
.catalog-plates,
.catalog-notes { margin: 8rem 0; }
.catalog-section-heading { display: grid; grid-template-columns: 1fr 3fr; gap: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--gold); }
.catalog-section-heading h2 { margin: 0; font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }
.catalog-featured__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 1px; background: var(--line); }
.catalog-card { min-height: 20rem; padding: clamp(1.5rem, 4vw, 3rem); background: var(--panel); }
.catalog-card h3 { font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 400; line-height: 1; }
.catalog-state { display: inline-flex; align-items: center; gap: .55rem; color: var(--gold); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.catalog-state > span { width: .72rem; height: .72rem; border: 1px solid currentColor; border-radius: 50%; }
.catalog-state > span::after { display: block; width: .28rem; height: .14rem; margin: .18rem; border-bottom: 1px solid currentColor; border-left: 1px solid currentColor; content: ""; transform: rotate(-45deg); }
.catalog-brief { display: grid; grid-template-columns: 1fr 2fr; gap: 3rem; }
.catalog-brief .catalog-section-heading { display: block; }
.catalog-brief__body { max-width: 46rem; font-family: Georgia, serif; font-size: 1.15rem; }
.catalog-plates > div { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.catalog-plates figure { margin: 0; }
.catalog-plates img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.catalog-notes dl { display: grid; grid-template-columns: 1fr 2fr; }
.catalog-notes dt,
.catalog-notes dd { margin: 0; padding: 1.2rem 0; border-top: 1px solid var(--line); }
.catalog-archive { padding-block: 5rem; }
.catalog-rows { border-top: 1px solid var(--line); }
.catalog-row { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }
.catalog-row__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.catalog-row__copy h2 { font-family: Georgia, serif; font-size: 2rem; font-weight: 400; }
.catalog-detail { padding-block: 5rem; }
.catalog-detail__heading { display: grid; grid-template-columns: 1fr 3fr; gap: 2rem; }
.catalog-detail .entry-content { max-width: 46rem; margin: 4rem 0 0 auto; }
.catalog-footer { margin-top: 8rem; padding-block: 2.5rem; border-top: 1px solid var(--line); border-bottom: 0; }

@media (max-width: 48rem) {
	.catalog-header,
	.catalog-footer,
	.catalog-hero,
	.catalog-section-heading,
	.catalog-brief,
	.catalog-detail__heading { grid-template-columns: 1fr; }
	.catalog-featured__grid,
	.catalog-plates > div,
	.catalog-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (forced-colors: active) {
	.catalog-card,
	.catalog-row { border: 1px solid CanvasText; }
}
