/* ============================================================
   AIMS Australia Tax Accountants — Insights single article
   Shared stylesheet for all 43 articles.
   Scoped under .aims-article so it won't clash with the theme.
   ============================================================ */

.aims-article {
	--aims-navy: #0e1e46;
	--aims-navy-2: #14285a;
	--aims-gold: #c1860c;
	--aims-gold-dark: #a9740a;
	--aims-ink: #23303f;
	--aims-muted: #5c6b7a;
	--aims-line: #e2e6ec;
	--aims-cream: #fbf6ea;
	--aims-cream-line: #e6d7b4;
	--aims-bg-soft: #f5f7fa;
	--aims-link: #1b3d8f;

	color: var(--aims-ink);
	font-family: -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.7;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

.aims-article *,
.aims-article *::before,
.aims-article *::after {
	box-sizing: border-box;
}

/* ---------- Breadcrumbs (rendered by single.php) ---------- */
.aims-breadcrumbs {
	font-family: "Inter", Sans-serif;
	font-size: 16px;
	color: #0f2741;
	margin: 50px 0 50px;
}

.aims-breadcrumbs a {
	color: #0f2741;
	text-decoration: none;
}

.aims-breadcrumbs a:hover {
	color: #a77b00;
}

.aims-crumb-sep {
	margin: 0 8px;
	color: var(--aims-line);
}

.aims-crumb-current {
	color: var(--aims-muted);
}

/* ---------- Layout: main + right sidebar ---------- */
.aims-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 48px;
	align-items: start;
	padding-bottom: 50px;
}

.aims-main-col {
	order: 1;
	min-width: 0;
}

.aims-main {
	order: 1;
}

.aims-sidebar {
	order: 2;
}

/* Local-preview only: placeholders for the blocks WordPress resolves at runtime. */
.aims-preview-note p {
	margin: 0;
	font-size: 13px;
	font-style: italic;
	color: var(--aims-muted);
}

.aims-prevnext.aims-preview-note {
	background: var(--aims-bg-soft);
	border: 1px dashed var(--aims-line);
	border-radius: 8px;
	padding: 14px 16px;
}

/* ---------- Sidebar ---------- */
.aims-sidebar {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.aims-toc {
	background: var(--aims-bg-soft);
	border: 1px solid var(--aims-line);
	border-radius: 8px;
	padding: 20px 22px;
}

.aims-toc-title {
	font-family: "Inter", Sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #0f2741;
	margin: 0 0 12px;
}

.aims-toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: toc;
}

.aims-toc li {
	counter-increment: toc;
	margin: 0 0 9px;
	padding-left: 26px;
	position: relative;
	line-height: 1.4;
}
.aims-toc li.is-active a{
	color: #ab830d;
}
.aims-toc li::before {
	content: counter(toc) ".";
	position: absolute;
	left: 0;
	color: #0f2741;
	font-weight: 700;
}

.aims-toc a {
	color: #0f2741;
	text-decoration: none;
	font-size: 15px;
}

.aims-toc a:hover {
	color: var(--aims-gold-dark);
}

/* Active section, set by the scrollspy in aims-article.js. */
.aims-toc li>a {
	transition: color .15s ease;
}

/* .aims-toc li.is-active > a {
  color: var(--aims-gold-dark);
  font-weight: 700;
} */
.aims-toc li.is-active::before {
	color: #ab830d;
}

@media (prefers-reduced-motion: reduce) {
	.aims-toc li>a {
		transition: none;
	}
}

.aims-back {
	display: block;
	text-align: center;
	background: #0f2741;
	border: 1px solid #0f2741;
	color: #fff;
	text-decoration: none;
	font-family: "Inter", Sans-serif;
	font-size: 15px;
	line-height: 1;
	font-weight: 600;
	padding: 13px 16px;
	border-radius: 8px;
}

.aims-back:hover {
	background: transparent;
	color: #0f2741;
}

.aims-prevnext {
	display: flex;
	flex-direction: column;
	background: var(--aims-bg-soft);
	border: 1px solid var(--aims-line);
	border-radius: 8px;
}

.aims-pn {
	display: block;
	border-radius: 8px;
	padding: 12px 16px;
	text-decoration: none;
	color: #0f2741;
	font-weight: 600;
	font-size: 15px;
}

.aims-pn-prev {
	border-bottom: 1px solid #e2e6ec;
}

.aims-pn:hover {
	border-color: var(--aims-gold);
}

.aims-pn:hover .aims-pn-title {
	color: var(--aims-gold);
}

.aims-pn-label {
	font-family: "Inter", Sans-serif;
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	color: var(--aims-muted);
	font-weight: 600;
	margin-bottom: 5px;
	text-align: left;
}

.aims-pn-title {
	font-family: "Inter", Sans-serif;

	display: block;
	font-size: 14px;
	font-weight: 600;
	color: #0f2741;
	line-height: 1.35;
	text-align: left;
}

.aims-pn-next {
	text-align: right;
}

/* ---------- Related articles ---------- */
.aims-related {
	background: var(--aims-bg-soft);
	border: 1px solid var(--aims-line);
	border-radius: 8px;
	padding: 20px 22px;
}

.aims-related-title {
	font-family: "Inter", Sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #0f2741;
	margin: 0 0 12px;
}

.aims-related ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.aims-related li {
	padding: 10px 0;
	border-top: 1px solid var(--aims-line);
}

.aims-related li:first-child {
	border-top: 0;
	padding-top: 0;
}

.aims-related a {
	display: block;
	color: #0f2741;
	text-decoration: none;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.4;
}

.aims-related a:hover {
	color: var(--aims-gold-dark);
}

.aims-related-meta {
	display: block;
	font-size: 12px;
	color: var(--aims-muted);
	margin-top: 3px;
}

/* ---------- Main article ---------- */
.aims-eyebrow {
	color: #a77b00;
	font-weight: 700;
	font-size: 14px;
	text-transform: uppercase;
	margin: 0 0 10px;
	font-family: "Inter", Sans-serif;
}

.aims-title {
	font-family: "Playfair Display", Sans-serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 60px;
	color: #0F2741;
	margin: 0 0 16px;
}

.aims-meta {
	font-family: "Inter", Sans-serif;
	color: #0F2741;
	font-size: 15px;
	margin: 0 0 28px;
}

/* .aims-dot is the retired middot separator, kept so already-pasted posts still render. */
.aims-meta .aims-sep,
.aims-meta .aims-dot {
	margin: 0 10px;
	color: var(--aims-line);
}

/* ---------- Overview box ---------- */
.aims-overview {
	background: var(--aims-cream);
	border: 1px solid var(--aims-cream-line);
	border-radius: 8px;
	padding: 22px 26px;
	margin: 0 0 34px;
}

.aims-overview-title {
	font-family: "inter", Sans-serif;
	color: #0f2741;
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 8px;
}

.aims-overview p {
	margin: 0;
	font-family: "Inter", Sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #0F2741;
}

/* ---------- Content ---------- */
.aims-content h2 {
	font-family: "Playfair Display", Sans-serif;
	color: #0f2741;
	font-size: 26px;
	line-height: 1.25;
	margin: 38px 0 14px;
	/* Keep a clicked TOC target clear of a sticky site header. Should match
     TRIGGER_OFFSET in aims-article.js so click and scrollspy agree. */
	scroll-margin-top: 120px;
}

/* Scoped to pages that actually carry an article, so the theme is unaffected. */
@media (prefers-reduced-motion: no-preference) {
	html:has(.aims-article) {
		scroll-behavior: smooth;
	}
}

.aims-content h3 {
	font-family: "Playfair Display", Sans-serif;
	color: #0f2741;
	font-size: 20px;
	margin: 26px 0 10px;
}

.aims-content p {
	margin: 0 0 18px;
}

.aims-content ul,
.aims-content ol {
	margin: 0 0 18px;
	padding-left: 22px;
}

.aims-content li {
	margin: 0 0 8px;
}

.aims-content a {
	color: var(--aims-link);
	text-decoration: underline;
}

.aims-content a:hover {
	color: var(--aims-navy);
}

.aims-content strong {
	color: var(--aims-navy);
}

/* ---------- Tables ---------- */
.aims-table-wrap {
	overflow-x: auto;
	margin: 0 0 26px;
}

.aims-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15.5px;
	border: 1px solid var(--aims-line);
}

.aims-table thead th {
	background: var(--aims-bg-soft);
	color: var(--aims-navy);
	font-weight: 700;
	text-align: left;
	padding: 12px 16px;
	border-bottom: 2px solid var(--aims-line);
}

.aims-table td {
	padding: 11px 16px;
	border-top: 1px solid var(--aims-line);
	vertical-align: top;
}

.aims-table tbody tr:nth-child(even) {
	background: #fafbfc;
}

/* ---------- Disclaimer box ---------- */
.aims-disclaimer {
	background: var(--aims-cream);
	border: 1px solid var(--aims-cream-line);
	border-radius: 8px;
	padding: 20px 24px;
	margin: 36px 0 10px;
}

.aims-disclaimer-title {
	font-family: "Inter", Sans-serif;
	color: #0f2741;
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 8px;
}

.aims-disclaimer p {
	margin: 0;
	font-family: "Inter", Sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: #0F2741;
}

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
	.aims-layout {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.aims-sidebar {
		position: static;
	}

	.aims-title {
		font-size: 28px;
		line-height: 38px;
	}

	.aims-overview {
		padding: 15px;
		margin: 0 0 25px;
	}

	.aims-disclaimer {
		padding: 15px;
	}

	.aims-disclaimer-title {
		font-size: 18px;
	}

	.aims-disclaimer p {
		font-size: 15px;
	}

	.aims-content h2 {
		font-size: 23px;
	}
}