/* Article page: layout with sidebar, header, hero, TOC, content styles, disclaimer, author box, share. */

.tmp-article-layout { display: grid; gap: 32px; }
@media (min-width: 1024px) {
	.tmp-article-layout { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 48px; align-items: start; }
}
.tmp-article { min-width: 0; padding: 20px var(--tmp-gutter) 32px; margin: 0 calc(var(--tmp-gutter) * -1); background: var(--tmp-card); }
@media (min-width: 600px) { .tmp-article { margin: 0; padding: 32px 40px 40px; border: 1px solid var(--tmp-border); border-radius: var(--tmp-radius); } }

.tmp-breadcrumbs { margin-bottom: 8px; color: var(--tmp-muted); font-size: 14px; }
.tmp-breadcrumbs a { color: var(--tmp-muted); }

.tmp-label {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--tmp-tint-blue);
	color: var(--tmp-brand-blue);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
	text-decoration: none;
}
.tmp-article__title { margin: 12px 0 16px; }

.tmp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; color: var(--tmp-muted); font-size: 15px; line-height: 1.5; }
.tmp-meta__avatar { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.tmp-meta__author { color: var(--tmp-ink); font-weight: 600; text-decoration: none; }
.tmp-meta__read { display: inline-flex; align-items: center; gap: 4px; }

.tmp-hero { margin: 24px calc(var(--tmp-gutter) * -1) 0; }
@media (min-width: 600px) { .tmp-hero { margin: 24px 0 0; } }
.tmp-hero img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
@media (min-width: 600px) { .tmp-hero img { border-radius: var(--tmp-radius); } }
.tmp-hero figcaption { padding: 6px var(--tmp-gutter) 0; color: var(--tmp-muted); font-size: 14px; }

/* Table of contents */
.tmp-toc { margin: 24px 0; border-radius: var(--tmp-radius); background: var(--tmp-tint-blue); }
.tmp-toc summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 48px;
	padding: 0 16px;
	color: var(--tmp-ink);
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}
.tmp-toc summary::-webkit-details-marker { display: none; }
.tmp-toc summary::after { content: "+"; font-size: 22px; line-height: 1; }
.tmp-toc details[open] summary::after { content: "−"; }
.tmp-toc ol { margin: 0; padding: 0 16px 16px 36px; font-size: .92em; line-height: 1.6; }
.tmp-toc ol ol { padding: 4px 0 4px 20px; }
.tmp-toc li { margin: 4px 0; }
.tmp-toc a { color: var(--tmp-ink); text-decoration: none; }
.tmp-toc a:hover { color: var(--tmp-brand-blue); text-decoration: underline; }

/* Content */
.tmp-content { margin-top: 24px; }
.tmp-content > :first-child { margin-top: 0; }
.tmp-content a { overflow-wrap: anywhere; }
.tmp-content img, .tmp-content iframe, .tmp-content video, .tmp-content .cff-form, .tmp-content form { max-width: 100%; }
.tmp-content img { height: auto; border-radius: 8px; }
.tmp-content ul, .tmp-content ol { padding-left: 1.4em; }
.tmp-content li { margin: .3em 0; }
.tmp-content blockquote {
	margin: 1.5em 0;
	padding: 16px 20px;
	border-left: 4px solid var(--tmp-brand-blue);
	border-radius: 0 var(--tmp-radius) var(--tmp-radius) 0;
	background: var(--tmp-tint-blue);
	color: var(--tmp-ink);
}
.tmp-content blockquote p:last-child { margin-bottom: 0; }
.tmp-content figure { margin: 1.5em 0; }

/* Tables scroll inside their own box; first column stays visible. */
.tmp-table-wrap { max-width: 100%; margin: 1.5em 0; overflow-x: auto; border: 1px solid var(--tmp-border); border-radius: var(--tmp-radius); -webkit-overflow-scrolling: touch; }
.tmp-table-wrap:focus-visible { outline-offset: 0; }
.tmp-content table { width: 100%; min-width: 480px; margin: 0; border-collapse: collapse; font-size: .9em; line-height: 1.5; }
.tmp-content th, .tmp-content td { padding: 10px 12px; border-bottom: 1px solid var(--tmp-border); text-align: left; vertical-align: top; }
.tmp-content thead th, .tmp-content tr:first-child th { background: var(--tmp-ink); color: #fff; font-weight: 600; }
.tmp-content tbody tr:nth-child(even) td { background: var(--tmp-surface); }
.tmp-content th:first-child, .tmp-content td:first-child { position: sticky; left: 0; z-index: 1; background: var(--tmp-card); font-weight: 600; }
.tmp-content thead th:first-child, .tmp-content tr:first-child th:first-child { background: var(--tmp-ink); }
.tmp-content tbody tr:nth-child(even) td:first-child { background: var(--tmp-surface); }
.tmp-content .wp-block-table { overflow: visible; }

/* Rank Math FAQ block */
.tmp-content .rank-math-faq-item { margin: 12px 0; padding: 16px 18px; border: 1px solid var(--tmp-border); border-radius: var(--tmp-radius); background: var(--tmp-card); }
.tmp-content .rank-math-question { margin: 0 0 6px; font-size: 1.05em; }
.tmp-content .rank-math-answer p:last-child { margin-bottom: 0; }

/* "Sources" list at the end of a post */
.tmp-content .tmp-sources { font-size: 1.1rem; }
.tmp-content .tmp-sources + ul, .tmp-content .tmp-sources + ol { padding: 12px 16px 12px 36px; border-radius: var(--tmp-radius); background: var(--tmp-surface); font-size: .9em; }

/* Disclaimer */
.tmp-disclaimer {
	margin: 32px 0 24px;
	padding: 14px 18px;
	border-left: 4px solid var(--tmp-accent-orange);
	border-radius: 0 var(--tmp-radius) var(--tmp-radius) 0;
	background: var(--tmp-tint-orange);
	color: var(--tmp-tint-orange-text);
	font-size: 16px;
	line-height: 1.6;
}

/* Author box */
.tmp-author-box { display: flex; gap: 16px; margin: 24px 0; padding: 20px; border: 1px solid var(--tmp-border); border-radius: var(--tmp-radius); background: var(--tmp-surface); }
.tmp-author-box__photo { flex: none; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
@media (min-width: 600px) { .tmp-author-box__photo { width: 96px; height: 96px; } }
.tmp-author-box__body { min-width: 0; font-size: 16px; line-height: 1.6; }
.tmp-author-box__body p { margin: 0 0 6px; }
.tmp-author-box__name { font-size: 18px; font-weight: 700; }
.tmp-author-box__name a { color: var(--tmp-ink); text-decoration: none; }
.tmp-author-box__role, .tmp-author-box__expertise { color: var(--tmp-muted); }
.tmp-author-box .tmp-social { margin: 6px 0; color: var(--tmp-ink); }
.tmp-author-box__more { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; text-decoration: none; }

/* Share */
.tmp-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 24px 0; }
.tmp-share__label { margin-right: 4px; color: var(--tmp-ink); font-weight: 600; }
.tmp-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--tmp-border);
	border-radius: 50%;
	background: var(--tmp-card);
	color: var(--tmp-ink);
	cursor: pointer;
}
.tmp-share__btn--whatsapp { border-color: #1f8f4e; background: #1f8f4e; color: #fff; }
.tmp-share__btn:hover { border-color: var(--tmp-ink); }
.tmp-share__copy.is-done { border-color: var(--tmp-gain); color: var(--tmp-gain); }

.tmp-section-title { margin: 32px 0 16px; font-size: 1.3rem; }
.tmp-related { margin-top: 32px; }

/* Sidebar */
.tmp-sidebar { min-width: 0; }
@media (min-width: 1024px) { .tmp-sidebar__inner { position: sticky; top: 96px; } }
.tmp-widget { margin-bottom: 20px; padding: 20px; border: 1px solid var(--tmp-border); border-radius: var(--tmp-radius); background: var(--tmp-card); }
.tmp-widget__title { margin: 0 0 12px; font-size: 1.1rem; }
.tmp-popular { margin: 0; padding-left: 1.3em; font-size: 16px; line-height: 1.5; }
.tmp-popular li { margin: 0 0 10px; }
.tmp-popular a { color: var(--tmp-ink); text-decoration: none; }
.tmp-popular a:hover { color: var(--tmp-brand-blue); }
.tmp-tool-links { margin: 0; padding: 0; list-style: none; }
.tmp-tool-links a { display: flex; align-items: center; justify-content: space-between; min-height: 44px; border-bottom: 1px solid var(--tmp-border); color: var(--tmp-ink); font-weight: 600; text-decoration: none; }

/* Comments */
.comments-area { margin-top: 32px; font-size: 16px; }
.comment-list { padding: 0; list-style: none; }
.comment-body { padding: 12px 0; border-bottom: 1px solid var(--tmp-border); }
.comment-form input:not([type="submit"]):not([type="checkbox"]), .comment-form textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--tmp-border); border-radius: 8px; }
.comment-form .submit { min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--tmp-accent-orange); color: var(--tmp-ink); font-weight: 600; cursor: pointer; }
