/* ==========================================================================
   TopTenTool Modern UI 3.0  –  front-end styles for GeneratePress
   Accent variables (--ttm-accent, --ttm-accent-dark, --ttm-on-accent,
   --ttm-accent-soft) are injected from the plugin settings page.
   ========================================================================== */

@font-face {
	font-family: "TTM Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "TTM Jakarta";
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url("../fonts/plus-jakarta-sans-latin-wght-normal.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--ttm-ink: #0b1020;
	--ttm-ink-2: #2b3350;
	--ttm-muted: #6a7392;
	--ttm-line: #e6e8f2;
	--ttm-bg: #f4f5fb;
	--ttm-card: #ffffff;
	--ttm-radius: 18px;
	--ttm-font: "TTM Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Bengali", sans-serif;
	--ttm-head: "TTM Jakarta", "TTM Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans Bengali", sans-serif;
	--ttm-accent: #6366f1;
	--ttm-accent-dark: #4338ca;
	--ttm-on-accent: #ffffff;
	--ttm-accent-soft: rgba(99, 102, 241, .12);
	--ttm-dark: #0b1020;
	--ttm-on-dark: #ffffff;
	--ttm-on-dark-2: rgba(255, 255, 255, .72);
	--ttm-on-dark-line: rgba(255, 255, 255, .2);
	--ttm-foot-bg: #0b1020;
	--ttm-foot-text: rgba(255, 255, 255, .72);
	--ttm-foot-strong: #ffffff;
	--ttm-foot-line: rgba(255, 255, 255, .14);
	--ttm-foot-card: rgba(255, 255, 255, .06);
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

/* ---------- Base typography ---------- */
body.ttm {
	background: var(--ttm-bg);
	color: var(--ttm-ink-2);
	font-family: var(--ttm-font);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body.ttm button,
body.ttm input,
body.ttm select,
body.ttm textarea { font-family: inherit; }
body.ttm h1,
body.ttm h2,
body.ttm h3,
body.ttm h4,
body.ttm h5,
body.ttm h6,
body.ttm .entry-title,
body.ttm .widget-title,
body.ttm .main-title { font-family: var(--ttm-head); }
body.ttm .grid-container { max-width: 1240px; }
body.ttm :focus-visible { outline: 2px solid var(--ttm-accent); outline-offset: 2px; }
body.ttm ::selection { background: var(--ttm-accent); color: var(--ttm-on-accent); }

/* ---------- Header & navigation ---------- */
body.ttm .site-header,
body.ttm .main-navigation { background: rgba(255, 255, 255, .92); }
body.ttm .site-header { border-bottom: 1px solid var(--ttm-line); }
body.ttm .main-navigation { box-shadow: none; }
body.ttm .site-header .main-navigation { background: transparent; }
body.ttm .inside-header { padding-top: 12px; padding-bottom: 12px; }
body.ttm .site-logo img,
body.ttm .header-image { max-height: 46px; width: auto; }
body.ttm .main-title,
body.ttm .main-title a { font-weight: 700; letter-spacing: -.02em; color: var(--ttm-ink) !important; }

.ttm-sticky-el {
	position: sticky;
	top: 0;
	z-index: 999;
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	backdrop-filter: saturate(180%) blur(14px);
	transition: box-shadow .25s ease;
}
.ttm-sticky-el.is-scrolled { box-shadow: 0 6px 24px rgba(15, 23, 34, .08); }
body.admin-bar .ttm-sticky-el { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ttm-sticky-el { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .ttm-sticky-el { top: 0; } }

body.ttm .main-navigation .main-nav > ul > li > a {
	position: relative;
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: -.005em;
	color: var(--ttm-ink) !important;
	background: transparent !important;
	padding-left: 15px;
	padding-right: 15px;
	transition: color .2s ease;
}
body.ttm .main-navigation .main-nav > ul > li > a::after {
	content: "";
	position: absolute;
	left: 15px;
	right: 15px;
	bottom: 14px;
	height: 2px;
	border-radius: 2px;
	background: var(--ttm-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .25s ease;
}
body.ttm .main-navigation .main-nav > ul > li:hover > a,
body.ttm .main-navigation .main-nav > ul > li.sfHover > a,
body.ttm .main-navigation .main-nav > ul > li[class*="current-menu-"] > a {
	color: var(--ttm-accent-dark) !important;
	background: transparent !important;
}
body.ttm .main-navigation .main-nav > ul > li:hover > a::after,
body.ttm .main-navigation .main-nav > ul > li.sfHover > a::after,
body.ttm .main-navigation .main-nav > ul > li[class*="current-menu-"] > a::after { transform: scaleX(1); }

body.ttm .main-navigation ul ul {
	background: #fff;
	border: 1px solid var(--ttm-line);
	border-radius: 14px;
	box-shadow: 0 16px 40px rgba(15, 23, 34, .12);
	padding: 6px;
	overflow: hidden;
}
body.ttm .main-navigation ul ul li a {
	border-radius: 9px;
	padding: 10px 14px;
	line-height: 1.4;
	font-size: 14px;
	font-weight: 500;
	color: var(--ttm-ink) !important;
	background: transparent !important;
}
body.ttm .main-navigation ul ul li:hover > a,
body.ttm .main-navigation ul ul li[class*="current-menu-"] > a {
	background: var(--ttm-accent-soft) !important;
	color: var(--ttm-accent-dark) !important;
}
body.ttm .menu-toggle { font-weight: 600; color: var(--ttm-ink) !important; }

@media (max-width: 768px) {
	body.ttm .main-navigation .main-nav > ul > li > a::after { display: none; }
	body.ttm .main-navigation ul ul { box-shadow: none; border: 0; border-radius: 0; padding: 0; }
}

/* ---------- Home hero ---------- */
.ttm-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--ttm-dark);
	color: var(--ttm-on-dark);
}
.ttm-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(color-mix(in srgb, var(--ttm-on-dark) 15%, transparent) 1.3px, transparent 1.6px);
	background-size: 26px 26px;
	-webkit-mask-image: linear-gradient(100deg, transparent 5%, #000 70%);
	mask-image: linear-gradient(100deg, transparent 5%, #000 70%);
}
.ttm-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: -140px;
	bottom: -280px;
	width: 540px;
	height: 540px;
	border-radius: 50%;
	background: var(--ttm-accent);
	opacity: .28;
	filter: blur(90px);
}
.ttm-hero__inner { max-width: 1240px; margin: 0 auto; padding: 64px 20px 68px; }
body.ttm .ttm-hero__title {
	margin: 0;
	max-width: 20ch;
	color: var(--ttm-on-dark);
	font-size: clamp(2rem, 4.4vw, 3.1rem);
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: -.03em;
}
.ttm-hero__text {
	margin: 18px 0 0;
	max-width: 58ch;
	color: var(--ttm-on-dark-2);
	font-size: clamp(.98rem, 1.4vw, 1.08rem);
	line-height: 1.65;
}
.ttm-hero__search {
	display: flex;
	gap: 6px;
	align-items: center;
	margin: 28px 0 0;
	max-width: 620px;
	padding: 6px;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .35);
}
.ttm-hero__search:focus-within { outline: 3px solid var(--ttm-accent); outline-offset: 2px; }
body.ttm .ttm-hero__search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: 0 !important;
	padding: 13px 16px;
	font-size: 15.5px;
	color: var(--ttm-ink);
}
body.ttm .ttm-hero__search button {
	flex: none;
	border: 0;
	cursor: pointer;
	padding: 13px 24px;
	border-radius: 11px;
	background: var(--ttm-accent);
	color: var(--ttm-on-accent);
	font-size: 14.5px;
	font-weight: 700;
	transition: filter .2s ease;
}
body.ttm .ttm-hero__search button:hover { filter: brightness(1.07); }
.ttm-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.ttm-hero__chips a {
	padding: 6px 14px;
	border: 1px solid var(--ttm-on-dark-line);
	border-radius: 999px;
	color: var(--ttm-on-dark);
	font-size: 13.5px;
	font-weight: 500;
	text-decoration: none;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.ttm-hero__chips a:hover { background: var(--ttm-on-dark); color: var(--ttm-dark); border-color: var(--ttm-on-dark); }
@media (max-width: 600px) {
	.ttm-hero__inner { padding: 44px 18px 48px; }
	.ttm-hero__search { flex-direction: column; align-items: stretch; }
	body.ttm .ttm-hero__search button { width: 100%; }
}

/* ---------- Layout spacing ---------- */
body.ttm .site-content { gap: 28px; padding: 36px 20px 56px; }
body.ttm .site-main { margin: 0 !important; }
body.ttm .site-main > * { margin-bottom: 24px; }
body.ttm .inside-right-sidebar,
body.ttm .inside-left-sidebar { margin: 0 !important; }
body.ttm .is-right-sidebar,
body.ttm .is-left-sidebar { width: 310px; flex: 0 0 310px; }
body.ttm .content-area { width: 100%; min-width: 0; }
@media (max-width: 768px) {
	body.ttm .site-content { padding: 24px 16px 40px; flex-direction: column; }
	body.ttm .is-right-sidebar,
	body.ttm .is-left-sidebar { width: 100%; flex: 1 1 auto; }
}

body.ttm-layout-full:is(.blog, .archive, .search-results) #right-sidebar,
body.ttm-layout-full:is(.blog, .archive, .search-results) #left-sidebar,
body.ttm-nosb-single:is(.single, .page) #right-sidebar,
body.ttm-nosb-single:is(.single, .page) #left-sidebar { display: none; }

/* section heading above the home grid */
.ttm-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 20px; }
body.ttm .ttm-section-head h2 { margin: 0; color: var(--ttm-ink); font-size: 1.3rem; font-weight: 700; letter-spacing: -.02em; }
.ttm-section-head span { color: var(--ttm-muted); font-size: 14px; }
@media (max-width: 600px) { .ttm-section-head span { display: none; } }

/* ---------- Post card grid (home, archives, search) ---------- */
body.ttm:is(.blog, .archive, .search-results) .site-main {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}
body.ttm-layout-full:is(.blog, .archive, .search-results) .site-main { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.ttm:is(.blog, .archive, .search-results) .site-main > * { margin: 0 !important; }
body.ttm:is(.blog, .archive, .search-results) .site-main > :not(article) { grid-column: 1 / -1; }
@media (max-width: 1100px) {
	body.ttm-layout-full:is(.blog, .archive, .search-results) .site-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
	body.ttm:is(.blog, .archive, .search-results) .site-main,
	body.ttm-layout-full:is(.blog, .archive, .search-results) .site-main { grid-template-columns: minmax(0, 1fr); }
}

body.ttm:is(.blog, .archive, .search-results) .site-main > article.post { display: flex; }
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .inside-article {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1;
	width: 100%;
	padding: 10px !important;
	background: var(--ttm-card);
	border: 1px solid var(--ttm-line);
	border-radius: var(--ttm-radius);
	box-shadow: none;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post:hover .inside-article {
	transform: translateY(-3px);
	border-color: #d3d8e1;
	box-shadow: 0 18px 36px -18px rgba(15, 23, 34, .28);
}

/* order: image, category, title + meta, excerpt */
body.ttm .site-main > article.post .inside-article > .post-image {
	order: -3;
	margin: 0 !important;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--ttm-bg);
	border-radius: 12px;
}
body.ttm .site-main > article.post .inside-article > .post-image a { display: block; height: 100%; }
body.ttm .site-main > article.post .inside-article > .post-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	transition: transform .6s ease;
}
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post:hover .post-image img { transform: scale(1.035); }

body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > footer.entry-meta {
	order: -2;
	margin: 0;
	padding: 16px 12px 0;
}
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > footer.entry-meta :is(.comments-link, .tags-links) { display: none; }
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > footer.entry-meta a { position: relative; z-index: 2; }

body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > header.entry-header {
	order: -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 10px;
	row-gap: 6px;
	margin: 0;
	padding: 8px 12px 0;
}
body.ttm:is(.blog, .archive, .search-results) .entry-header .entry-title { flex: 0 0 100%; margin: 0; }
body.ttm:is(.blog, .archive, .search-results) .entry-header .entry-meta { margin: 0; }
body.ttm:is(.blog, .archive, .search-results) .entry-header .byline { display: none; }
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > .entry-summary {
	flex: 1;
	margin: 0;
	padding: 10px 12px 12px;
	color: #566379;
	font-size: 14.5px;
	line-height: 1.65;
}
body.ttm:is(.blog, .archive, .search-results) .entry-summary p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
}
body.ttm:is(.blog, .archive, .search-results) .entry-summary a.read-more { display: none; }

/* card titles, stretched link so the whole card is clickable */
body.ttm:is(.blog, .archive, .search-results) .entry-title {
	font-size: 1.06rem;
	line-height: 1.35;
	font-weight: 650;
	letter-spacing: -.012em;
}
body.ttm:is(.blog, .archive, .search-results) .entry-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: var(--ttm-radius); }
body.ttm .entry-title a { color: var(--ttm-ink) !important; text-decoration: none; transition: color .2s ease; }
body.ttm .entry-title a:hover { color: var(--ttm-accent-dark) !important; }

/* meta line */
body.ttm .entry-meta { color: var(--ttm-muted); font-size: 13px; }
body.ttm .entry-meta a { color: var(--ttm-muted); text-decoration: none; }
body.ttm .entry-meta a:hover { color: var(--ttm-accent-dark); }
.ttm-readtime { margin: 0; color: var(--ttm-muted); font-size: 13px; }
.ttm-readtime::before { content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 10px 3px 0; border-radius: 50%; background: currentColor; opacity: .6; vertical-align: middle; }

/* category label (cards) */
body.ttm footer.entry-meta .gp-icon { display: none; }
body.ttm footer.entry-meta :is(.cat-links, .tags-links) { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 12px; font-size: 0; }
body.ttm footer.entry-meta .cat-links a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--ttm-accent-dark);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}
body.ttm footer.entry-meta .cat-links a::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ttm-accent); }
body.ttm footer.entry-meta .cat-links a:hover { color: var(--ttm-ink); }

/* archive heading */
body.ttm .page-header {
	background: var(--ttm-card);
	border: 1px solid var(--ttm-line);
	border-radius: 16px;
	padding: 24px 26px !important;
}
body.ttm .page-header .page-title { margin: 0; color: var(--ttm-ink); font-size: clamp(1.4rem, 2.6vw, 1.8rem); font-weight: 700; letter-spacing: -.02em; }
body.ttm .page-header .taxonomy-description,
body.ttm .page-header .taxonomy-description p { margin: 8px 0 0; color: var(--ttm-muted); }

/* ---------- Pagination ---------- */
body.ttm .paging-navigation { background: transparent; padding: 8px 0 0 !important; margin: 0; }
body.ttm .paging-navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
body.ttm .paging-navigation .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid var(--ttm-line);
	border-radius: 11px;
	color: var(--ttm-ink);
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .2s ease, color .2s ease;
}
body.ttm .paging-navigation a.page-numbers:hover { border-color: var(--ttm-accent); color: var(--ttm-accent-dark); }
body.ttm .paging-navigation .page-numbers.current { background: var(--ttm-dark); border-color: var(--ttm-dark); color: var(--ttm-on-dark); }
body.ttm .paging-navigation .page-numbers.dots { background: transparent; border-color: transparent; min-width: 0; padding: 0 4px; }

/* ---------- Sidebar widgets ---------- */
body.ttm .sidebar .widget {
	margin: 0 0 22px;
	padding: 22px !important;
	background: var(--ttm-card);
	border: 1px solid var(--ttm-line);
	border-radius: var(--ttm-radius);
	box-shadow: none;
	font-size: 14.5px;
}
body.ttm .sidebar .widget:last-child { margin-bottom: 0; }
body.ttm .sidebar :is(.widget-title, .widget .wp-block-heading) {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	color: var(--ttm-ink);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: -.01em;
}
body.ttm .sidebar :is(.widget-title, .widget .wp-block-heading)::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 2px; background: var(--ttm-accent); }
body.ttm .sidebar .widget ul { list-style: none; margin: 0; padding: 0; }
body.ttm .sidebar .widget ul li { margin: 0; padding: 10px 0; border-bottom: 1px solid #eef0f3; }
body.ttm .sidebar .widget ul li:first-child { padding-top: 0; }
body.ttm .sidebar .widget ul li:last-child { padding-bottom: 0; border-bottom: 0; }
body.ttm .sidebar .widget a { color: var(--ttm-ink); font-weight: 600; text-decoration: none; transition: color .2s ease; }
body.ttm .sidebar .widget a:hover { color: var(--ttm-accent-dark); }
body.ttm .sidebar .wp-block-latest-posts__list li { display: flex; align-items: center; gap: 12px; }
body.ttm .sidebar .wp-block-latest-posts__featured-image { flex: 0 0 84px; margin: 0 !important; float: none !important; }
body.ttm .sidebar .wp-block-latest-posts__featured-image a { display: block; }
body.ttm .sidebar .wp-block-latest-posts__featured-image img { display: block; width: 84px !important; height: 60px !important; object-fit: cover; border-radius: 9px; }
body.ttm .sidebar .wp-block-latest-posts__post-title { font-size: 13.5px; line-height: 1.4; }

/* search fields */
body.ttm .search-form,
body.ttm .wp-block-search__inside-wrapper { display: flex; gap: 8px; }
body.ttm .search-form label { flex: 1; margin: 0; min-width: 0; }
body.ttm .search-form .search-field,
body.ttm .wp-block-search__input {
	width: 100%;
	padding: 11px 14px;
	background: #f6f7f9;
	border: 1px solid var(--ttm-line);
	border-radius: 11px;
	font-size: 14.5px;
}
body.ttm .search-form .search-field:focus,
body.ttm .wp-block-search__input:focus { background: #fff; border-color: var(--ttm-accent); outline: 0; }
body.ttm .search-form .search-submit,
body.ttm .wp-block-search__button {
	padding: 11px 16px;
	border: 0;
	border-radius: 11px;
	background: var(--ttm-dark);
	color: var(--ttm-on-dark);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
body.ttm .search-form .search-submit:hover,
body.ttm .wp-block-search__button:hover { background: var(--ttm-accent); color: var(--ttm-on-accent); }

/* ==========================================================================
   Single posts & pages – clean, open reading layout
   ========================================================================== */
body.ttm:is(.single, .page) { background: #fff; }
body.ttm:is(.single, .page) .site-content { padding-top: 44px; }
body.ttm-nosb-single:is(.single, .page) .site-main { max-width: 780px; margin-left: auto !important; margin-right: auto !important; }
body.ttm:is(.single, .page) .inside-article {
	padding: 0 !important;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
body.ttm:is(.single, .page) .site-main > article { margin-bottom: 28px; }

/* header block */
body.ttm:is(.single, .page) .entry-header { display: flex; flex-wrap: wrap; align-items: center; column-gap: 10px; row-gap: 6px; margin: 0; }
body.ttm:is(.single, .page) .entry-header > * { flex: 0 0 auto; }
body.ttm:is(.single, .page) .entry-header .entry-title { flex: 0 0 100%; }
.ttm-kicker {
	flex: 0 0 100% !important;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	color: var(--ttm-accent-dark);
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none;
}
.ttm-kicker::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--ttm-accent); }
.ttm-kicker:hover { color: var(--ttm-ink); }
body.ttm:is(.single, .page) .entry-title {
	margin: 0 0 14px;
	color: var(--ttm-ink);
	font-size: clamp(1.65rem, 3.3vw, 2.3rem);
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -.028em;
}
body.ttm.single .entry-header .entry-meta { margin: 0; font-size: 13.5px; }
body.ttm.single .ttm-readtime { font-size: 13.5px; }

body.ttm.single :is(.featured-image, .page-header-image-single) { margin: 24px 0 6px !important; padding: 0; }
body.ttm.single :is(.featured-image, .page-header-image-single) img { display: block; width: 100%; height: auto; border-radius: 16px; }

/* article body */
body.ttm:is(.single, .page) .entry-content { margin-top: 26px; color: var(--ttm-ink-2); font-size: 1.0625rem; line-height: 1.78; }
body.ttm .entry-content > *:first-child { margin-top: 0; }
body.ttm .entry-content p { margin: 0 0 1.25em; }

/* H2 – editorial heading: hairline with an accent segment */
body.ttm .entry-content h2 {
	position: relative;
	margin: 2.5em 0 .85em;
	padding-bottom: .6em;
	border-bottom: 1px solid var(--ttm-line);
	color: var(--ttm-ink);
	font-size: clamp(1.3rem, 2.3vw, 1.6rem);
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -.022em;
	scroll-margin-top: 100px;
}
body.ttm .entry-content h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 56px;
	height: 3px;
	border-radius: 3px;
	background: var(--ttm-accent);
}
/* H3 – accent bar marker */
body.ttm .entry-content h3 {
	position: relative;
	margin: 2em 0 .55em;
	padding-left: 16px;
	color: var(--ttm-ink);
	font-size: 1.14rem;
	line-height: 1.35;
	font-weight: 650;
	letter-spacing: -.015em;
	scroll-margin-top: 100px;
}
body.ttm .entry-content h3::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	bottom: .2em;
	width: 4px;
	border-radius: 4px;
	background: var(--ttm-accent);
}
body.ttm .entry-content h4 { margin: 1.7em 0 .4em; color: var(--ttm-ink); font-size: 1.02rem; font-weight: 700; letter-spacing: -.01em; }

body.ttm .entry-content a:not(.wp-block-button__link) {
	color: var(--ttm-accent-dark);
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--ttm-accent) 40%, transparent);
	text-decoration-thickness: 1.5px;
	text-underline-offset: 3px;
	transition: color .2s ease, text-decoration-color .2s ease;
}
body.ttm .entry-content a:not(.wp-block-button__link):hover { color: var(--ttm-ink); text-decoration-color: var(--ttm-accent); }
body.ttm .entry-content :is(ul, ol) { margin: 0 0 1.4em 1.3em; padding: 0; }
body.ttm .entry-content li { margin-bottom: .45em; padding-left: .2em; }
body.ttm .entry-content li::marker { color: var(--ttm-accent-dark); font-weight: 700; }
body.ttm .entry-content blockquote {
	margin: 1.9em 0;
	padding: 18px 24px;
	background: var(--ttm-accent-soft);
	border: 0;
	border-left: 4px solid var(--ttm-accent);
	border-radius: 0 12px 12px 0;
	color: var(--ttm-ink);
	font-size: 1.02em;
}
body.ttm .entry-content blockquote p:last-child { margin-bottom: 0; }
body.ttm .entry-content img { max-width: 100%; height: auto; border-radius: 14px; }
body.ttm .entry-content figure { margin: 1.9em 0; }
body.ttm .entry-content figcaption,
body.ttm .entry-content .wp-caption-text { margin-top: 10px; color: var(--ttm-muted); font-size: .86rem; line-height: 1.5; text-align: center; }
body.ttm .entry-content hr { height: 1px; margin: 2.4em 0; border: 0; background: var(--ttm-line); }
body.ttm .entry-content code { padding: .15em .4em; background: #eef0f4; border-radius: 6px; font-size: .88em; }
body.ttm .entry-content pre { padding: 18px 20px; background: var(--ttm-ink); color: #e6ebf2; border-radius: 12px; font-size: .9rem; line-height: 1.6; }
body.ttm .entry-content pre code { padding: 0; background: transparent; color: inherit; }
body.ttm .entry-content .wp-block-button__link {
	padding: 13px 26px;
	border-radius: 11px;
	background: var(--ttm-accent);
	color: var(--ttm-on-accent);
	font-weight: 700;
	text-decoration: none;
	transition: filter .2s ease;
}
body.ttm .entry-content .wp-block-button__link:hover { filter: brightness(1.07); color: var(--ttm-on-accent); }

/* tables – light header, hairlines */
body.ttm .entry-content .wp-block-table { margin: 0; }
.ttm-table-wrap {
	margin: 1.9em 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
	border: 1px solid var(--ttm-line);
	border-radius: 14px;
}
body.ttm .ttm-table-wrap table { width: 100%; min-width: 560px; margin: 0; border: 0; border-collapse: collapse; font-size: .92rem; line-height: 1.5; }
body.ttm .ttm-table-wrap :is(th, td) { padding: 12px 16px; border: 0; border-top: 1px solid #edeff3; text-align: left; vertical-align: top; }
body.ttm .ttm-table-wrap :is(thead th, tr:first-child th) {
	background: #f3f5f9;
	border-top: 0;
	border-bottom: 1px solid var(--ttm-line);
	color: var(--ttm-ink);
	font-weight: 700;
	white-space: nowrap;
}
body.ttm .ttm-table-wrap tbody tr:hover td { background: #fafbfd; }
body.ttm .ttm-table-wrap td:first-child { color: var(--ttm-ink); font-weight: 600; }

/* table of contents */
.ttm-toc { margin: 0 0 2.2em; background: #f7f8fb; border: 1px solid var(--ttm-line); border-radius: 14px; font-size: .98rem; line-height: 1.5; }
.ttm-toc summary { display: flex; align-items: center; justify-content: space-between; padding: 15px 20px; color: var(--ttm-ink); font-family: var(--ttm-head); font-weight: 700; cursor: pointer; list-style: none; }
.ttm-toc summary::-webkit-details-marker { display: none; }
.ttm-toc summary::after { content: ""; width: 8px; height: 8px; margin: -4px 4px 0 12px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s ease; }
.ttm-toc[open] summary::after { margin-top: 2px; transform: rotate(-135deg); }
body.ttm .entry-content .ttm-toc ol { margin: 0; padding: 0 20px 18px 42px; }
body.ttm .entry-content .ttm-toc li { margin: 0 0 .4em; }
body.ttm .entry-content .ttm-toc a { color: var(--ttm-ink); font-weight: 500; text-decoration: none; }
body.ttm .entry-content .ttm-toc a:hover { color: var(--ttm-accent-dark); text-decoration: underline; }

/* single footer: categories + prev/next (GeneratePress puts both in footer.entry-meta) */
body.ttm.single footer.entry-meta { display: block; margin: 2.4em 0 0; padding-top: 1.5em; border-top: 1px solid var(--ttm-line); }
body.ttm.single footer.entry-meta :is(.cat-links, .tags-links) { margin: 0 0 12px; }
body.ttm.single footer.entry-meta :is(.cat-links, .tags-links) a {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--ttm-accent-soft);
	color: var(--ttm-accent-dark);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	transition: background .2s ease, color .2s ease;
}
body.ttm.single footer.entry-meta .cat-links a::before { display: none; }
body.ttm.single footer.entry-meta .tags-links a { background: #eceef2; color: var(--ttm-ink-2); }
body.ttm.single footer.entry-meta :is(.cat-links, .tags-links) a:hover { background: var(--ttm-accent); color: var(--ttm-on-accent); }

body.ttm .post-navigation { display: flex; flex-wrap: wrap; gap: 14px; margin: 22px 0 0; padding: 0 !important; background: transparent; }
body.ttm .post-navigation :is(.nav-previous, .nav-next) {
	float: none;
	flex: 1 1 280px;
	margin: 0;
	padding: 15px 18px;
	background: #fff;
	border: 1px solid var(--ttm-line);
	border-radius: 14px;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.4;
	transition: border-color .2s ease;
}
body.ttm .post-navigation :is(.nav-previous, .nav-next):hover { border-color: var(--ttm-accent); }
body.ttm .post-navigation a { color: var(--ttm-ink); text-decoration: none; }
body.ttm .post-navigation a:hover { color: var(--ttm-accent-dark); }

/* related posts */
.ttm-related { margin-top: 2.6em; padding-top: 2em; border-top: 1px solid var(--ttm-line); }
body.ttm .ttm-related__title { margin: 0 0 16px; color: var(--ttm-ink); font-size: 1.2rem; font-weight: 700; letter-spacing: -.02em; }
.ttm-related__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ttm-rel { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ttm-line); border-radius: 14px; overflow: hidden; text-decoration: none; transition: border-color .2s ease, transform .25s ease; }
.ttm-rel:hover { border-color: #d3d8e1; transform: translateY(-2px); }
.ttm-rel__img { aspect-ratio: 16 / 9; background: #e9ecf1; overflow: hidden; }
.ttm-rel__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ttm-rel__t { padding: 12px 14px 14px; color: var(--ttm-ink); font-size: .9rem; font-weight: 650; line-height: 1.4; }
@media (max-width: 760px) { .ttm-related__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Comments ---------- */
body.ttm .comments-area { margin-top: 12px; padding: 34px 0 0 !important; background: transparent; border: 0; border-top: 1px solid var(--ttm-line); border-radius: 0; }
body.ttm :is(.comment-reply-title, .comments-title) { margin: 0 0 16px; color: var(--ttm-ink); font-size: 1.25rem; font-weight: 700; letter-spacing: -.02em; }
body.ttm .comment-form :is(textarea, input[type="text"], input[type="email"], input[type="url"]) {
	width: 100%;
	padding: 12px 14px;
	background: #f6f7f9;
	border: 1px solid var(--ttm-line);
	border-radius: 11px;
	font-size: 14.5px;
}
body.ttm .comment-form :is(textarea, input):focus { background: #fff; border-color: var(--ttm-accent); outline: 0; }
body.ttm .comment-form .form-submit input[type="submit"] {
	padding: 13px 26px;
	border: 0;
	border-radius: 11px;
	background: var(--ttm-accent);
	color: var(--ttm-on-accent);
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
	transition: filter .2s ease;
}
body.ttm .comment-form .form-submit input[type="submit"]:hover { filter: brightness(1.07); }

/* ---------- Footer ---------- */
body.ttm .site-footer { position: relative; margin-top: 40px; background: var(--ttm-foot-bg); color: var(--ttm-foot-text); overflow: hidden; }
body.ttm .site-footer::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--ttm-accent), transparent 70%);
}
body.ttm .site-footer .footer-widgets { background: transparent; color: var(--ttm-foot-text); }
body.ttm .site-footer .footer-widgets .widget-title { color: var(--ttm-foot-strong); font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
body.ttm .site-footer .footer-widgets { border-top: 1px solid var(--ttm-foot-line); }
body.ttm .site-info { padding: 0; background: transparent; color: var(--ttm-foot-text); font-size: 13.5px; }
body.ttm .site-info .inside-site-info { padding: 22px 20px; }
body.ttm .site-footer .footer-widgets + .site-info,
body.ttm .site-footer .ttm-footer + .footer-widgets + .site-info,
body.ttm .site-footer .ttm-footer ~ .site-info { border-top: 1px solid var(--ttm-foot-line); }
body.ttm .site-footer a { color: var(--ttm-foot-strong); text-decoration: none; transition: color .2s ease, opacity .2s ease; }
body.ttm .site-footer a:hover { color: var(--ttm-accent); }

.ttm-footer { max-width: 1240px; margin: 0 auto; padding: 56px 20px 40px; }
.ttm-footer__inner { display: grid; gap: 40px 48px; }
.ttm-footer--c3 .ttm-footer__inner { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.2fr); }
.ttm-footer--c2 .ttm-footer__inner { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.ttm-footer--c1 .ttm-footer__inner { grid-template-columns: minmax(0, 560px); }
.ttm-footer__name { display: inline-block; color: var(--ttm-foot-strong) !important; font-family: var(--ttm-head); font-size: 1.45rem; font-weight: 800; letter-spacing: -.03em; }
.ttm-footer__name::after { content: "."; color: var(--ttm-accent); }
.ttm-footer__brand p { max-width: 42ch; margin: 14px 0 0; color: var(--ttm-foot-text); font-size: .95rem; line-height: 1.7; }
.ttm-footer__search { display: flex; gap: 6px; max-width: 360px; margin-top: 22px; padding: 5px; background: var(--ttm-foot-card); border: 1px solid var(--ttm-foot-line); border-radius: 14px; }
.ttm-footer__search:focus-within { border-color: var(--ttm-accent); }
body.ttm .ttm-footer__search input[type="search"] { flex: 1; min-width: 0; padding: 10px 12px; background: transparent !important; border: 0 !important; box-shadow: none !important; outline: 0 !important; color: var(--ttm-foot-strong); font-size: 14.5px; }
body.ttm .ttm-footer__search input::placeholder { color: var(--ttm-foot-text); opacity: .8; }
body.ttm .ttm-footer__search button { flex: none; padding: 10px 18px; border: 0; border-radius: 10px; background: var(--ttm-accent); color: var(--ttm-on-accent); font-size: 14px; font-weight: 700; cursor: pointer; transition: filter .2s ease; }
body.ttm .ttm-footer__search button:hover { filter: brightness(1.08); }
body.ttm .ttm-footer__h { margin: 0 0 16px; color: var(--ttm-foot-strong); font-size: .78rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.ttm-footer__col ul { margin: 0; padding: 0; list-style: none; }
.ttm-footer__col li { margin: 0; padding: 0; }
.ttm-footer__col li a { position: relative; display: block; padding: 6px 0; font-size: .95rem; line-height: 1.45; opacity: .85; }
.ttm-footer__col li a:hover { opacity: 1; transform: translateX(3px); }
.ttm-footer__col li a { transition: color .2s ease, opacity .2s ease, transform .2s ease; }
.ttm-footer__legal { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--ttm-foot-line); font-size: 13.5px; }
@media (max-width: 860px) {
	.ttm-footer { padding: 44px 20px 28px; }
	.ttm-footer--c3 .ttm-footer__inner,
	.ttm-footer--c2 .ttm-footer__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.ttm-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
	.ttm-footer--c3 .ttm-footer__inner,
	.ttm-footer--c2 .ttm-footer__inner { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Reading progress + back to top ---------- */
.ttm-progress { position: fixed; top: 0; left: 0; z-index: 100000; width: 100%; height: 3px; background: var(--ttm-accent); transform: scaleX(0); transform-origin: 0 50%; pointer-events: none; }
body.admin-bar .ttm-progress { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ttm-progress { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .ttm-progress { top: 0; } }

.ttm-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 998;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ttm-dark);
	color: var(--ttm-on-dark);
	box-shadow: 0 8px 22px rgba(15, 23, 34, .28);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s, background .2s ease, color .2s ease;
}
.ttm-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.ttm-top:hover { background: var(--ttm-accent); color: var(--ttm-on-accent); }
.ttm-top svg { display: block; width: 20px; height: 20px; }

@media (prefers-reduced-motion: reduce) {
	body.ttm *, body.ttm *::before, body.ttm *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ==========================================================================
   2.1  Modern post cards
   ========================================================================== */
body.ttm:is(.blog, .archive, .search-results) .site-main { gap: 28px; }

/* card surface variants (body class set from Settings > TopTenTool UI) */
body.ttm-card-soft:is(.blog, .archive, .search-results) .site-main > article.post .inside-article {
	border-color: rgba(15, 23, 34, .05);
	box-shadow: 0 1px 2px rgba(15, 23, 34, .04), 0 10px 28px -14px rgba(15, 23, 34, .16);
}
body.ttm-card-soft:is(.blog, .archive, .search-results) .site-main > article.post:hover .inside-article {
	border-color: var(--ttm-accent-soft);
	box-shadow: 0 2px 4px rgba(15, 23, 34, .04), 0 24px 44px -18px rgba(15, 23, 34, .26);
}
body.ttm-card-flat:is(.blog, .archive, .search-results) .site-main > article.post .inside-article { border-color: transparent; }
body.ttm-card-flat:is(.blog, .archive, .search-results) .site-main > article.post:hover .inside-article { border-color: transparent; box-shadow: 0 18px 36px -20px rgba(15, 23, 34, .24); }

/* image: slightly taller, soft darkening on hover */
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > .post-image {
	position: relative;
	aspect-ratio: 16 / 10;
	border-radius: 13px;
}
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .post-image::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(15, 23, 34, 0) 55%, rgba(15, 23, 34, .35));
	opacity: 0;
	transition: opacity .3s ease;
}
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post:hover .post-image::after { opacity: 1; }

/* category badge floating on the image */
body.ttm-cat-badge:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > footer.entry-meta {
	position: absolute;
	top: 22px;
	left: 22px;
	z-index: 3;
	padding: 0;
	max-width: calc(100% - 44px);
}
body.ttm-cat-badge:is(.blog, .archive, .search-results) footer.entry-meta .cat-links { gap: 6px; }
body.ttm-cat-badge:is(.blog, .archive, .search-results) footer.entry-meta .cat-links a {
	padding: 5px 11px;
	background: rgba(255, 255, 255, .94);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(15, 23, 34, .18);
	font-size: 12px;
	letter-spacing: .01em;
}
body.ttm-cat-badge:is(.blog, .archive, .search-results) footer.entry-meta .cat-links a:hover { background: var(--ttm-accent); color: var(--ttm-on-accent); }
body.ttm-cat-badge:is(.blog, .archive, .search-results) footer.entry-meta .cat-links a:hover::before { background: var(--ttm-on-accent); }
/* only the first category on a card, keeps it tidy */
body.ttm-cat-badge:is(.blog, .archive, .search-results) footer.entry-meta .cat-links a:not(:first-of-type) { display: none; }
body.ttm-cat-badge:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > header.entry-header { padding-top: 16px; }

/* title + meta */
body.ttm:is(.blog, .archive, .search-results) .entry-title { font-size: 1.12rem; line-height: 1.32; font-weight: 700; }
body.ttm:is(.blog, .archive, .search-results) .entry-header .entry-meta { order: 3; display: flex; align-items: center; flex-wrap: wrap; font-size: 12.5px; }
body.ttm:is(.blog, .archive, .search-results) .entry-header .ttm-readtime { order: 4; font-size: 12.5px; }

/* "Read more" cue (decorative, the whole card is already one link) */
body.ttm:is(.blog, .archive, .search-results) .entry-summary::after {
	content: "Read more \2192";
	display: block;
	margin-top: 14px;
	color: var(--ttm-accent-dark);
	font-size: 13.5px;
	font-weight: 700;
	transition: letter-spacing .25s ease;
}
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post:hover .entry-summary::after { letter-spacing: .02em; }

/* ---- featured first post on the home page ---- */
@media (min-width: 861px) {
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type { grid-column: 1 / -1; }
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article {
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		column-gap: 30px;
		padding: 14px !important;
	}
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article > .post-image {
		grid-column: 1;
		grid-row: 1 / span 3;
		aspect-ratio: auto;
		min-height: 340px;
		border-radius: 14px;
	}
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article > header.entry-header {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
		padding: 18px 18px 0 0;
	}
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article > header.entry-header::before {
		content: "Featured";
		flex: 0 0 100%;
		margin-bottom: 4px;
		color: var(--ttm-accent-dark);
		font-size: 12px;
		font-weight: 800;
		letter-spacing: .12em;
		text-transform: uppercase;
	}
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .entry-title { font-size: clamp(1.5rem, 2.4vw, 2.05rem); line-height: 1.2; letter-spacing: -.025em; }
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article > .entry-summary {
		grid-column: 2;
		grid-row: 2;
		align-self: start;
		padding: 14px 18px 18px 0;
		font-size: 15.5px;
	}
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .entry-summary p { -webkit-line-clamp: 5; }
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article > footer.entry-meta { grid-column: 1; grid-row: 1; }
}

/* ---- single post polish ---- */
.ttm-kicker { flex: 0 0 auto !important; margin-bottom: 14px; width: fit-content; padding: 5px 13px 5px 11px; background: var(--ttm-accent-soft); border-radius: 999px; font-size: 12.5px; }
body.ttm.single :is(.featured-image, .page-header-image-single) img { box-shadow: 0 24px 50px -26px rgba(15, 23, 34, .4); }
body.ttm.single .entry-header .entry-meta { display: flex; align-items: center; gap: 4px; }
body.ttm .entry-content > p:first-of-type { color: var(--ttm-ink); font-size: 1.12em; line-height: 1.7; }
body.ttm:is(.single, .page) .entry-content > p:first-of-type { font-weight: 450; }

/* ==========================================================================
   2.1.1  Sidebar redesign + hidden section heading
   ========================================================================== */
.ttm-section-head { display: none !important; }

/* sticky sidebar on desktop */
@media (min-width: 769px) {
	body.ttm .is-right-sidebar .inside-right-sidebar,
	body.ttm .is-left-sidebar .inside-left-sidebar { position: sticky; top: 96px; }
	body.ttm.admin-bar .is-right-sidebar .inside-right-sidebar,
	body.ttm.admin-bar .is-left-sidebar .inside-left-sidebar { top: 128px; }
}

body.ttm .sidebar .widget {
	position: relative;
	padding: 22px 22px 20px !important;
	border-color: rgba(15, 23, 34, .05);
	box-shadow: 0 1px 2px rgba(15, 23, 34, .04), 0 10px 28px -16px rgba(15, 23, 34, .16);
	overflow: hidden;
}
body.ttm .sidebar .widget::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--ttm-accent), transparent 65%);
}
body.ttm .sidebar :is(.widget-title, .widget .wp-block-heading) {
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--ttm-line);
	font-size: .95rem;
	letter-spacing: .01em;
}
body.ttm .sidebar :is(.widget-title, .widget .wp-block-heading)::before { width: 10px; height: 10px; border-radius: 3px; }

/* search widget: field + button never get cut off */
body.ttm .sidebar :is(.search-form, .wp-block-search__inside-wrapper) {
	flex-wrap: nowrap;
	padding: 5px;
	background: #f4f6f9;
	border: 1px solid var(--ttm-line);
	border-radius: 14px;
	transition: border-color .2s ease, background .2s ease;
}
body.ttm .sidebar :is(.search-form, .wp-block-search__inside-wrapper):focus-within { background: #fff; border-color: var(--ttm-accent); }
body.ttm .sidebar :is(.search-field, .wp-block-search__input) { min-width: 0; padding: 10px 12px; background: transparent !important; border: 0 !important; box-shadow: none !important; outline: 0 !important; }
body.ttm .sidebar :is(.search-submit, .wp-block-search__button) { flex: none; padding: 10px 16px; background: var(--ttm-accent); color: var(--ttm-on-accent); border-radius: 10px; }
body.ttm .sidebar :is(.search-submit, .wp-block-search__button):hover { background: var(--ttm-dark); color: var(--ttm-on-dark); }

/* category / archive lists: arrow marker */
body.ttm .sidebar :is(.widget_categories, .wp-block-categories, .widget_archive, .widget_nav_menu, .widget_pages) ul li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 0;
	border-bottom: 1px solid #eef0f3;
	color: var(--ttm-muted);
	font-size: 12.5px;
	font-weight: 600;
}
body.ttm .sidebar :is(.widget_categories, .wp-block-categories, .widget_archive, .widget_nav_menu, .widget_pages) ul li:last-child { border-bottom: 0; }
body.ttm .sidebar :is(.widget_categories, .wp-block-categories, .widget_archive, .widget_nav_menu, .widget_pages) ul li a {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 11px 0;
	font-size: 14.5px;
}
body.ttm .sidebar :is(.widget_categories, .wp-block-categories, .widget_archive, .widget_nav_menu, .widget_pages) ul li a::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	border-right: 2px solid var(--ttm-accent);
	border-top: 2px solid var(--ttm-accent);
	transform: rotate(45deg);
	opacity: .55;
	transition: transform .2s ease, opacity .2s ease;
}
body.ttm .sidebar :is(.widget_categories, .wp-block-categories, .widget_archive, .widget_nav_menu, .widget_pages) ul li:hover a::before { opacity: 1; transform: translateX(3px) rotate(45deg); }

/* recent posts: thumbnail cards */
body.ttm .sidebar .wp-block-latest-posts__list li,
body.ttm .sidebar .widget_recent_entries ul li { padding: 12px 0; align-items: center; }
body.ttm .sidebar .wp-block-latest-posts__featured-image { flex: 0 0 88px; }
body.ttm .sidebar .wp-block-latest-posts__featured-image img { width: 88px !important; height: 64px !important; border-radius: 10px; transition: transform .3s ease; }
body.ttm .sidebar .wp-block-latest-posts__list li:hover img { transform: scale(1.05); }
body.ttm .sidebar .wp-block-latest-posts__post-title { display: block; font-size: 14px; font-weight: 650; line-height: 1.4; }
body.ttm .sidebar .wp-block-latest-posts__post-date { display: block; margin-top: 3px; color: var(--ttm-muted); font-size: 12px; font-weight: 500; }

/* tag cloud as pills */
body.ttm .sidebar .tagcloud, body.ttm .sidebar .wp-block-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
body.ttm .sidebar :is(.tagcloud, .wp-block-tag-cloud) a {
	margin: 0;
	padding: 6px 12px;
	background: #f1f3f7;
	border-radius: 999px;
	font-size: 13px !important;
	font-weight: 600;
	transition: background .2s ease, color .2s ease;
}
body.ttm .sidebar :is(.tagcloud, .wp-block-tag-cloud) a:hover { background: var(--ttm-accent); color: var(--ttm-on-accent); }

/* ==========================================================================
   2.2.0  International polish + reader-retention components
   ========================================================================== */

/* ---- hero: richer depth ---- */
.ttm-hero {
	background:
		radial-gradient(900px 380px at 88% -8%, color-mix(in srgb, var(--ttm-accent) 38%, transparent), transparent 70%),
		radial-gradient(700px 320px at -5% 110%, color-mix(in srgb, var(--ttm-accent) 18%, transparent), transparent 70%),
		var(--ttm-dark);
}
.ttm-hero__inner { padding: 78px 20px 84px; }
body.ttm .ttm-hero__title { max-width: 18ch; font-size: clamp(2.2rem, 5vw, 3.5rem); letter-spacing: -.035em; }
.ttm-hero__search { border-radius: 18px; padding: 7px; }
body.ttm .ttm-hero__search button { border-radius: 12px; padding: 14px 28px; }

/* ---- trending strip ---- */
.ttm-trend { background: #fff; border-bottom: 1px solid var(--ttm-line); }
.ttm-trend__inner { max-width: 1240px; margin: 0 auto; padding: 22px 20px 24px; }
body.ttm .ttm-trend__h {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	color: var(--ttm-ink);
	font-family: var(--ttm-head);
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.ttm-trend__h span { width: 8px; height: 8px; border-radius: 50%; background: var(--ttm-accent); box-shadow: 0 0 0 4px var(--ttm-accent-soft); }
.ttm-trend__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ttm-tr {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px 10px 10px;
	background: #f7f8fb;
	border: 1px solid transparent;
	border-radius: 14px;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, transform .25s ease, box-shadow .25s ease;
}
.ttm-tr:hover { background: #fff; border-color: var(--ttm-accent-soft); transform: translateY(-2px); box-shadow: 0 14px 28px -16px rgba(15, 23, 34, .3); }
.ttm-tr__n { flex: none; width: 26px; color: var(--ttm-accent); font-family: var(--ttm-head); font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; }
.ttm-tr__img { flex: none; width: 64px; height: 48px; overflow: hidden; background: #e6e9ef; border-radius: 9px; }
.ttm-tr__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ttm-tr__t {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	color: var(--ttm-ink);
	font-size: .86rem;
	font-weight: 650;
	line-height: 1.35;
}
.ttm-tr:hover .ttm-tr__t { color: var(--ttm-accent-dark); }
@media (max-width: 1000px) {
	.ttm-trend__list { display: flex; overflow-x: auto; gap: 12px; padding-bottom: 6px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.ttm-trend__list::-webkit-scrollbar { display: none; }
	.ttm-tr { flex: 0 0 min(78vw, 300px); scroll-snap-align: start; }
}

/* ---- card entrance (opacity only, no layout shift) ---- */
@media (prefers-reduced-motion: no-preference) {
	@keyframes ttmRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
	body.ttm:is(.blog, .archive, .search-results) .site-main > article.post { animation: ttmRise .55s cubic-bezier(.2, .7, .2, 1) both; }
	body.ttm:is(.blog, .archive, .search-results) .site-main > article.post:nth-of-type(2) { animation-delay: .06s; }
	body.ttm:is(.blog, .archive, .search-results) .site-main > article.post:nth-of-type(3) { animation-delay: .12s; }
	body.ttm:is(.blog, .archive, .search-results) .site-main > article.post:nth-of-type(n+4) { animation-delay: .16s; }
}

/* ---- header: calmer, more premium ---- */
body.ttm .site-header { border-bottom-color: transparent; box-shadow: 0 1px 0 var(--ttm-line); }

/* ---- share bar ---- */
.ttm-share { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 2.2em 0 0; padding: 16px 0 0; border-top: 1px solid var(--ttm-line); }
.ttm-share__l { margin-right: 6px; color: var(--ttm-muted); font-size: 13px; font-weight: 700; }
body.ttm .ttm-share :is(a, button) {
	display: inline-flex;
	align-items: center;
	padding: 8px 15px;
	background: #f1f3f7;
	border: 0;
	border-radius: 999px;
	color: var(--ttm-ink);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}
body.ttm .ttm-share :is(a, button):hover { background: var(--ttm-accent); color: var(--ttm-on-accent); }
body.ttm .ttm-share .ttm-share__copy.is-done { background: var(--ttm-dark); color: var(--ttm-on-dark); }

/* ---- author box ---- */
.ttm-author { display: flex; align-items: flex-start; gap: 18px; margin: 28px 0 0; padding: 22px; background: #f7f8fb; border: 1px solid var(--ttm-line); border-radius: 18px; }
.ttm-author__av { flex: none; }
.ttm-author__av img { display: block; width: 72px; height: 72px; border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--ttm-accent-soft); }
.ttm-author__b { min-width: 0; }
body.ttm .ttm-author p { margin: 0; }
body.ttm .ttm-author__by { color: var(--ttm-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body.ttm .ttm-author__name { margin-top: 2px !important; font-family: var(--ttm-head); font-size: 1.1rem; font-weight: 700; }
body.ttm .ttm-author__name a { color: var(--ttm-ink); text-decoration: none; }
body.ttm .ttm-author__name a:hover { color: var(--ttm-accent-dark); }
body.ttm .ttm-author__bio { margin-top: 8px !important; color: #566379; font-size: .93rem; line-height: 1.65; }
@media (max-width: 520px) { .ttm-author { flex-direction: column; } }

/* ---- related posts: richer cards ---- */
.ttm-rel { box-shadow: 0 1px 2px rgba(15, 23, 34, .04); }
.ttm-rel:hover { box-shadow: 0 18px 32px -18px rgba(15, 23, 34, .3); }
.ttm-rel__img img { transition: transform .5s ease; }
.ttm-rel:hover .ttm-rel__img img { transform: scale(1.05); }

/* ---- "Read next" slide-in ---- */
.ttm-nextup {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 997;
	width: min(340px, calc(100vw - 96px));
	background: #fff;
	border: 1px solid var(--ttm-line);
	border-radius: 16px;
	box-shadow: 0 24px 50px -16px rgba(15, 23, 34, .4);
	opacity: 0;
	visibility: hidden;
	transform: translateY(18px);
	transition: opacity .3s ease, transform .3s ease, visibility .3s;
}
.ttm-nextup.is-visible { opacity: 1; visibility: visible; transform: none; }
.ttm-nextup__a { display: flex; align-items: center; gap: 12px; padding: 10px 40px 10px 10px; text-decoration: none; }
.ttm-nextup__img { flex: none; width: 76px; height: 58px; overflow: hidden; background: #e6e9ef; border-radius: 10px; }
.ttm-nextup__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ttm-nextup__b { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.ttm-nextup__k { color: var(--ttm-accent-dark); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ttm-nextup__t { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--ttm-ink); font-size: .88rem; font-weight: 650; line-height: 1.35; }
.ttm-nextup__a:hover .ttm-nextup__t { color: var(--ttm-accent-dark); }
body.ttm .ttm-nextup__x { position: absolute; top: 6px; right: 6px; display: grid; place-items: center; width: 26px; height: 26px; padding: 0; background: #f1f3f7; border: 0; border-radius: 50%; color: var(--ttm-ink); font-size: 17px; line-height: 1; cursor: pointer; }
body.ttm .ttm-nextup__x:hover { background: var(--ttm-accent); color: var(--ttm-on-accent); }
@media (max-width: 600px) { .ttm-nextup { left: 12px; bottom: 12px; width: calc(100vw - 82px); } }

/* ==========================================================================
   3.0.0  TopTenTool redesign: glass hero, floating trending card,
   ranked cards, gradient accents, softer and rounder everywhere
   ========================================================================== */
:root {
	--ttm-accent-2: color-mix(in srgb, var(--ttm-accent) 58%, #ec4899);
	--ttm-grad: linear-gradient(135deg, var(--ttm-accent), var(--ttm-accent-2));
	--ttm-radius: 24px;
	--ttm-shadow: 0 1px 2px rgba(11, 16, 32, .05), 0 18px 40px -22px rgba(30, 41, 90, .3);
	--ttm-shadow-lg: 0 2px 4px rgba(11, 16, 32, .05), 0 40px 80px -30px rgba(30, 41, 90, .45);
	--ttm-glow: 0 30px 60px -26px color-mix(in srgb, var(--ttm-accent) 55%, transparent);
}

/* page canvas: soft colour wash behind home / archives */
body.ttm:is(.blog, .archive, .search-results) {
	background:
		radial-gradient(900px 420px at 100% 0, color-mix(in srgb, var(--ttm-accent) 7%, transparent), transparent 70%),
		radial-gradient(800px 400px at 0 30%, color-mix(in srgb, var(--ttm-accent-2) 5%, transparent), transparent 70%),
		var(--ttm-bg);
}

/* ---------- header ---------- */
body.ttm .site-header { background: rgba(255, 255, 255, .78); box-shadow: 0 1px 0 rgba(11, 16, 32, .06); }
body.ttm .main-title,
body.ttm .main-title a { font-weight: 800; letter-spacing: -.035em; }
body.ttm .main-navigation .main-nav > ul > li > a { isolation: isolate; font-weight: 600; }
body.ttm .main-navigation .main-nav > ul > li > a::after {
	left: 6px;
	right: 6px;
	top: 50%;
	bottom: auto;
	z-index: -1;
	height: 38px;
	margin-top: -19px;
	border-radius: 999px;
	background: var(--ttm-accent-soft);
	opacity: 0;
	transform: scale(.88);
	transform-origin: center;
	transition: opacity .2s ease, transform .2s ease;
}
body.ttm .main-navigation .main-nav > ul > li:hover > a::after,
body.ttm .main-navigation .main-nav > ul > li.sfHover > a::after,
body.ttm .main-navigation .main-nav > ul > li[class*="current-menu-"] > a::after { opacity: 1; transform: scale(1); }
body.ttm .main-navigation ul ul { border-radius: 18px; box-shadow: var(--ttm-shadow-lg); }

/* ---------- hero ---------- */
.ttm-hero {
	background:
		radial-gradient(900px 440px at 82% -12%, color-mix(in srgb, var(--ttm-accent) 62%, transparent), transparent 66%),
		radial-gradient(720px 380px at 6% 112%, color-mix(in srgb, var(--ttm-accent-2) 42%, transparent), transparent 70%),
		var(--ttm-dark);
	text-align: center;
}
.ttm-hero::before {
	background-image:
		linear-gradient(var(--ttm-on-dark-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--ttm-on-dark-line) 1px, transparent 1px);
	background-size: 52px 52px;
	opacity: .28;
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, #000 20%, transparent 75%);
	mask-image: radial-gradient(ellipse 70% 80% at 50% 40%, #000 20%, transparent 75%);
}
.ttm-hero::after {
	right: auto;
	left: 50%;
	bottom: -340px;
	width: 760px;
	height: 520px;
	margin-left: -380px;
	background: var(--ttm-grad);
	opacity: .2;
	filter: blur(110px);
}
.ttm-hero__inner { max-width: 920px; padding: 96px 20px 132px; }
.ttm-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 26px;
	padding: 8px 18px 8px 14px;
	background: rgba(255, 255, 255, .07);
	border: 1px solid var(--ttm-on-dark-line);
	border-radius: 999px;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: var(--ttm-on-dark-2);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.ttm-hero__badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ttm-grad); box-shadow: 0 0 0 4px color-mix(in srgb, var(--ttm-accent) 30%, transparent); }
body.ttm .ttm-hero__title {
	max-width: 16ch;
	margin: 0 auto;
	background: linear-gradient(180deg, var(--ttm-on-dark) 35%, color-mix(in srgb, var(--ttm-on-dark) 55%, var(--ttm-accent)));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	font-size: clamp(2.4rem, 6vw, 4.2rem);
	font-weight: 800;
	line-height: 1.04;
	letter-spacing: -.045em;
}
.ttm-hero__text { margin: 22px auto 0; max-width: 56ch; font-size: clamp(1rem, 1.5vw, 1.15rem); }
.ttm-hero__search {
	margin: 36px auto 0;
	max-width: 680px;
	padding: 8px;
	border-radius: 999px;
	box-shadow: 0 0 0 7px rgba(255, 255, 255, .07), 0 30px 70px -18px rgba(0, 0, 0, .55);
}
.ttm-hero__search:focus-within { outline: 0; box-shadow: 0 0 0 7px color-mix(in srgb, var(--ttm-accent) 40%, transparent), 0 30px 70px -18px rgba(0, 0, 0, .55); }
body.ttm .ttm-hero__search input[type="search"] { padding: 14px 22px; font-size: 16px; }
body.ttm .ttm-hero__search button { padding: 14px 32px; border-radius: 999px; background: var(--ttm-grad); }
.ttm-hero__chips { justify-content: center; margin-top: 26px; }
.ttm-hero__chips a {
	padding: 8px 17px;
	background: rgba(255, 255, 255, .06);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	font-weight: 600;
}
.ttm-hero__chips a:hover { background: var(--ttm-on-dark); transform: translateY(-2px); }
@media (max-width: 600px) {
	.ttm-hero__inner { padding: 60px 18px 104px; }
	.ttm-hero__search { border-radius: 26px; }
	body.ttm .ttm-hero__search button { border-radius: 18px; }
}

/* ---------- trending: floating card over the hero edge ---------- */
.ttm-trend { position: relative; z-index: 3; margin-top: 0; padding: 24px 20px 0; background: transparent; border: 0; }
.ttm-hero + .ttm-trend { margin-top: -62px; padding-top: 0; }
.ttm-trend__inner {
	padding: 24px 26px 26px;
	background: #fff;
	border: 1px solid rgba(11, 16, 32, .05);
	border-radius: 28px;
	box-shadow: var(--ttm-shadow-lg);
}
.ttm-tr { background: #f5f6fd; border-radius: 18px; }
.ttm-tr:hover { box-shadow: var(--ttm-glow); }
.ttm-tr__n {
	background: var(--ttm-grad);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	font-weight: 800;
}
.ttm-tr__img { border-radius: 12px; }
@media (max-width: 1000px) { .ttm-trend { padding: 20px 12px 0; } .ttm-hero + .ttm-trend { margin-top: -48px; padding-top: 0; } .ttm-trend__inner { padding: 18px 16px 20px; border-radius: 22px; } }

/* ---------- post cards ---------- */
body.ttm[class*="ttm-card-"]:is(.blog, .archive, .search-results) .site-main > article.post .inside-article {
	padding: 12px !important;
	border: 1px solid rgba(11, 16, 32, .05);
	border-radius: var(--ttm-radius);
	box-shadow: var(--ttm-shadow);
	transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, border-color .35s ease;
}
body.ttm[class*="ttm-card-"]:is(.blog, .archive, .search-results) .site-main > article.post:hover .inside-article {
	transform: translateY(-7px);
	border-color: color-mix(in srgb, var(--ttm-accent) 28%, transparent);
	box-shadow: 0 2px 4px rgba(11, 16, 32, .04), var(--ttm-glow);
}
body.ttm-card-outline:is(.blog, .archive, .search-results) .site-main > article.post .inside-article { box-shadow: none; border-color: var(--ttm-line); }
body.ttm-card-flat:is(.blog, .archive, .search-results) .site-main > article.post .inside-article { box-shadow: none; border-color: transparent; }
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post .inside-article > .post-image { border-radius: 17px; aspect-ratio: 16 / 10.5; }
body.ttm:is(.blog, .archive, .search-results) .entry-title { font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; }
body.ttm:is(.blog, .archive, .search-results) .entry-summary::after {
	display: inline-flex;
	align-items: center;
	margin-top: 16px;
	padding: 7px 14px;
	background: var(--ttm-accent-soft);
	border-radius: 999px;
	font-size: 12.5px;
}
body.ttm:is(.blog, .archive, .search-results) .site-main > article.post:hover .entry-summary::after { background: var(--ttm-grad); color: var(--ttm-on-accent); letter-spacing: .01em; }

/* category badge: glass chip */
body.ttm-cat-badge:is(.blog, .archive, .search-results) footer.entry-meta .cat-links a {
	background: rgba(255, 255, 255, .82);
	border: 1px solid rgba(255, 255, 255, .6);
	-webkit-backdrop-filter: blur(12px) saturate(160%);
	backdrop-filter: blur(12px) saturate(160%);
}

/* rank numbers 01, 02, 03... on home cards */
body.ttm-rank.blog:not(.paged) .site-main { counter-reset: ttmn; }
body.ttm-rank.blog:not(.paged) .site-main > article.post { counter-increment: ttmn; }
body.ttm-rank.blog:not(.paged) .site-main > article.post .post-image::before {
	content: counter(ttmn, decimal-leading-zero);
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 11px;
	background: var(--ttm-grad);
	border-radius: 14px;
	box-shadow: 0 10px 24px -8px color-mix(in srgb, var(--ttm-accent) 70%, transparent);
	color: var(--ttm-on-accent);
	font-family: var(--ttm-head);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: -.02em;
	pointer-events: none;
}

/* featured first card: bigger, richer */
@media (min-width: 861px) {
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article { padding: 16px !important; border-radius: 30px; }
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article > .post-image { border-radius: 22px; }
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .inside-article > header.entry-header::before {
		flex: 0 0 auto;
		margin: 0 0 6px;
		padding: 5px 12px;
		background: var(--ttm-grad);
		border-radius: 999px;
		color: var(--ttm-on-accent);
	}
	body.ttm-feature-first.blog:not(.paged) .site-main > article.post:first-of-type .entry-title { font-size: clamp(1.6rem, 2.7vw, 2.3rem); font-weight: 800; letter-spacing: -.035em; }
}

/* archive heading + pagination */
body.ttm .page-header { border-radius: 24px; border-color: rgba(11, 16, 32, .05); box-shadow: var(--ttm-shadow); }
body.ttm .paging-navigation .page-numbers { border-radius: 999px; box-shadow: var(--ttm-shadow); border-color: transparent; }
body.ttm .paging-navigation .page-numbers.current { background: var(--ttm-grad); border-color: transparent; color: var(--ttm-on-accent); }
body.ttm .paging-navigation a.page-numbers:hover { background: var(--ttm-accent-soft); }

/* ---------- sidebar ---------- */
body.ttm .sidebar .widget { border-radius: 26px; border-color: rgba(11, 16, 32, .05); box-shadow: var(--ttm-shadow); }
body.ttm .sidebar .widget::before { height: 4px; background: var(--ttm-grad); }
body.ttm .sidebar :is(.search-form, .wp-block-search__inside-wrapper) { border-radius: 999px; }
body.ttm .sidebar :is(.search-submit, .wp-block-search__button) { border-radius: 999px; background: var(--ttm-grad); }
body.ttm .sidebar :is(.tagcloud, .wp-block-tag-cloud) a { background: var(--ttm-accent-soft); color: var(--ttm-accent-dark); }

/* ---------- single posts ---------- */
body.ttm .ttm-kicker { background: var(--ttm-grad); color: var(--ttm-on-accent); }
body.ttm .ttm-kicker::before { background: var(--ttm-on-accent); }
body.ttm .ttm-kicker:hover { color: var(--ttm-on-accent); filter: brightness(1.08); }
body.ttm:is(.single, .page) .entry-title { font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 800; line-height: 1.12; letter-spacing: -.04em; }
body.ttm.single :is(.featured-image, .page-header-image-single) img { border-radius: 26px; box-shadow: var(--ttm-shadow-lg); }
body.ttm .entry-content h2::after { width: 80px; height: 4px; background: var(--ttm-grad); }
body.ttm .entry-content h3::before { width: 5px; background: var(--ttm-grad); }
body.ttm .entry-content blockquote { border: 0; border-radius: 20px; background: linear-gradient(135deg, var(--ttm-accent-soft), color-mix(in srgb, var(--ttm-accent-2) 8%, transparent)); position: relative; padding: 22px 26px 22px 30px; }
body.ttm .entry-content blockquote::before { content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 4px; border-radius: 4px; background: var(--ttm-grad); }
body.ttm .entry-content .wp-block-button__link { border-radius: 999px; background: var(--ttm-grad); box-shadow: 0 14px 28px -12px color-mix(in srgb, var(--ttm-accent) 70%, transparent); }
body.ttm .entry-content img { border-radius: 18px; }
body.ttm .entry-content pre { border-radius: 18px; background: #0b1020; }
body.ttm .ttm-table-wrap { border-radius: 20px; border-color: rgba(11, 16, 32, .06); box-shadow: var(--ttm-shadow); }
body.ttm .ttm-table-wrap :is(thead th, tr:first-child th) { background: var(--ttm-accent-soft); color: var(--ttm-accent-dark); }
body.ttm .ttm-table-wrap tbody tr:hover td { background: color-mix(in srgb, var(--ttm-accent) 4%, #fff); }
.ttm-toc { background: #fff; border-color: rgba(11, 16, 32, .06); border-left: 4px solid var(--ttm-accent); border-radius: 20px; box-shadow: var(--ttm-shadow); }
body.ttm .entry-content .ttm-toc li::marker { color: var(--ttm-accent); }
body.ttm.single footer.entry-meta :is(.cat-links, .tags-links) a { background: var(--ttm-accent-soft); }
body.ttm .post-navigation :is(.nav-previous, .nav-next) { border-radius: 20px; box-shadow: var(--ttm-shadow); border-color: transparent; }
.ttm-share a, .ttm-share button { box-shadow: none; }
body.ttm .ttm-share :is(a, button):hover { background: var(--ttm-grad); }
.ttm-author { background: #fff; border-color: rgba(11, 16, 32, .06); border-radius: 26px; box-shadow: var(--ttm-shadow); }
.ttm-rel { border-radius: 22px; border-color: rgba(11, 16, 32, .05); box-shadow: var(--ttm-shadow); }
.ttm-rel:hover { transform: translateY(-5px); box-shadow: var(--ttm-glow); border-color: color-mix(in srgb, var(--ttm-accent) 28%, transparent); }
.ttm-nextup { border-radius: 22px; box-shadow: var(--ttm-shadow-lg); }
body.ttm .comments-area { border-top-color: var(--ttm-line); }
body.ttm .comment-form .form-submit input[type="submit"] { border-radius: 999px; background: var(--ttm-grad); }
body.ttm .comment-form :is(textarea, input[type="text"], input[type="email"], input[type="url"]) { border-radius: 16px; }

/* ---------- footer ---------- */
body.ttm .site-footer { margin-top: 64px; border-radius: 40px 40px 0 0; background: var(--ttm-foot-bg); }
body.ttm .site-footer::before { height: 4px; background: var(--ttm-grad); opacity: .9; }
.ttm-footer__name::after { color: var(--ttm-accent); }
.ttm-footer__search { border-radius: 999px; }
body.ttm .ttm-footer__search button { border-radius: 999px; background: var(--ttm-grad); }
@media (max-width: 600px) { body.ttm .site-footer { border-radius: 28px 28px 0 0; } }

/* ---------- progress + back to top ---------- */
.ttm-progress { height: 4px; background: var(--ttm-grad); }
.ttm-top { background: var(--ttm-grad); color: var(--ttm-on-accent); box-shadow: 0 14px 30px -10px color-mix(in srgb, var(--ttm-accent) 70%, transparent); }
.ttm-top:hover { filter: brightness(1.1); background: var(--ttm-grad); color: var(--ttm-on-accent); }

@media (prefers-reduced-motion: reduce) {
	body.ttm[class*="ttm-card-"] .site-main > article.post:hover .inside-article,
	.ttm-rel:hover { transform: none; }
}
