/* =============================================================
   ADORNCROFT – SINGLE POST / STUDIO JOURNAL ARTICLE
   ============================================================= */

:root {
	--ac-cream     : #F7F3EE;
	--ac-dark      : #2B2A29;
	--ac-sand      : #EDE3D7;
	--ac-rule      : rgba(43, 42, 41, 0.68);
	--ac-green     : #E3E8D6;
	--ac-font-h    : 'Cormorant Garamond', Georgia, serif;
	--ac-font-b    : 'Satoshi Variable', system-ui, sans-serif;
	--ac-col-left  : 692px;
	--ac-col-right : 392px;
	--ac-col-gap   : 80px;
	--ac-h-pad     : 138px;
}

/* ── Astra full-width resets ────────────────────────────────── */
.single-post #page,
.single-post .site,
.single-post .ast-container,
.single-post .site-content,
.single-post #primary,
.single-post #content,
.single-post .site-main,
.single-post .entry-content,
.single-post article {
	max-width  : 100% !important;
	width      : 100% !important;
	margin     : 0 !important;
	padding    : 0 !important;
	background : var(--ac-cream) !important;
	box-sizing : border-box !important;
}

.single-post h1.entry-title,
.single-post .ast-page-title-wrap,
.single-post .page-title-wrap {
	display : none !important;
}

/* ── Heading / paragraph margin reset ───────────────────────── */
.ac-single-page h1, .ac-single-page h2, .ac-single-page h3,
.ac-single-page h4, .ac-single-page h5, .ac-single-page h6 { margin: 0; padding: 0; }
.ac-single-page p                                           { margin: 0; }

/* Re-enable spacing for article body content */
.ac-single-body p                      { margin-bottom: 1.6em; }
.ac-single-body p:last-child           { margin-bottom: 0; }
.ac-single-body h2, .ac-single-body h3,
.ac-single-body h4, .ac-single-body h5 { margin: 1.5em 0 0.5em; }

/* ── Page wrapper ────────────────────────────────────────────── */
.ac-single-page {
	flex        : 1 1 100%;
	min-width   : 0;
	width       : 100%;
	background  : var(--ac-cream);
	font-family : var(--ac-font-b);
	color       : var(--ac-dark);
}

.ac-single-page,
.ac-single-page * {
	font-family : var(--ac-font-b);
}

/* ── Hero ────────────────────────────────────────────────────── */
.ac-single-hero {
	position            : relative;
	width               : 100%;
	min-height          : 422px;
	background-color    : #333;
	background-size     : cover;
	background-position : center;
	display             : flex;
	align-items         : center;
	justify-content     : center;
}

.ac-single-hero-overlay {
	position   : absolute;
	inset      : 0;
	background : rgba(0, 0, 0, 0.5);
}

.ac-single-hero-inner {
	position        : relative;
	z-index         : 1;
	display         : flex;
	flex-direction  : column;
	align-items     : center;
	gap             : 32px;
	max-width       : 769px;
	padding         : 48px 20px;
	text-align      : center;
}

.ac-single-date {
	font-family : var(--ac-font-b);
	font-size   : 14px;
	font-weight : 400;
	line-height : 24px;
	color       : var(--ac-cream);
}

.ac-single-title {
	font-family : var(--ac-font-h);
	font-size   : 42px;
	font-weight : 700;
	line-height : 52px;
	color       : var(--ac-cream);
	margin      : 0;
}

.ac-single-author-name {
	font-family : var(--ac-font-b);
	font-size   : 18px;
	font-weight : 400;
	line-height : 1.6;
	color       : var(--ac-cream);
	margin      : 0;
}

/* ── Two-column main ─────────────────────────────────────────── */
.ac-single-main {
	display     : grid;
	grid-template-columns : 1fr var(--ac-col-right);
	gap         : var(--ac-col-gap);
	padding     : 64px var(--ac-h-pad);
	align-items : start;
	background  : var(--ac-cream);
}

/* ── Article body (WordPress content) ───────────────────────── */
.ac-single-body {
	display        : flex;
	flex-direction : column;
	gap            : 64px;
}

.ac-single-body h2,
.ac-single-body h3 {
	font-family : var(--ac-font-h) !important;
	font-size   : 32px;
	font-weight : 700;
	line-height : 42px;
	color       : var(--ac-dark);
	margin      : 0;
}

.ac-single-body p {
	font-family : var(--ac-font-b) !important;
	font-size   : 18px;
	font-weight : 400;
	line-height : 28px;
	color       : var(--ac-dark);
	margin      : 0;
}

.ac-single-body figure,
.ac-single-body .wp-block-image {
	width   : 100% !important;
	margin  : 0 !important;
	padding : 0 !important;
}

.ac-single-body figure img,
.ac-single-body .wp-block-image img {
	width        : 100% !important;
	height       : auto !important;
	aspect-ratio : 692 / 442;
	object-fit   : cover;
	display      : block;
}

.ac-single-body img {
	max-width : 100%;
	height    : auto;
	display   : block;
}

.ac-single-body ul,
.ac-single-body ol {
	font-size   : 18px;
	line-height : 28px;
	padding-left: 1.5em;
	color       : var(--ac-dark);
}

/* ── Author bio ──────────────────────────────────────────────── */
.ac-author-bio {
	display        : flex;
	flex-direction : column;
	gap            : 24px;
	padding        : 40px 0;
}

.ac-author-card {
	display     : flex;
	flex-direction : row;
	background  : var(--ac-sand);
}

.ac-author-avatar {
	width      : 159px;
	min-width  : 159px;
	height     : 159px;
	overflow   : hidden;
	flex-shrink: 0;
}

.ac-author-avatar img {
	width      : 100%;
	height     : 100%;
	object-fit : cover;
	display    : block;
}

.ac-author-info {
	display        : flex;
	flex-direction : column;
	gap            : 16px;
	padding        : 24px;
	justify-content: center;
}

.ac-author-label {
	font-size   : 14px;
	font-weight : 400;
	line-height : 24px;
	color       : var(--ac-dark);
}

.ac-author-fullname {
	font-family : var(--ac-font-h) !important;
	font-size   : 24px;
	font-weight : 700;
	line-height : 26px;
	color       : var(--ac-dark);
}

.ac-author-desc {
	font-size   : 14px;
	font-weight : 400;
	line-height : 24px;
	color       : var(--ac-dark);
	margin      : 0;
}

/* ── Email signup ────────────────────────────────────────────── */
.ac-signup-box {
	background : var(--ac-green);
	border     : 1px solid var(--ac-rule);
}

.ac-signup-inner {
	display        : flex;
	flex-direction : column;
	gap            : 48px;
	padding        : 48px 80px;
}

.ac-signup-text {
	display        : flex;
	flex-direction : column;
	gap            : 24px;
}

.ac-signup-heading {
	font-family : var(--ac-font-h) !important;
	font-size   : 32px;
	font-weight : 700;
	line-height : 42px;
	color       : var(--ac-dark);
	margin      : 0;
}

.ac-signup-sub {
	font-size   : 18px;
	font-weight : 400;
	line-height : 28px;
	color       : var(--ac-dark);
	margin      : 0;
}

.ac-signup-form {
	display        : flex;
	flex-direction : column;
	gap            : 8px;
}

.ac-signup-label {
	font-size   : 18px;
	font-weight : 700;
	line-height : 28px;
	color       : var(--ac-dark);
}

.ac-signup-row {
	display         : flex;
	flex-direction  : row;
	align-items     : center;
	justify-content : space-between;
	background      : #fff;
	border          : 1px solid var(--ac-rule);
	padding         : 7px;
	gap             : 10px;
}

.ac-signup-input {
	flex               : 1;
	border             : none !important;
	outline            : none !important;
	box-shadow         : none !important;
	-webkit-appearance : none;
	background         : transparent;
	font-family : var(--ac-font-b) !important;
	font-size   : 16px;
	color       : var(--ac-dark);
	padding     : 4px 8px;
}

.ac-signup-input:focus {
	outline    : none;
	box-shadow : none !important;
}

.ac-signup-btn {
	font-family    : var(--ac-font-b) !important;
	font-size      : 14px;
	font-weight    : 700;
	line-height    : 16px;
	text-transform : uppercase;
	color          : var(--ac-cream);
	background     : var(--ac-dark);
	border         : 1px solid #F7F3EE;
	border-radius  : 0;
	padding        : 11px 16px;
	cursor         : pointer;
	white-space    : nowrap;
	flex-shrink    : 0;
	transition     : background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
	outline        : none;
}

.ac-signup-btn:hover {
	background   : #E3E8D6 !important;
	color        : var(--ac-dark) !important;
	border-color : var(--ac-dark) !important;
	outline      : none !important;
}

/* ── Sidebar ─────────────────────────────────────────────────── */
.ac-single-sidebar {
	display        : flex;
	flex-direction : column;
	gap            : 40px;
	padding-top    : 40px;
	position       : sticky;
	top            : 40px;
}

.ac-sidebar-section {
	display        : flex;
	flex-direction : column;
	gap            : 24px;
}

.ac-sidebar-heading {
	font-family : var(--ac-font-h) !important;
	font-size   : 24px;
	font-weight : 700;
	line-height : 26px;
	color       : var(--ac-dark);
	margin      : 0;
}

/* Hot topics */
.ac-hot-list {
	display        : flex;
	flex-direction : column;
	gap            : 0;
}

.ac-hot-card {
	display         : flex;
	flex-direction  : row;
	background      : var(--ac-sand);
	text-decoration : none;
	margin-bottom   : 8px;
}

.ac-hot-card:last-child { margin-bottom: 0; }

.ac-hot-img {
	width      : 120px;
	min-width  : 120px;
	height     : 120px;
	overflow   : hidden;
	flex-shrink: 0;
}

.ac-hot-img img,
.ac-hot-img-ph {
	width      : 100%;
	height     : 100%;
	object-fit : cover;
	display    : block;
}

.ac-hot-img-ph { background: #d8cfc5; }

.ac-hot-info {
	display        : flex;
	flex-direction : column;
	gap            : 8px;
	padding        : 16px;
	justify-content: center;
}

.ac-hot-title {
	font-family : var(--ac-font-h) !important;
	font-size   : 18px;
	font-weight : 700;
	line-height : 22px;
	color       : var(--ac-dark);
	margin      : 0;
}

.ac-hot-card:hover .ac-hot-title { text-decoration: underline; }

/* Tags */
.ac-tag-list {
	display   : flex;
	flex-wrap : wrap;
	gap       : 8px;
}

.ac-tag {
	display         : inline-flex;
	align-items     : center;
	padding         : 4px 12px;
	border          : 1px solid #3E3E3E;
	border-radius   : 16px;
	font-family     : var(--ac-font-b) !important;
	font-size       : 14px;
	font-weight     : 400;
	line-height     : 24px;
	color           : var(--ac-dark) !important;
	text-decoration : none;
	background      : var(--ac-cream);
	opacity         : 0.8;
}

.ac-tag:hover { opacity: 1; background: var(--ac-dark); color: var(--ac-cream) !important; }

/* Share */
.ac-share-icons {
	display : flex;
	gap     : 16px;
	align-items: center;
}

.ac-share-icon {
	display         : flex;
	align-items     : center;
	justify-content : center;
	color           : var(--ac-dark);
	text-decoration : none;
	transition      : opacity 0.2s;
}

.ac-share-icon:hover { opacity: 0.6; }
.ac-share-icon svg  { display: block; }

/* Kill Astra link colour throughout single page */
.ac-single-page a,
.ac-single-sidebar a,
.ac-hot-card,
.ac-hot-card *,
.ac-article-date {
	color           : var(--ac-dark) !important;
	text-decoration : none !important;
}

.ac-hot-card:hover .ac-hot-title { text-decoration: underline !important; }

/* ── Related articles ────────────────────────────────────────── */
.ac-related {
	padding    : 48px 160px;
	background : #fff;
}

.ac-related-header {
	display         : flex;
	justify-content : space-between;
	align-items     : center;
	margin-bottom   : 24px;
}

.ac-related-title {
	font-family : var(--ac-font-h) !important;
	font-size   : 32px;
	font-weight : 700;
	line-height : 42px;
	color       : var(--ac-dark);
	margin      : 0;
}

.ac-related-more {
	display         : inline-flex;
	align-items     : center;
	padding         : 11px 16px;
	border          : 1px solid var(--ac-dark);
	background      : var(--ac-cream);
	font-family     : var(--ac-font-b) !important;
	font-size       : 14px;
	font-weight     : 700;
	line-height     : 16px;
	text-transform  : uppercase;
	color           : var(--ac-dark) !important;
	text-decoration : none !important;
	white-space     : nowrap;
}

.ac-related-more:hover { background: var(--ac-dark); color: var(--ac-cream) !important; }

.ac-related-grid {
	display               : grid;
	grid-template-columns : repeat(3, 1fr);
	gap                   : 24px;
}

.ac-related-card {
	background      : var(--ac-sand);
	display         : flex;
	flex-direction  : column;
	text-decoration : none;
}

.ac-related-img {
	aspect-ratio : 357 / 240;
	overflow     : hidden;
}

.ac-related-img img,
.ac-related-img .ac-article-img-ph {
	width      : 100%;
	height     : 100%;
	object-fit : cover;
	display    : block;
}

.ac-related-img .ac-article-img-ph { background: #d8cfc5; }

.ac-related-card:hover .ac-related-img img { transform: scale(1.04); }
.ac-related-img { transition: transform 0.35s ease; overflow: hidden; }

.ac-related-body {
	padding : 24px;
}

.ac-related-card-title {
	font-family : var(--ac-font-h) !important;
	font-size   : 24px;
	font-weight : 700;
	line-height : 26px;
	color       : var(--ac-dark) !important;
	margin      : 0;
}

.ac-related-card:hover .ac-related-card-title { text-decoration: underline; }

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1200px) {
	.ac-single-main  { padding : 48px 60px; }
	.ac-related      { padding : 48px 60px; }
}

@media (max-width: 900px) {
	.ac-single-main {
		grid-template-columns : 1fr;
		padding               : 40px 20px;
		gap                   : 48px;
	}

	.ac-single-sidebar {
		position    : static;
		padding-top : 0;
	}

	.ac-single-title { font-size : 30px; line-height : 38px; }

	.ac-related {
		padding : 40px 20px;
	}

	.ac-related-grid {
		grid-template-columns : repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.ac-single-hero       { min-height : 320px; }
	.ac-single-title      { font-size : 24px; line-height : 32px; }
	.ac-single-hero-inner { gap : 20px; }
	.ac-single-main       { padding : 32px 16px; }
	.ac-signup-inner      { padding : 32px 24px; }
	.ac-author-avatar     { width : 100px; min-width : 100px; height : 100px; }

	.ac-related           { padding : 32px 16px; }
	.ac-related-grid      { grid-template-columns : 1fr; }
	.ac-related-header    { flex-wrap : wrap; gap : 12px; }
}
