/*
Theme Name: Andyphoto
Description: Bespoke minimal dark photo-blog theme replicating the old brunelleschi look. No frameworks, no page builders.
Version: 1.0.0
Author: Andy Bulka
Text Domain: andyphoto
*/

:root {
	--ap-bg: #161616;
	--ap-panel: #1e1e1e;
	--ap-text: #d6d6d6;
	--ap-dim: #9a9a9a;
	--ap-head: #f2f2f2;
	--ap-link: #7fb3d5;
	--ap-line: #333;
	--ap-col: 680px;
}

* { box-sizing: border-box; }

body {
	background: var(--ap-bg);
	color: var(--ap-text);
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
	padding: 0;
}

a { color: var(--ap-link); }
a:hover { color: #a8cfe8; }

img {
	max-width: 100%;
	height: auto;
}

.ap-wrap {
	max-width: 1020px;
	margin: 0 auto;
	padding: 0 24px;
}

/* header */
.ap-header {
	text-align: center;
	padding: 56px 0 20px;
}
.ap-header h1 {
	font-size: 34px;
	letter-spacing: 0.28em;
	margin: 0 0 10px;
	font-weight: normal;
}
.ap-header h1 a { color: var(--ap-head); text-decoration: none; }
.ap-tagline {
	color: var(--ap-dim);
	font-size: 13px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0;
}

/* nav */
.ap-nav {
	border-top: 1px solid var(--ap-line);
	border-bottom: 1px solid var(--ap-line);
	margin: 26px 0 0;
}
.ap-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 34px;
}
.ap-nav a {
	display: block;
	padding: 12px 0;
	color: var(--ap-text);
	text-decoration: none;
	font-size: 13px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}
.ap-nav a:hover { color: var(--ap-head); }

/* layout */
.ap-columns {
	display: flex;
	gap: 56px;
	padding: 40px 0 20px;
}
.ap-content { flex: 1 1 auto; min-width: 0; max-width: var(--ap-col); }
.ap-sidebar { flex: 0 0 250px; font-size: 15px; }

/* posts */
.ap-post { margin: 0 0 56px; }
.ap-post h2.post-title {
	font-size: 31px;
	line-height: 1.25;
	font-weight: normal;
	margin: 0 0 8px;
}
.ap-post h2.post-title a { color: var(--ap-head); text-decoration: none; }
.ap-post h2.post-title a:hover { color: var(--ap-link); }
.ap-meta {
	color: var(--ap-dim);
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 18px;
}
.ap-meta a { color: var(--ap-dim); }
.ap-post .entry-content p { margin: 0 0 1.2em; }
.ap-post hr, .ap-rule {
	border: 0;
	border-top: 1px solid var(--ap-line);
	margin: 34px 0;
}

/* legacy migrated content: fixed pixel widths from WP 4.4 era */
.entry-content .wp-caption { max-width: 100%; }
.entry-content figure { margin-left: 0; margin-right: 0; }
.entry-content figcaption, .wp-caption-text {
	color: var(--ap-dim);
	font-size: 14px;
	margin-top: 6px;
}

/* sidebar widgets */
.ap-sidebar .widget { margin: 0 0 34px; }
.ap-sidebar .widget-title {
	font-size: 13px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--ap-dim);
	margin: 0 0 12px;
	font-weight: normal;
}
.ap-sidebar ul { list-style: none; margin: 0; padding: 0; }
.ap-sidebar li { margin: 0 0 6px; }
.ap-sidebar .tagcloud a { margin-right: 8px; line-height: 1.9; }
.ap-sidebar input[type="text"], .ap-sidebar input[type="search"] {
	width: 100%;
	background: var(--ap-panel);
	border: 1px solid var(--ap-line);
	color: var(--ap-text);
	padding: 8px 10px;
	font-size: 15px;
}
.andyphoto-quote-wrap blockquote { margin: 0 0 8px; }
.andyphoto-quote-wrap cite { color: var(--ap-dim); font-size: 14px; }
a.andyphoto-next-quote { font-size: 14px; }

/* footer */
.ap-footer {
	border-top: 1px solid var(--ap-line);
	padding: 22px 0 60px;
	color: var(--ap-dim);
	font-size: 14px;
}
.ap-footer p { margin: 0; }

@media (max-width: 880px) {
	.ap-columns { flex-direction: column; }
	.ap-sidebar { flex-basis: auto; }
	.ap-header h1 { font-size: 24px; }
	.ap-post h2.post-title { font-size: 25px; }
}
