/*
Theme Name: Death Pigeon
Description: Dark, loud block theme for the Death Pigeon band website.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: death-pigeon
*/

/* ---- shared pieces ------------------------------------------------------- */
.dp-eyebrow,
.wp-block-post-date,
.dp-header .wp-block-site-title,
.dp-footer .wp-block-site-title {
	font-family: var(--wp--preset--font-family--pixel);
}
.dp-eyebrow {
	font-size: 15px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin: 0;
}
.wp-block-post-date { font-size: 13px; color: var(--wp--preset--color--muted); }
.dp-lead { font-size: 20px; color: var(--wp--preset--color--soft); max-width: 600px; }
.dp-muted { color: var(--wp--preset--color--muted); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--wp--preset--color--accent); outline-offset: 3px; }

/* ---- header / footer ----------------------------------------------------- */
.dp-header { border-bottom: 1px solid var(--wp--preset--color--line); padding-top: 18px; padding-bottom: 18px; }
.dp-header-row { gap: 16px; }
.dp-logo { gap: 10px; align-items: center; }
.dp-logo svg { width: 28px; height: 28px; display: block; }
.dp-logo .pig { fill: var(--wp--preset--color--accent); }
.dp-logo .eye { fill: var(--wp--preset--color--base); }
.dp-logo .light { fill: var(--wp--preset--color--contrast); }
.dp-header .wp-block-site-title { font-size: 26px; font-weight: 700; letter-spacing: 1px; margin: 0; }
.dp-header .wp-block-site-title a,
.dp-footer .wp-block-site-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.dp-header .wp-block-navigation a { color: var(--wp--preset--color--text); text-decoration: none; padding: 10px 0; }
.dp-header .wp-block-navigation a:hover,
.dp-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--accent); }
.dp-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }
.dp-footer { border-top: 1px solid var(--wp--preset--color--line); padding-top: 40px; padding-bottom: 40px; font-size: 15px; color: var(--wp--preset--color--muted); }
.dp-footer .wp-block-site-title { font-size: 18px; margin: 0; }
.dp-footer .wp-block-navigation a { color: var(--wp--preset--color--soft); padding: 10px 0; }

/* ---- sections -------------------------------------------------------------- */
main.dp-front, main.dp-front > .wp-block-post-content { margin-block-start: 0; }
main.dp-front > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.dp-section { border-top: 1px solid var(--wp--preset--color--line); padding-top: 80px; padding-bottom: 80px; }
.dp-hero { border-top: 0; padding-top: 72px; padding-bottom: 88px; }
.dp-alt { background: var(--wp--preset--color--alt); }
.dp-hero h1 { font-size: var(--wp--preset--font-size--xx-large); letter-spacing: -2px; line-height: .92; }
.dp-hero img { border-radius: 6px; aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.dp-section-head { gap: 16px; align-items: flex-end; margin-bottom: 40px; }
.dp-section-head h2 { margin: 0; }
.dp-section-head p { margin: 0; }
.dp-more a, .dp-section-head a { font-weight: 600; display: inline-flex; align-items: center; min-height: 44px; }

/* ---- cards ----------------------------------------------------------------- */
.dp-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
	box-sizing: border-box;
}
.dp-card > * { margin: 0 !important; }
.dp-card .dp-more, .dp-card .wp-block-read-more { margin-top: auto !important; font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
.dp-card img { border-radius: 4px; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.dp-card .wp-block-post-featured-image img { aspect-ratio: 3 / 2; }
.dp-card .wp-block-post-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.dp-card .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); }
.dp-card-featured { padding: 40px; }
.dp-card-featured .wp-block-post-title { font-size: clamp(32px, 4vw, 48px); }
.dp-card-featured .wp-block-post-excerpt__more-link { display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; margin-top: 12px; background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); font-weight: 600; text-decoration: none; border-radius: 4px; }

/* ---- link tiles ("More from the nest") ------------------------------------- */
.dp-tile { margin: 0; }
.dp-tile a {
	display: flex; justify-content: space-between; align-items: center; gap: 16px;
	min-height: 76px; padding: 0 24px; box-sizing: border-box;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 6px;
	color: var(--wp--preset--color--contrast);
	font-weight: 600; font-size: 19px; text-decoration: none;
}
.dp-tile a::after { content: "→"; color: var(--wp--preset--color--accent); font-size: 22px; }
.dp-tile a:hover { border-color: var(--wp--preset--color--accent); }

/* ---- merch / gallery ------------------------------------------------------- */
.dp-merch img { border-radius: 4px; aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }

/* ---- call-to-action banner ------------------------------------------------- */
.dp-banner { background: var(--wp--preset--color--accent); padding-top: 72px; padding-bottom: 72px; }
.dp-banner h2 { color: var(--wp--preset--color--base); margin: 0; }
.dp-banner-row { gap: 24px; }
.dp-banner .wp-block-button__link { background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--contrast) !important; }

/* ---- category pills (blog) ------------------------------------------------- */
.dp-pills { list-style: none; padding: 0; margin: 0 0 28px; display: flex; flex-wrap: wrap; gap: 10px; }
.dp-pills li { margin: 0; }
.dp-pills a {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px;
	border: 2px solid var(--wp--preset--color--edge); border-radius: 999px;
	color: var(--wp--preset--color--text); font-weight: 600; font-size: 15px; text-decoration: none;
}
.dp-pills a:hover, .dp-pills .current-cat a { background: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); }

/* ---- articles -------------------------------------------------------------- */
.dp-article { padding-top: 64px; padding-bottom: 80px; }
.dp-article .wp-block-post-title { font-size: clamp(40px, 6vw, 72px); }
.dp-article .wp-block-post-content img { border-radius: 6px; height: auto; }
.dp-article .wp-block-post-content figure { margin-left: 0; margin-right: 0; }
.dp-article .wp-block-post-content iframe { max-width: 100%; }
.dp-postnav { border-top: 1px solid var(--wp--preset--color--line); padding-top: 24px; margin-top: 48px; gap: 16px; }
.dp-postnav a { font-weight: 600; }
.wp-block-query-pagination { margin-top: 40px; gap: 12px; }
.wp-block-query-pagination a, .wp-block-query-pagination .current {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 16px;
	border: 2px solid var(--wp--preset--color--edge); border-radius: 4px; color: var(--wp--preset--color--contrast); text-decoration: none; font-weight: 600;
}
.wp-block-query-pagination .current { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); }
