/*
Theme Name: TechHubBlog
Theme URI: https://techhubblog.com/
Author: TechHubBlog
Author URI: https://techhubblog.com/
Description: A fast, modern magazine theme built for TechHubBlog.com — Tech, Business, How To and AI Tools. Includes a floating WhatsApp button, a guest-post sales page with a built-in pitch inbox, author profiles with bios, a server-side table of contents with readable heading anchors, newsletter capture, web stories and JSON-LD SEO. No plugins required.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: techhubblog
Tags: blog, news, magazine, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, block-styles, wide-blocks
*/

/* =========================================================================
   1. Tokens
   ========================================================================= */
:root {
	--thb-teal: #0fa3a3;
	--thb-teal-dark: #0b7f80;
	--thb-teal-darker: #086566;
	--thb-teal-soft: #e6f7f7;
	--thb-teal-line: #b8e6e6;
	--thb-ink: #101820;
	--thb-ink-2: #1b2733;
	--thb-ink-3: #27374a;
	--thb-amber: #f5a623;
	--thb-amber-soft: #fff5e2;

	--thb-bg: #ffffff;
	--thb-bg-alt: #f4f8f8;
	--thb-bg-deep: #eef4f4;
	--thb-line: #e2eaea;
	--thb-line-strong: #cfdcdc;
	--thb-text: #1b2430;
	--thb-muted: #5b6b7a;
	--thb-muted-2: #7c8b99;

	--thb-sec-tech: #0fa3a3;
	--thb-sec-business: #1f6feb;
	--thb-sec-howto: #f5a623;
	--thb-sec-ai: #7c5cff;

	--thb-radius: 14px;
	--thb-radius-sm: 9px;
	--thb-radius-lg: 22px;
	--thb-shadow-sm: 0 1px 2px rgba(16, 24, 32, .06), 0 2px 8px rgba(16, 24, 32, .05);
	--thb-shadow: 0 4px 12px rgba(16, 24, 32, .07), 0 12px 32px rgba(16, 24, 32, .07);
	--thb-shadow-lg: 0 18px 46px rgba(16, 24, 32, .16);

	--thb-font-head: "Space Grotesk", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
	--thb-font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--thb-wrap: 1240px;
	--thb-gap: 28px;
	--thb-nav-h: 62px;
}

/* =========================================================================
   2. Reset & base
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

body {
	margin: 0;
	background: var(--thb-bg-alt);
	color: var(--thb-text);
	font-family: var(--thb-font-body);
	font-size: 16.5px;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img, svg, video, iframe { max-width: 100%; }
img, video { height: auto; }

/* Global guard: any 24x24 icon sprite renders at 1em unless a rule says otherwise.
   Zero-specificity so every real rule below still wins. Prevents runaway SVGs. */
:where(svg) { vertical-align: middle; }
:where(svg[viewBox="0 0 24 24"]) { width: 20px; height: 20px; flex: none; }

a { color: var(--thb-teal-dark); text-decoration: none; }
a:hover { color: var(--thb-teal-darker); }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--thb-font-head);
	color: var(--thb-ink);
	line-height: 1.22;
	letter-spacing: -.018em;
	margin: 0 0 .55em;
	font-weight: 700;
}
h1 { font-size: clamp(1.85rem, 1.25rem + 2.2vw, 2.85rem); }
h2 { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 1.9rem); }
h3 { font-size: clamp(1.18rem, 1.02rem + .6vw, 1.42rem); }
h4 { font-size: 1.12rem; }

p { margin: 0 0 1.15em; }
ul, ol { margin: 0 0 1.15em; padding-left: 1.35em; }
li { margin-bottom: .4em; }

blockquote {
	margin: 1.8em 0;
	padding: 1.1em 1.4em;
	border-left: 4px solid var(--thb-teal);
	background: var(--thb-teal-soft);
	border-radius: 0 var(--thb-radius-sm) var(--thb-radius-sm) 0;
	font-size: 1.06em;
	color: var(--thb-ink-2);
}
blockquote p:last-child { margin-bottom: 0; }

code, kbd, pre, samp { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; font-size: .92em; }
code { background: var(--thb-bg-deep); padding: .15em .42em; border-radius: 5px; color: var(--thb-ink-2); }
pre {
	background: var(--thb-ink);
	color: #dbe7e7;
	padding: 1.1em 1.25em;
	border-radius: var(--thb-radius-sm);
	overflow-x: auto;
	line-height: 1.6;
}
pre code { background: none; padding: 0; color: inherit; }

hr { border: 0; border-top: 1px solid var(--thb-line); margin: 2.2em 0; }

table { border-collapse: collapse; width: 100%; margin: 0 0 1.4em; font-size: .96em; }
th, td { border: 1px solid var(--thb-line); padding: .68em .85em; text-align: left; }
th { background: var(--thb-bg-alt); font-family: var(--thb-font-head); font-weight: 600; }

figure { margin: 1.7em 0; }
figcaption { font-size: .87em; color: var(--thb-muted); text-align: center; margin-top: .6em; }

::selection { background: var(--thb-teal); color: #fff; }

:focus-visible { outline: 3px solid var(--thb-amber); outline-offset: 2px; border-radius: 4px; }

.thb-sr, .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
	white-space: nowrap; border: 0;
}
.thb-skip {
	position: absolute; left: -9999px; top: 0; z-index: 999999;
	background: var(--thb-ink); color: #fff; padding: 12px 20px; border-radius: 0 0 10px 0;
	font-weight: 600;
}
.thb-skip:focus { left: 0; color: #fff; }

/* =========================================================================
   3. Layout primitives
   ========================================================================= */
.thb-wrap { width: 100%; max-width: var(--thb-wrap); margin: 0 auto; padding: 0 20px; }
.thb-wrap--narrow { max-width: 880px; }

.thb-shell { display: grid; grid-template-columns: minmax(0, 1fr) 336px; gap: 40px; align-items: start; }
.thb-shell--full { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1040px) { .thb-shell { grid-template-columns: minmax(0, 1fr); gap: 34px; } }

.thb-main { min-width: 0; padding: 34px 0 60px; }
.thb-side { min-width: 0; padding: 34px 0 60px; position: sticky; top: calc(var(--thb-nav-h) + 16px); }
@media (max-width: 1040px) { .thb-side { position: static; padding-top: 0; } }

.thb-grid { display: grid; gap: var(--thb-gap); }
.thb-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.thb-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.thb-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 980px) { .thb-grid--3, .thb-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .thb-grid--2, .thb-grid--3, .thb-grid--4 { grid-template-columns: minmax(0, 1fr); } }

/* =========================================================================
   4. Buttons, pills, badges
   ========================================================================= */
.thb-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	padding: 12px 22px;
	border-radius: 999px;
	border: 1px solid transparent;
	background: var(--thb-teal);
	color: #fff;
	font-family: var(--thb-font-head);
	font-weight: 600;
	font-size: .95rem;
	line-height: 1.1;
	cursor: pointer;
	transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
	text-align: center;
}
.thb-btn:hover { background: var(--thb-teal-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(15, 163, 163, .28); }
.thb-btn svg { width: 18px; height: 18px; flex: none; }
.thb-btn--ghost { background: transparent; color: var(--thb-ink); border-color: var(--thb-line-strong); }
.thb-btn--ghost:hover { background: var(--thb-ink); border-color: var(--thb-ink); color: #fff; box-shadow: none; }
.thb-btn--ink { background: var(--thb-ink); }
.thb-btn--ink:hover { background: var(--thb-ink-2); box-shadow: 0 8px 20px rgba(16, 24, 32, .26); }
.thb-btn--amber { background: var(--thb-amber); color: var(--thb-ink); }
.thb-btn--amber:hover { background: #e29616; color: var(--thb-ink); box-shadow: 0 8px 20px rgba(245, 166, 35, .3); }
.thb-btn--wa { background: #25d366; color: #06301a; }
.thb-btn--wa:hover { background: #1fb757; color: #06301a; box-shadow: 0 8px 20px rgba(37, 211, 102, .32); }
.thb-btn--sm { padding: 9px 16px; font-size: .86rem; }
.thb-btn--lg { padding: 15px 30px; font-size: 1.02rem; }
.thb-btn--block { width: 100%; }

.thb-eyebrow {
	display: inline-flex; align-items: center; gap: 7px;
	font-family: var(--thb-font-head);
	font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase;
	color: var(--thb-teal-dark);
}

.thb-cat {
	display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--thb-font-head);
	font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	padding: 5px 11px; border-radius: 999px;
	background: var(--thb-teal-soft); color: var(--thb-teal-dark);
	border: 1px solid transparent;
}
.thb-cat:hover { color: #fff; background: var(--thb-teal-dark); }
.thb-cat svg { width: 13px; height: 13px; flex: none; }
.thb-cat[data-sec="business"] { background: #e8f0fe; color: #1a5ac4; }
.thb-cat[data-sec="business"]:hover { background: var(--thb-sec-business); color: #fff; }
.thb-cat[data-sec="how-to"] { background: var(--thb-amber-soft); color: #a96a00; }
.thb-cat[data-sec="how-to"]:hover { background: var(--thb-sec-howto); color: #3a2400; }
.thb-cat[data-sec="ai-tools"] { background: #f0ecff; color: #5b3fd6; }
.thb-cat[data-sec="ai-tools"]:hover { background: var(--thb-sec-ai); color: #fff; }

.thb-meta {
	display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px;
	font-size: .84rem; color: var(--thb-muted);
}
.thb-meta > * { display: inline-flex; align-items: center; gap: 5px; }
/* Separator travels with the item before it and never trails the last one,
   so a wrap can't leave a dangling dot at the end of a line. */
.thb-meta > *:not(:last-child)::after {
	content: "·";
	margin-left: 8px;
	color: var(--thb-line-strong);
}
.thb-meta a { color: var(--thb-muted); font-weight: 500; }
.thb-meta a:hover { color: var(--thb-teal-dark); }
.thb-meta svg { width: 15px; height: 15px; opacity: .7; }
.thb-card .thb-meta { font-size: .8rem; }
.thb-card .thb-meta__by svg { display: none; }

.thb-secline { display: block; height: 3px; border-radius: 3px; background: var(--thb-teal); width: 46px; }

/* =========================================================================
   5. Header
   ========================================================================= */
.thb-topbar {
	background: var(--thb-ink);
	color: #b9c8d4;
	font-size: .82rem;
}
.thb-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 38px; }
.thb-topbar a { color: #d5e2ea; }
.thb-topbar a:hover { color: #fff; }
.thb-topbar__date { display: inline-flex; align-items: center; gap: 7px; color: #91a4b3; }
.thb-topbar__links { display: flex; align-items: center; gap: 18px; }
.thb-topbar__links a { font-weight: 500; }
.thb-topbar__social { display: flex; align-items: center; gap: 6px; }
.thb-topbar__social a {
	width: 28px; height: 28px; border-radius: 8px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .08);
	transition: background .15s ease, transform .15s ease;
}
.thb-topbar__social a:hover { background: var(--thb-teal); transform: translateY(-1px); }
.thb-topbar__social svg { width: 15px; height: 15px; }
@media (max-width: 860px) { .thb-topbar__date, .thb-topbar__links { display: none; } .thb-topbar__in { justify-content: center; } }

.thb-masthead { background: var(--thb-bg); border-bottom: 1px solid var(--thb-line); }
.thb-masthead__in { display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 20px 0; }

.thb-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.thb-brand img, .thb-brand svg { display: block; height: 46px; width: auto; max-width: 260px; }
.thb-brand__txt { display: flex; flex-direction: column; min-width: 0; }
.thb-brand__name {
	font-family: var(--thb-font-head); font-weight: 700; font-size: 1.42rem;
	color: var(--thb-ink); letter-spacing: -.03em; line-height: 1.1;
}
.thb-brand__name em { font-style: normal; color: var(--thb-teal); }
.thb-brand__tag { font-size: .64rem; letter-spacing: .17em; text-transform: uppercase; color: var(--thb-muted-2); font-weight: 600; }

.thb-masthead__right { display: flex; align-items: center; gap: 12px; }
@media (max-width: 860px) { .thb-masthead__in { padding: 14px 0; } .thb-brand img, .thb-brand svg { height: 38px; } .thb-brand__name { font-size: 1.2rem; } }
/* Below this the number wraps and shoves the logo — keep the button, drop the text. */
@media (max-width: 580px) {
	.thb-masthead__right .thb-btn--wa span { display: none; }
	.thb-masthead__right .thb-btn--wa { padding: 10px 12px; }
	.thb-masthead__right .thb-btn--wa svg { width: 20px; height: 20px; }
}

/* nav */
.thb-nav {
	background: var(--thb-ink);
	position: sticky; top: 0; z-index: 200;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06);
}
.admin-bar .thb-nav { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .thb-nav { top: 46px; } }
.thb-nav__in { display: flex; align-items: center; gap: 14px; min-height: var(--thb-nav-h); }

.thb-menu { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; flex: 1 1 auto; min-width: 0; }
.thb-menu li { position: relative; margin: 0; }
.thb-menu > li > a {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 0 15px; height: var(--thb-nav-h);
	font-family: var(--thb-font-head); font-weight: 600; font-size: .92rem;
	color: #cfdce6; white-space: nowrap;
	border-bottom: 3px solid transparent;
	transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.thb-menu > li > a:hover, .thb-menu > li.current-menu-item > a, .thb-menu > li.current-menu-parent > a {
	color: #fff; border-bottom-color: var(--thb-teal);
	background: rgba(255, 255, 255, .05);
}
.thb-menu > li > a .thb-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--thb-teal); flex: none; }
.thb-menu > li[data-sec="business"] > a .thb-dot { background: var(--thb-sec-business); }
.thb-menu > li[data-sec="how-to"] > a .thb-dot { background: var(--thb-sec-howto); }
.thb-menu > li[data-sec="ai-tools"] > a .thb-dot { background: var(--thb-sec-ai); }
.thb-menu > li[data-sec="business"] > a:hover { border-bottom-color: var(--thb-sec-business); }
.thb-menu > li[data-sec="how-to"] > a:hover { border-bottom-color: var(--thb-sec-howto); }
.thb-menu > li[data-sec="ai-tools"] > a:hover { border-bottom-color: var(--thb-sec-ai); }

.thb-menu .sub-menu {
	position: absolute; left: 0; top: 100%;
	min-width: 218px; list-style: none; margin: 0; padding: 8px;
	background: #fff; border-radius: 0 0 var(--thb-radius-sm) var(--thb-radius-sm);
	box-shadow: var(--thb-shadow-lg);
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
	z-index: 30;
}
.thb-menu li:hover > .sub-menu, .thb-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.thb-menu .sub-menu a {
	display: block; padding: 9px 13px; border-radius: 7px;
	font-size: .9rem; font-weight: 500; color: var(--thb-ink-2);
}
.thb-menu .sub-menu a:hover { background: var(--thb-teal-soft); color: var(--thb-teal-darker); }
.thb-menu .sub-menu .sub-menu { left: 100%; top: -8px; border-radius: var(--thb-radius-sm); }

.thb-nav__tools { display: flex; align-items: center; gap: 8px; flex: none; }
.thb-iconbtn {
	width: 40px; height: 40px; border-radius: 11px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .08); color: #dbe7ef;
	border: 0; cursor: pointer;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.thb-iconbtn:hover { background: var(--thb-teal); color: #fff; transform: translateY(-1px); }
.thb-iconbtn svg { width: 19px; height: 19px; }
.thb-nav__cta { flex: none; }
@media (max-width: 1040px) { .thb-menu { display: none; } }
@media (max-width: 760px) { .thb-nav__cta { display: none; } }

/* search drawer */
.thb-searchbar {
	background: var(--thb-ink-2);
	max-height: 0; overflow: hidden;
	transition: max-height .28s ease;
}
.thb-searchbar.is-open { max-height: 130px; }
.thb-searchbar__in { padding: 18px 0; }

.thb-searchform { display: flex; gap: 10px; }
.thb-searchform input[type="search"], .thb-searchform input[type="text"] {
	flex: 1 1 auto; min-width: 0;
	padding: 13px 18px; border-radius: 999px;
	border: 1px solid var(--thb-line); background: #fff; color: var(--thb-text);
	font-family: var(--thb-font-body); font-size: .96rem;
}
.thb-searchform input::placeholder { color: var(--thb-muted-2); }
.thb-searchform button { flex: none; }

/* off-canvas */
.thb-drawer {
	position: fixed; inset: 0 auto 0 0; width: min(340px, 86vw);
	background: var(--thb-ink); color: #d8e4ec;
	transform: translateX(-102%);
	transition: transform .3s cubic-bezier(.4, 0, .2, 1);
	z-index: 900; overflow-y: auto; padding: 22px 22px 44px;
	box-shadow: var(--thb-shadow-lg);
}
.thb-drawer.is-open { transform: translateX(0); }
.thb-drawer__top { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; }
.thb-drawer__top .thb-brand__name { color: #fff; }
.thb-drawer__top .thb-brand__tag { color: #7f93a3; }
.thb-drawer__menu { list-style: none; margin: 0 0 22px; padding: 0; }
.thb-drawer__menu li { margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.thb-drawer__menu a {
	display: block; padding: 12px 2px; color: #d8e4ec;
	font-family: var(--thb-font-head); font-weight: 600; font-size: .98rem;
}
.thb-drawer__menu a:hover { color: var(--thb-teal); }
.thb-drawer__menu .sub-menu { list-style: none; margin: 0 0 8px; padding: 0 0 0 14px; }
.thb-drawer__menu .sub-menu a { font-weight: 500; font-size: .9rem; color: #a9bcc9; padding: 8px 2px; }
.thb-overlay {
	position: fixed; inset: 0; background: rgba(9, 14, 20, .55);
	opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s;
	z-index: 850;
}
.thb-overlay.is-open { opacity: 1; visibility: visible; }

/* ticker */
.thb-ticker { background: var(--thb-bg); border-bottom: 1px solid var(--thb-line); }
.thb-ticker__in { display: flex; align-items: center; gap: 14px; min-height: 46px; }
.thb-ticker__label {
	flex: none; display: inline-flex; align-items: center; gap: 7px;
	background: var(--thb-teal); color: #fff;
	font-family: var(--thb-font-head); font-weight: 700; font-size: .7rem;
	letter-spacing: .11em; text-transform: uppercase;
	padding: 6px 13px; border-radius: 999px;
}
.thb-ticker__label svg { width: 14px; height: 14px; }
.thb-ticker__viewport { flex: 1 1 auto; min-width: 0; overflow: hidden; position: relative; }
.thb-ticker__list {
	display: flex; align-items: center; gap: 34px;
	list-style: none; margin: 0; padding: 0;
	white-space: nowrap;
	animation: thb-marquee 38s linear infinite;
}
.thb-ticker__viewport:hover .thb-ticker__list { animation-play-state: paused; }
.thb-ticker__list li { margin: 0; }
.thb-ticker__list a { font-size: .9rem; font-weight: 500; color: var(--thb-ink-2); }
.thb-ticker__list a:hover { color: var(--thb-teal-dark); }
@keyframes thb-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 700px) { .thb-ticker__label span { display: none; } .thb-ticker__label { padding: 6px 9px; } }

/* =========================================================================
   6. Cards
   ========================================================================= */
.thb-card {
	position: relative; /* the category pill is absolutely placed inside this */
	background: var(--thb-bg);
	border: 1px solid var(--thb-line);
	border-radius: var(--thb-radius);
	overflow: hidden;
	display: flex; flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.thb-card:hover { transform: translateY(-3px); box-shadow: var(--thb-shadow); border-color: var(--thb-line-strong); }
.thb-card__media { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--thb-bg-deep); overflow: hidden; }
.thb-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.thb-card:hover .thb-card__media img { transform: scale(1.045); }
.thb-card__ph {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--thb-teal-soft), var(--thb-bg-deep));
	color: var(--thb-teal); }
.thb-card__ph svg { width: 40px; height: 40px; opacity: .5; }
.thb-card__cat { position: absolute; left: 12px; top: 12px; z-index: 2; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
.thb-card__body { padding: 17px 18px 19px; display: flex; flex-direction: column; gap: 10px; flex: 1 1 auto; }
.thb-card__title { margin: 0; font-size: 1.09rem; line-height: 1.34; }
.thb-card__title a { color: var(--thb-ink); }
.thb-card__title a:hover { color: var(--thb-teal-dark); }
.thb-card__ex { margin: 0; font-size: .92rem; color: var(--thb-muted); line-height: 1.62; }
.thb-card__foot { margin-top: auto; padding-top: 4px; }

.thb-card--sm .thb-card__title { font-size: .99rem; }
.thb-card--sm .thb-card__body { padding: 14px 15px 16px; }

/* horizontal list item */
.thb-item { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 15px; align-items: start; }
.thb-item__media { display: block; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: var(--thb-bg-deep); position: relative; }
.thb-item__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thb-item__title { margin: 0 0 6px; font-size: .98rem; line-height: 1.38; }
.thb-item__title a { color: var(--thb-ink); }
.thb-item__title a:hover { color: var(--thb-teal-dark); }
@media (max-width: 480px) { .thb-item { grid-template-columns: 92px minmax(0, 1fr); gap: 12px; } }

/* numbered list */
.thb-rank { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.thb-rank li { margin: 0; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 12px; align-items: start; }
.thb-rank__n {
	font-family: var(--thb-font-head); font-weight: 700; font-size: 1.15rem;
	color: var(--thb-teal); line-height: 1.3;
	border-right: 2px solid var(--thb-teal-line); padding-right: 10px; text-align: right;
}
.thb-rank__t { margin: 0; font-size: .95rem; line-height: 1.4; font-family: var(--thb-font-head); font-weight: 600; }
.thb-rank__t a { color: var(--thb-ink); }
.thb-rank__t a:hover { color: var(--thb-teal-dark); }
.thb-rank__m { font-size: .78rem; color: var(--thb-muted-2); margin-top: 3px; }

/* =========================================================================
   7. Front page
   ========================================================================= */
.thb-hero { padding: 34px 0 6px; }
.thb-hero__grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 24px; }
@media (max-width: 900px) { .thb-hero__grid { grid-template-columns: minmax(0, 1fr); } }

.thb-lead {
	position: relative; display: block; overflow: hidden;
	border-radius: var(--thb-radius-lg);
	min-height: 430px;
	background: linear-gradient(135deg, var(--thb-ink) 0%, #123c42 55%, var(--thb-teal-darker) 100%);
	isolation: isolate;
}
.thb-lead__img { position: absolute; inset: 0; z-index: 0; }
.thb-lead__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.thb-lead__veil {
	position: absolute; inset: 0; z-index: 1;
	background: linear-gradient(180deg, rgba(16, 24, 32, .12) 0%, rgba(16, 24, 32, .62) 52%, rgba(16, 24, 32, .93) 100%);
}
.thb-lead__body { position: relative; z-index: 2; padding: 30px 30px 28px; margin-top: auto; display: flex; flex-direction: column; gap: 12px; height: 100%; justify-content: flex-end; }
.thb-lead__title { margin: 0; color: #fff; font-size: clamp(1.5rem, 1.1rem + 1.7vw, 2.32rem); line-height: 1.18; }
.thb-lead__title a { color: #fff; }
.thb-lead__title a:hover { color: #bff0f0; }
.thb-lead__ex { margin: 0; color: #cfdde6; font-size: 1rem; max-width: 60ch; }
.thb-lead .thb-meta, .thb-lead .thb-meta a { color: #a8bdc9; }
@media (max-width: 620px) { .thb-lead { min-height: 340px; } .thb-lead__body { padding: 22px 20px 20px; } }

.thb-hero__side { display: grid; gap: 18px; align-content: start; }
.thb-sub {
	position: relative; display: block; overflow: hidden;
	border-radius: var(--thb-radius);
	min-height: 132px;
	background: var(--thb-ink-2);
}
.thb-sub__img { position: absolute; inset: 0; z-index: 0; }
.thb-sub__img img { width: 100%; height: 100%; object-fit: cover; }
.thb-sub__veil { position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(16, 24, 32, .2), rgba(16, 24, 32, .9)); }
.thb-sub__body { position: relative; z-index: 2; padding: 16px 17px; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; }
.thb-sub__title { margin: 0; font-size: 1rem; line-height: 1.32; }
.thb-sub__title a { color: #fff; }
.thb-sub__title a:hover { color: #bff0f0; }
.thb-sub .thb-meta, .thb-sub .thb-meta a { color: #a8bdc9; font-size: .78rem; }

.thb-block { padding: 34px 0; }
.thb-block--alt { background: var(--thb-bg); border-top: 1px solid var(--thb-line); border-bottom: 1px solid var(--thb-line); }
.thb-blockhead { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 22px; flex-wrap: wrap; }
.thb-blockhead__t { display: flex; flex-direction: column; gap: 8px; }
.thb-blockhead h2 { margin: 0; font-size: clamp(1.3rem, 1.1rem + .8vw, 1.72rem); }
.thb-blockhead__link { font-family: var(--thb-font-head); font-weight: 600; font-size: .88rem; display: inline-flex; align-items: center; gap: 6px; }
.thb-blockhead__link svg { width: 15px; height: 15px; }

.thb-section-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { .thb-section-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .thb-section-strip { grid-template-columns: minmax(0, 1fr); } }
.thb-sectile {
	display: flex; align-items: center; gap: 13px;
	padding: 16px 17px;
	background: var(--thb-bg); border: 1px solid var(--thb-line);
	border-radius: var(--thb-radius);
	border-left: 4px solid var(--thb-teal);
	transition: transform .18s ease, box-shadow .18s ease;
}
.thb-sectile:hover { transform: translateY(-2px); box-shadow: var(--thb-shadow-sm); }
.thb-sectile[data-sec="business"] { border-left-color: var(--thb-sec-business); }
.thb-sectile[data-sec="how-to"] { border-left-color: var(--thb-sec-howto); }
.thb-sectile[data-sec="ai-tools"] { border-left-color: var(--thb-sec-ai); }
.thb-sectile__ic {
	width: 42px; height: 42px; border-radius: 12px; flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--thb-teal-soft); color: var(--thb-teal-dark);
}
.thb-sectile__ic svg { width: 21px; height: 21px; }
.thb-sectile[data-sec="business"] .thb-sectile__ic { background: #e8f0fe; color: #1a5ac4; }
.thb-sectile[data-sec="how-to"] .thb-sectile__ic { background: var(--thb-amber-soft); color: #a96a00; }
.thb-sectile[data-sec="ai-tools"] .thb-sectile__ic { background: #f0ecff; color: #5b3fd6; }
.thb-sectile__n { font-family: var(--thb-font-head); font-weight: 700; font-size: 1rem; color: var(--thb-ink); line-height: 1.2; }
.thb-sectile__c { font-size: .8rem; color: var(--thb-muted); }

/* stories row */
.thb-stories { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 980px) { .thb-stories { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .thb-stories { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.thb-story {
	position: relative; display: block; border-radius: var(--thb-radius);
	overflow: hidden; aspect-ratio: 9 / 14; background: var(--thb-ink-2);
	border: 2px solid transparent;
	transition: transform .2s ease, border-color .2s ease;
}
.thb-story:hover { transform: translateY(-3px); border-color: var(--thb-teal); }
.thb-story img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.thb-story__veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16, 24, 32, .05) 40%, rgba(16, 24, 32, .88) 100%); }
.thb-story__t {
	position: absolute; left: 12px; right: 12px; bottom: 12px;
	color: #fff; font-family: var(--thb-font-head); font-weight: 600;
	font-size: .87rem; line-height: 1.3;
}
.thb-story__badge {
	position: absolute; left: 10px; top: 10px;
	display: inline-flex; align-items: center; gap: 5px;
	background: rgba(16, 24, 32, .68); color: #fff;
	font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	padding: 4px 8px; border-radius: 999px; backdrop-filter: blur(4px);
}
.thb-story__badge svg { width: 11px; height: 11px; }

/* CTA band */
.thb-band {
	background: linear-gradient(120deg, var(--thb-ink) 0%, #123c42 60%, var(--thb-teal-darker) 100%);
	color: #dbe8ee; border-radius: var(--thb-radius-lg);
	padding: 34px 34px;
	display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center;
}
@media (max-width: 780px) { .thb-band { grid-template-columns: minmax(0, 1fr); padding: 26px 22px; } }
.thb-band h2 { color: #fff; margin: 0 0 8px; }
.thb-band p { margin: 0; color: #b8ccd7; max-width: 62ch; }
.thb-band__acts { display: flex; gap: 12px; flex-wrap: wrap; }

/* =========================================================================
   8. Page head / breadcrumbs
   ========================================================================= */
.thb-pagehead {
	background: var(--thb-ink);
	color: #cfdce6;
	padding: 40px 0 42px;
	position: relative; overflow: hidden;
}
.thb-pagehead::after {
	content: ""; position: absolute; right: -80px; top: -80px;
	width: 320px; height: 320px; border-radius: 50%;
	background: radial-gradient(circle, rgba(15, 163, 163, .38), transparent 68%);
}
.thb-pagehead__in { position: relative; z-index: 2; }
.thb-pagehead h1 { color: #fff; margin: 10px 0 10px; }
.thb-pagehead p { margin: 0; color: #a9bfcd; max-width: 68ch; }
.thb-pagehead .thb-eyebrow { color: var(--thb-teal); }
.thb-pagehead[data-sec="business"] .thb-eyebrow { color: #79aaff; }
.thb-pagehead[data-sec="how-to"] .thb-eyebrow { color: var(--thb-amber); }
.thb-pagehead[data-sec="ai-tools"] .thb-eyebrow { color: #b0a0ff; }

.thb-crumbs { font-size: .82rem; color: var(--thb-muted); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.thb-crumbs a { color: var(--thb-muted); }
.thb-crumbs a:hover { color: var(--thb-teal-dark); }
.thb-crumbs svg { width: 13px; height: 13px; opacity: .55; }
.thb-crumbs span[aria-current] { color: var(--thb-ink); font-weight: 500; }
.thb-pagehead .thb-crumbs, .thb-pagehead .thb-crumbs a { color: #92aabb; }
.thb-pagehead .thb-crumbs span[aria-current] { color: #dbe8ef; }
.thb-crumbs--bar { background: var(--thb-bg); border-bottom: 1px solid var(--thb-line); }
.thb-crumbs--bar .thb-crumbs { min-height: 44px; }

/* =========================================================================
   9. Single post
   ========================================================================= */
.thb-progress {
	position: fixed; left: 0; top: 0; height: 3px; width: 0;
	background: linear-gradient(90deg, var(--thb-teal), var(--thb-amber));
	z-index: 800; transition: width .08s linear;
}
.admin-bar .thb-progress { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .thb-progress { top: 46px; } }

.thb-article { background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius-lg); overflow: hidden; }
.thb-article__head { padding: 30px 34px 4px; }
.thb-article__head h1 { margin: 12px 0 14px; }
.thb-article__lede { font-size: 1.1rem; color: var(--thb-muted); margin: 0 0 16px; }
.thb-article__bar {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; flex-wrap: wrap;
	padding: 14px 0 18px; border-top: 1px solid var(--thb-line); margin-top: 18px;
}
.thb-article__by { display: flex; align-items: center; gap: 11px; }
.thb-article__by img, .thb-avatar { border-radius: 50%; display: block; }
.thb-article__byname { font-family: var(--thb-font-head); font-weight: 600; font-size: .94rem; color: var(--thb-ink); }
.thb-article__byname a { color: var(--thb-ink); }
.thb-article__byname a:hover { color: var(--thb-teal-dark); }
.thb-article__bymeta { font-size: .8rem; color: var(--thb-muted); }
.thb-article__hero { margin: 0; }
.thb-article__hero img { width: 100%; display: block; }
.thb-article__body { padding: 26px 34px 34px; }
@media (max-width: 700px) {
	.thb-article__head { padding: 22px 20px 2px; }
	.thb-article__body { padding: 20px 20px 26px; }
	.thb-article { border-radius: var(--thb-radius); }
}

.thb-content { font-size: 1.045rem; }
.thb-content > *:first-child { margin-top: 0; }
.thb-content h2 { margin: 1.7em 0 .6em; padding-top: .1em; }
.thb-content h3 { margin: 1.5em 0 .5em; }
.thb-content h4 { margin: 1.35em 0 .45em; }
.thb-content h2[id], .thb-content h3[id], .thb-content h4[id] { scroll-margin-top: 92px; }
.admin-bar .thb-content h2[id], .admin-bar .thb-content h3[id], .admin-bar .thb-content h4[id] { scroll-margin-top: 124px; }
@media (max-width: 782px) {
	.thb-content h2[id], .thb-content h3[id], .thb-content h4[id] { scroll-margin-top: 76px; }
	.admin-bar .thb-content h2[id], .admin-bar .thb-content h3[id], .admin-bar .thb-content h4[id] { scroll-margin-top: 122px; }
}
.thb-content img { border-radius: var(--thb-radius-sm); }
.thb-content a { text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.thb-content ul li::marker { color: var(--thb-teal); }
.thb-content ol li::marker { color: var(--thb-teal); font-weight: 700; }
.thb-content .alignwide { margin-left: -28px; margin-right: -28px; max-width: calc(100% + 56px); }
.thb-content .alignfull { margin-left: -34px; margin-right: -34px; max-width: calc(100% + 68px); }
@media (max-width: 700px) { .thb-content .alignwide, .thb-content .alignfull { margin-left: -20px; margin-right: -20px; max-width: calc(100% + 40px); } }
.thb-content .alignleft { float: left; margin: .4em 1.4em 1em 0; }
.thb-content .alignright { float: right; margin: .4em 0 1em 1.4em; }
.thb-content .aligncenter { margin-left: auto; margin-right: auto; display: block; }
.thb-content::after { content: ""; display: table; clear: both; }
.wp-caption { max-width: 100%; }
.wp-block-image figcaption, .wp-caption-text { font-size: .87em; color: var(--thb-muted); text-align: center; }

/* table of contents */
.thb-toc {
	margin: 0 0 1.9em;
	background: var(--thb-bg-alt);
	border: 1px solid var(--thb-line);
	border-left: 4px solid var(--thb-teal);
	border-radius: var(--thb-radius-sm);
	padding: 16px 20px 18px;
}
.thb-toc__head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	font-family: var(--thb-font-head); font-weight: 700; font-size: .96rem; color: var(--thb-ink);
}
.thb-toc__head svg { width: 17px; height: 17px; color: var(--thb-teal); }
.thb-toc__t { display: inline-flex; align-items: center; gap: 8px; }
.thb-toc__toggle {
	background: none; border: 0; cursor: pointer; color: var(--thb-muted);
	font-family: var(--thb-font-head); font-size: .8rem; font-weight: 600;
	display: inline-flex; align-items: center; gap: 5px; padding: 3px 6px; border-radius: 6px;
}
.thb-toc__toggle:hover { color: var(--thb-teal-dark); background: var(--thb-teal-soft); }
.thb-toc__toggle svg { width: 14px; height: 14px; transition: transform .2s ease; }
.thb-toc.is-collapsed .thb-toc__toggle svg { transform: rotate(-90deg); }
.thb-toc.is-collapsed .thb-toc__list { display: none; }
.thb-toc__list { list-style: none; margin: 13px 0 0; padding: 0; counter-reset: thbtoc; }
.thb-toc__list li { margin: 0 0 8px; padding-left: 26px; position: relative; }
.thb-toc__list li::before {
	counter-increment: thbtoc; content: counter(thbtoc);
	position: absolute; left: 0; top: 1px;
	width: 19px; height: 19px; border-radius: 6px;
	background: var(--thb-teal-soft); color: var(--thb-teal-dark);
	font-family: var(--thb-font-head); font-size: .68rem; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}
.thb-toc__list a { font-size: .94rem; color: var(--thb-ink-2); font-weight: 500; text-decoration: none; }
.thb-toc__list a:hover { color: var(--thb-teal-dark); text-decoration: underline; }
.thb-toc__list li.is-sub { padding-left: 46px; }
.thb-toc__list li.is-sub::before { left: 22px; background: transparent; color: var(--thb-muted-2); }
.thb-toc__list li.is-active > a { color: var(--thb-teal-dark); font-weight: 600; }

/* share */
.thb-share { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.thb-share__lbl { font-family: var(--thb-font-head); font-weight: 600; font-size: .84rem; color: var(--thb-muted); margin-right: 2px; }
.thb-share a, .thb-share button {
	width: 38px; height: 38px; border-radius: 11px; border: 1px solid var(--thb-line);
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--thb-bg); color: var(--thb-ink-2); cursor: pointer;
	transition: transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
.thb-share a:hover, .thb-share button:hover { transform: translateY(-2px); color: #fff; border-color: transparent; }
.thb-share svg { width: 17px; height: 17px; }
.thb-share .s-x:hover { background: #101820; }
.thb-share .s-fb:hover { background: #1877f2; }
.thb-share .s-li:hover { background: #0a66c2; }
.thb-share .s-wa:hover { background: #25d366; color: #06301a; }
.thb-share .s-tg:hover { background: #229ed9; }
.thb-share .s-cp:hover { background: var(--thb-teal); }
.thb-share .s-cp.is-done { background: var(--thb-teal); color: #fff; border-color: transparent; }

.thb-tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.thb-tags a {
	font-size: .82rem; padding: 6px 12px; border-radius: 999px;
	background: var(--thb-bg-alt); border: 1px solid var(--thb-line); color: var(--thb-muted);
}
.thb-tags a:hover { background: var(--thb-teal); border-color: var(--thb-teal); color: #fff; }

.thb-postfoot {
	margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--thb-line);
	display: flex; flex-direction: column; gap: 20px;
}

/* author box */
.thb-authorbox {
	display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 20px;
	background: var(--thb-bg-alt); border: 1px solid var(--thb-line);
	border-radius: var(--thb-radius); padding: 22px 24px;
}
@media (max-width: 560px) { .thb-authorbox { grid-template-columns: minmax(0, 1fr); gap: 14px; } }
.thb-authorbox__av { width: 86px; height: 86px; border-radius: 50%; overflow: hidden; background: var(--thb-teal-soft); }
.thb-authorbox__av img { width: 100%; height: 100%; object-fit: cover; }
.thb-authorbox__name { margin: 0 0 3px; font-size: 1.14rem; }
.thb-authorbox__name a { color: var(--thb-ink); }
.thb-authorbox__role { font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--thb-teal-dark); margin-bottom: 9px; }
.thb-authorbox__bio { margin: 0 0 12px; font-size: .95rem; color: var(--thb-muted); }
.thb-authorbox__links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.thb-authorbox__links a {
	display: inline-flex; align-items: center; gap: 6px;
	font-size: .82rem; font-weight: 600; font-family: var(--thb-font-head);
	padding: 6px 12px; border-radius: 999px; background: var(--thb-bg); border: 1px solid var(--thb-line);
	color: var(--thb-ink-2);
}
.thb-authorbox__links a:hover { background: var(--thb-teal); border-color: var(--thb-teal); color: #fff; }
.thb-authorbox__links svg { width: 14px; height: 14px; }

/* avatar initials */
.thb-initials {
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%; color: #fff;
	font-family: var(--thb-font-head); font-weight: 700; letter-spacing: -.02em;
	background: linear-gradient(135deg, var(--thb-teal), var(--thb-teal-darker));
	flex: none;
}

/* prev/next */
.thb-adjacent { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 26px; }
@media (max-width: 620px) { .thb-adjacent { grid-template-columns: minmax(0, 1fr); } }
.thb-adjacent__i {
	background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius);
	padding: 15px 18px; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.thb-adjacent__i:hover { border-color: var(--thb-teal-line); box-shadow: var(--thb-shadow-sm); transform: translateY(-2px); }
.thb-adjacent__l { font-size: .74rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; color: var(--thb-muted-2); display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.thb-adjacent__i:last-child .thb-adjacent__l { justify-content: flex-end; }
.thb-adjacent__i:last-child { text-align: right; }
.thb-adjacent__t { font-family: var(--thb-font-head); font-weight: 600; font-size: .98rem; line-height: 1.35; color: var(--thb-ink); display: block; }
.thb-adjacent__i:hover .thb-adjacent__t { color: var(--thb-teal-dark); }
.thb-adjacent__l svg { width: 13px; height: 13px; }

/* =========================================================================
   10. Sidebar widgets
   ========================================================================= */
.thb-widget {
	background: var(--thb-bg); border: 1px solid var(--thb-line);
	border-radius: var(--thb-radius); padding: 20px 20px 22px; margin-bottom: 22px;
}
.thb-widget:last-child { margin-bottom: 0; }
.thb-widget__t {
	font-family: var(--thb-font-head); font-weight: 700; font-size: 1.02rem;
	color: var(--thb-ink); margin: 0 0 4px;
	display: flex; align-items: center; gap: 8px;
}
.thb-widget__t svg { width: 17px; height: 17px; color: var(--thb-teal); }
.thb-widget__line { height: 3px; width: 42px; border-radius: 3px; background: var(--thb-teal); margin: 0 0 16px; }
.thb-widget ul { list-style: none; margin: 0; padding: 0; }
.thb-widget li { margin: 0 0 9px; }
.thb-widget > ul > li > a, .thb-widget .wp-block-categories-list a, .thb-widget .wp-block-archives-list a, .thb-widget .wp-block-latest-posts__list a, .thb-widget .wp-block-page-list a {
	display: flex; align-items: center; gap: 8px;
	color: var(--thb-ink-2); font-size: .94rem; font-weight: 500;
	padding: 6px 0; border-bottom: 1px dashed var(--thb-line);
}
.thb-widget > ul > li > a:hover { color: var(--thb-teal-dark); }
.thb-widget .thb-rank a { border: 0; padding: 0; display: inline; }
.thb-widget select { width: 100%; padding: 10px 12px; border-radius: 9px; border: 1px solid var(--thb-line); font-family: inherit; }
.thb-widget p:last-child { margin-bottom: 0; }
.thb-widget .wp-block-group__inner-container > h2, .thb-widget h2.wp-block-heading, .thb-widget h3.wp-block-heading {
	font-size: 1.02rem; margin: 0 0 12px;
}

.thb-widget--wa {
	background: linear-gradient(135deg, #0d3b26, #145c39);
	border-color: transparent; color: #d7f5e4;
}
.thb-widget--wa .thb-widget__t { color: #fff; }
.thb-widget--wa .thb-widget__t svg { color: #6ff2a4; }
.thb-widget--wa .thb-widget__line { background: #25d366; }
.thb-widget--wa p { color: #b6e6c9; font-size: .92rem; }
.thb-widget--wa .thb-wa-num {
	font-family: var(--thb-font-head); font-weight: 700; font-size: 1.16rem; color: #fff;
	display: block; margin-bottom: 12px; letter-spacing: .01em;
}

.thb-widget--cta { background: linear-gradient(135deg, var(--thb-ink), #123c42); border-color: transparent; color: #c9dae4; }
.thb-widget--cta .thb-widget__t { color: #fff; }
.thb-widget--cta .thb-widget__line { background: var(--thb-teal); }
.thb-widget--cta p { color: #a9c1ce; font-size: .92rem; }
.thb-widget--cta ul { margin: 0 0 14px; }
.thb-widget--cta li { display: flex; gap: 8px; align-items: flex-start; font-size: .9rem; color: #b9cedb; }
.thb-widget--cta li svg { width: 16px; height: 16px; color: var(--thb-teal); flex: none; margin-top: 3px; }

.thb-newsletter { }
.thb-newsletter__form { display: flex; flex-direction: column; gap: 10px; }
.thb-newsletter input[type="email"], .thb-newsletter input[type="text"] {
	width: 100%; padding: 12px 15px; border-radius: 10px;
	border: 1px solid var(--thb-line); font-family: inherit; font-size: .94rem; background: #fff;
}
.thb-newsletter__note { font-size: .78rem; color: var(--thb-muted-2); margin: 0; }
.thb-newsletter--wide { background: linear-gradient(120deg, var(--thb-teal-soft), var(--thb-bg)); border: 1px solid var(--thb-teal-line); border-radius: var(--thb-radius-lg); padding: 30px 32px; }
.thb-newsletter--wide .thb-newsletter__form { flex-direction: row; flex-wrap: wrap; }
.thb-newsletter--wide .thb-newsletter__form input { flex: 1 1 240px; width: auto; }
.thb-newsletter--wide .thb-newsletter__form .thb-btn { flex: none; width: auto; }
.thb-newsletter--wide .thb-newsletter__note { flex: 1 0 100%; }
@media (max-width: 560px) {
	.thb-newsletter--wide { padding: 24px 20px; }
	.thb-newsletter--wide .thb-newsletter__form { flex-direction: column; }
	.thb-newsletter--wide .thb-newsletter__form .thb-btn { width: 100%; }
}

.thb-notice {
	padding: 12px 16px; border-radius: 10px; font-size: .92rem; margin-bottom: 16px;
	border: 1px solid var(--thb-teal-line); background: var(--thb-teal-soft); color: var(--thb-teal-darker);
	display: flex; gap: 9px; align-items: flex-start;
}
.thb-notice svg { width: 18px; height: 18px; flex: none; margin-top: 2px; }
.thb-notice--err { border-color: #f3c2c2; background: #fdeeee; color: #a52a2a; }

/* tag cloud */
.thb-widget .tagcloud, .thb-widget .wp-block-tag-cloud { display: flex; flex-wrap: wrap; gap: 8px; }
.thb-widget .tagcloud a, .thb-widget .wp-block-tag-cloud a {
	font-size: .8rem !important; padding: 6px 12px; border-radius: 999px;
	background: var(--thb-bg-alt); border: 1px solid var(--thb-line); color: var(--thb-muted);
	border-bottom: 1px solid var(--thb-line); display: inline-block;
}
.thb-widget .tagcloud a:hover, .thb-widget .wp-block-tag-cloud a:hover { background: var(--thb-teal); border-color: var(--thb-teal); color: #fff; }

/* =========================================================================
   11. Archives, pagination, search
   ========================================================================= */
.thb-pagination { margin-top: 34px; display: flex; justify-content: center; }
.thb-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 13px; margin: 0 4px;
	border-radius: 11px; border: 1px solid var(--thb-line); background: var(--thb-bg);
	font-family: var(--thb-font-head); font-weight: 600; font-size: .92rem; color: var(--thb-ink-2);
}
.thb-pagination .page-numbers:hover { border-color: var(--thb-teal); color: var(--thb-teal-dark); }
.thb-pagination .page-numbers.current { background: var(--thb-teal); border-color: var(--thb-teal); color: #fff; }
.thb-pagination .page-numbers.dots { border-color: transparent; background: none; }

.thb-empty { background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius-lg); padding: 44px 34px; text-align: center; }
.thb-empty__ic { width: 64px; height: 64px; border-radius: 20px; background: var(--thb-teal-soft); color: var(--thb-teal); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.thb-empty__ic svg { width: 30px; height: 30px; }
.thb-empty p { color: var(--thb-muted); max-width: 54ch; margin-left: auto; margin-right: auto; }
.thb-empty .thb-searchform { max-width: 460px; margin: 18px auto 0; }
.thb-empty .thb-searchform input { border-color: var(--thb-line-strong); }

.thb-404 { text-align: center; padding: 60px 0 70px; }
.thb-404__code {
	font-family: var(--thb-font-head); font-weight: 700; letter-spacing: -.05em;
	font-size: clamp(4.5rem, 3rem + 10vw, 9rem); line-height: 1;
	background: linear-gradient(120deg, var(--thb-teal), var(--thb-amber));
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.thb-404__links { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 22px; }

/* author archive header */
.thb-authorhead { display: grid; grid-template-columns: 108px minmax(0, 1fr); gap: 24px; align-items: center; }
@media (max-width: 640px) { .thb-authorhead { grid-template-columns: minmax(0, 1fr); text-align: left; } }
.thb-authorhead__av { width: 108px; height: 108px; border-radius: 50%; overflow: hidden; border: 3px solid rgba(255, 255, 255, .16); }
.thb-authorhead__av img { width: 100%; height: 100%; object-fit: cover; }
.thb-authorhead h1 { margin: 6px 0 8px; }
.thb-authorhead__stats { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 12px; font-size: .86rem; color: #a9bfcd; }
.thb-authorhead__stats b { color: #fff; font-family: var(--thb-font-head); }
.thb-authorhead__social { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.thb-authorhead__social a {
	display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px;
	background: rgba(255, 255, 255, .09); color: #dbe8ef; font-size: .82rem; font-weight: 600;
	font-family: var(--thb-font-head);
}
.thb-authorhead__social a:hover { background: var(--thb-teal); color: #fff; }
.thb-authorhead__social svg { width: 14px; height: 14px; }

/* authors page cards */
.thb-authorcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 940px) { .thb-authorcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .thb-authorcards { grid-template-columns: minmax(0, 1fr); } }
.thb-authorcard {
	background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius-lg);
	padding: 26px 24px; text-align: center;
	transition: transform .2s ease, box-shadow .2s ease;
	display: flex; flex-direction: column; align-items: center;
}
.thb-authorcard:hover { transform: translateY(-3px); box-shadow: var(--thb-shadow); }
.thb-authorcard__av { width: 96px; height: 96px; border-radius: 50%; overflow: hidden; margin-bottom: 14px; }
.thb-authorcard__av img { width: 100%; height: 100%; object-fit: cover; }
.thb-authorcard h3 { margin: 0 0 4px; font-size: 1.14rem; }
.thb-authorcard h3 a { color: var(--thb-ink); }
.thb-authorcard__role { font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--thb-teal-dark); margin-bottom: 10px; }
.thb-authorcard__bio { font-size: .92rem; color: var(--thb-muted); margin: 0 0 14px; }
.thb-authorcard__facts { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin-bottom: 14px; }
.thb-authorcard__facts span {
	font-size: .76rem; padding: 5px 11px; border-radius: 999px;
	background: var(--thb-bg-alt); border: 1px solid var(--thb-line); color: var(--thb-muted);
}
.thb-authorcard__foot { margin-top: auto; display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }

/* =========================================================================
   12. Guest post page
   ========================================================================= */
.thb-gp-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 34px; align-items: center; }
@media (max-width: 900px) { .thb-gp-hero { grid-template-columns: minmax(0, 1fr); } }
.thb-gp-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.thb-gp-stat {
	background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .12);
	border-radius: var(--thb-radius); padding: 18px 18px;
}
.thb-gp-stat b { display: block; font-family: var(--thb-font-head); font-size: 1.75rem; color: #fff; line-height: 1.15; }
.thb-gp-stat span { font-size: .8rem; color: #9fb7c6; }

.thb-topics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 900px) { .thb-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .thb-topics { grid-template-columns: minmax(0, 1fr); } }
.thb-topic {
	background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius);
	padding: 20px; display: flex; gap: 13px; align-items: flex-start;
}
.thb-topic__ic { width: 40px; height: 40px; border-radius: 12px; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--thb-teal-soft); color: var(--thb-teal-dark); }
.thb-topic__ic svg { width: 20px; height: 20px; }
.thb-topic h3 { margin: 0 0 4px; font-size: 1.02rem; }
.thb-topic p { margin: 0; font-size: .9rem; color: var(--thb-muted); }

.thb-prices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
@media (max-width: 900px) { .thb-prices { grid-template-columns: minmax(0, 1fr); max-width: 460px; margin: 0 auto; } }
.thb-price {
	background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius-lg);
	padding: 26px 24px 28px; display: flex; flex-direction: column; position: relative;
}
.thb-price--feat { border-color: var(--thb-teal); box-shadow: 0 12px 34px rgba(15, 163, 163, .16); }
.thb-price__flag {
	position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
	background: var(--thb-teal); color: #fff; font-family: var(--thb-font-head);
	font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
	padding: 6px 14px; border-radius: 999px; white-space: nowrap;
}
.thb-price h3 { margin: 0 0 4px; font-size: 1.2rem; }
.thb-price__sub { font-size: .86rem; color: var(--thb-muted); margin-bottom: 16px; }
.thb-price__amt { font-family: var(--thb-font-head); font-weight: 700; font-size: 2.2rem; color: var(--thb-ink); line-height: 1.1; margin-bottom: 4px; }
.thb-price__per { font-size: .82rem; color: var(--thb-muted-2); margin-bottom: 18px; }
.thb-price ul { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 9px; }
.thb-price li { display: flex; gap: 9px; align-items: flex-start; font-size: .92rem; color: var(--thb-ink-2); margin: 0; }
.thb-price li svg { width: 17px; height: 17px; color: var(--thb-teal); flex: none; margin-top: 3px; }
.thb-price .thb-btn { margin-top: auto; }

.thb-do2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
@media (max-width: 780px) { .thb-do2 { grid-template-columns: minmax(0, 1fr); } }
.thb-do {
	background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius); padding: 22px 24px;
}
.thb-do h3 { display: flex; align-items: center; gap: 9px; font-size: 1.06rem; margin: 0 0 14px; }
.thb-do h3 svg { width: 20px; height: 20px; flex: none; }
.thb-do--yes { border-top: 3px solid var(--thb-teal); }
.thb-do--yes h3 svg { color: var(--thb-teal); }
.thb-do--no { border-top: 3px solid #e05a5a; }
.thb-do--no h3 svg { color: #e05a5a; }
.thb-do ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.thb-do li { margin: 0; padding-left: 24px; position: relative; font-size: .94rem; color: var(--thb-ink-2); }
.thb-do li::before { content: ""; position: absolute; left: 4px; top: 9px; width: 8px; height: 8px; border-radius: 50%; background: var(--thb-teal); }
.thb-do--no li::before { background: #e05a5a; }

.thb-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: thbstep; }
@media (max-width: 900px) { .thb-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .thb-steps { grid-template-columns: minmax(0, 1fr); } }
.thb-step { position: relative; padding-top: 8px; }
.thb-step__n {
	counter-increment: thbstep;
	width: 40px; height: 40px; border-radius: 13px; margin-bottom: 12px;
	background: var(--thb-ink); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	font-family: var(--thb-font-head); font-weight: 700; font-size: 1.02rem;
}
.thb-step__n::before { content: counter(thbstep); }
.thb-step h3 { font-size: 1.02rem; margin: 0 0 6px; }
.thb-step p { font-size: .92rem; color: var(--thb-muted); margin: 0; }

.thb-faq { display: grid; gap: 12px; }
.thb-faq details {
	background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius);
	padding: 0 20px;
}
.thb-faq details[open] { border-color: var(--thb-teal-line); }
.thb-faq summary {
	cursor: pointer; list-style: none; padding: 16px 0;
	font-family: var(--thb-font-head); font-weight: 600; font-size: 1rem; color: var(--thb-ink);
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
}
.thb-faq summary::-webkit-details-marker { display: none; }
.thb-faq summary::after {
	content: ""; flex: none; width: 11px; height: 11px;
	border-right: 2px solid var(--thb-teal); border-bottom: 2px solid var(--thb-teal);
	transform: rotate(45deg); transition: transform .2s ease; margin-top: -4px;
}
.thb-faq details[open] summary::after { transform: rotate(-135deg); margin-top: 3px; }
.thb-faq__a { padding: 0 0 18px; color: var(--thb-muted); font-size: .96rem; }
.thb-faq__a p:last-child { margin-bottom: 0; }

/* forms */
.thb-form { display: grid; gap: 16px; }
.thb-form__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 620px) { .thb-form__row { grid-template-columns: minmax(0, 1fr); } }
.thb-field { display: flex; flex-direction: column; gap: 6px; }
.thb-field label { font-family: var(--thb-font-head); font-weight: 600; font-size: .88rem; color: var(--thb-ink-2); }
.thb-field label .req { color: #d64545; }
.thb-field input, .thb-field select, .thb-field textarea {
	width: 100%; padding: 12px 15px; border-radius: 10px;
	border: 1px solid var(--thb-line-strong); background: #fff;
	font-family: inherit; font-size: .96rem; color: var(--thb-text);
}
.thb-field input:focus, .thb-field select:focus, .thb-field textarea:focus {
	outline: none; border-color: var(--thb-teal); box-shadow: 0 0 0 3px rgba(15, 163, 163, .16);
}
.thb-field textarea { min-height: 150px; resize: vertical; }
.thb-field__help { font-size: .8rem; color: var(--thb-muted-2); }
.thb-formcard {
	background: var(--thb-bg); border: 1px solid var(--thb-line);
	border-radius: var(--thb-radius-lg); padding: 30px 32px;
}
@media (max-width: 560px) { .thb-formcard { padding: 22px 20px; } }
.thb-hp { position: absolute !important; left: -9999px; top: -9999px; }

/* =========================================================================
   13. Comments
   ========================================================================= */
.thb-comments { margin-top: 30px; background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius-lg); padding: 26px 30px 30px; }
@media (max-width: 700px) { .thb-comments { padding: 20px 20px 24px; } }
.thb-comments__t { font-size: 1.24rem; margin: 0 0 20px; display: flex; align-items: center; gap: 9px; }
.thb-comments__t svg { width: 20px; height: 20px; color: var(--thb-teal); }
.comment-list { list-style: none; margin: 0 0 24px; padding: 0; }
.comment-list ol.children { list-style: none; padding-left: 26px; margin-top: 16px; }
@media (max-width: 560px) { .comment-list ol.children { padding-left: 12px; } }
.comment-body { padding: 16px 0; border-bottom: 1px solid var(--thb-line); }
.comment-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.comment-author { display: flex; align-items: center; gap: 10px; font-family: var(--thb-font-head); font-weight: 600; font-size: .94rem; }
.comment-author img { border-radius: 50%; }
.comment-author .says { display: none; }
.comment-metadata { font-size: .8rem; color: var(--thb-muted-2); }
.comment-metadata a { color: var(--thb-muted-2); }
.reply { margin-top: 6px; }
.comment-reply-link {
	font-family: var(--thb-font-head); font-weight: 600; font-size: .82rem;
	padding: 5px 12px; border-radius: 999px; background: var(--thb-bg-alt);
	border: 1px solid var(--thb-line); display: inline-block; color: var(--thb-ink-2);
}
.comment-reply-link:hover { background: var(--thb-teal); border-color: var(--thb-teal); color: #fff; }
.comment-respond { margin-top: 8px; }
.comment-reply-title { font-size: 1.1rem; margin-bottom: 6px; }
.comment-form { display: grid; gap: 14px; }
.comment-form p { margin: 0; }
.comment-form label { display: block; font-family: var(--thb-font-head); font-weight: 600; font-size: .88rem; margin-bottom: 6px; color: var(--thb-ink-2); }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
	width: 100%; padding: 12px 15px; border-radius: 10px;
	border: 1px solid var(--thb-line-strong); font-family: inherit; font-size: .96rem; background: #fff;
}
.comment-form textarea { min-height: 140px; resize: vertical; }
.comment-form .form-submit input[type="submit"] {
	display: inline-flex; padding: 12px 24px; border-radius: 999px; border: 0;
	background: var(--thb-teal); color: #fff;
	font-family: var(--thb-font-head); font-weight: 600; font-size: .95rem; cursor: pointer;
}
.comment-form .form-submit input[type="submit"]:hover { background: var(--thb-teal-dark); }
.comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 9px; }
.comment-form .comment-form-cookies-consent label { margin: 0; font-weight: 500; font-size: .86rem; color: var(--thb-muted); }
.comment-notes, .logged-in-as { font-size: .86rem; color: var(--thb-muted); }

/* =========================================================================
   14. Footer
   ========================================================================= */
.thb-footer { background: var(--thb-ink); color: #a9bfcd; margin-top: 0; }
.thb-footer__top { padding: 50px 0 38px; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 34px; }
@media (max-width: 940px) { .thb-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; } }
@media (max-width: 560px) { .thb-footer__top { grid-template-columns: minmax(0, 1fr); } }
.thb-footer h3 {
	color: #fff; font-size: .84rem; letter-spacing: .12em; text-transform: uppercase;
	margin: 0 0 16px; font-weight: 700;
}
.thb-footer p { font-size: .92rem; color: #9db4c3; }
.thb-footer ul { list-style: none; margin: 0; padding: 0; }
.thb-footer li { margin: 0 0 10px; }
.thb-footer a { color: #b7cbd8; font-size: .92rem; }
.thb-footer a:hover { color: var(--thb-teal); }
.thb-footer__brand .thb-brand__name { color: #fff; }
.thb-footer__brand .thb-brand__tag { color: #7d93a3; }
.thb-footer__contact li { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; }
.thb-footer__contact svg { width: 17px; height: 17px; color: var(--thb-teal); flex: none; margin-top: 3px; }
.thb-footer__social { display: flex; gap: 9px; margin-top: 16px; flex-wrap: wrap; }
.thb-footer__social a {
	width: 36px; height: 36px; border-radius: 11px;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .07); color: #cfdfe9;
}
.thb-footer__social a:hover { background: var(--thb-teal); color: #fff; }
.thb-footer__social svg { width: 17px; height: 17px; }
.thb-footer__bot {
	border-top: 1px solid rgba(255, 255, 255, .09);
	padding: 20px 0; display: flex; align-items: center; justify-content: space-between;
	gap: 16px; flex-wrap: wrap; font-size: .86rem;
}
.thb-footer__botmenu { display: flex; flex-wrap: wrap; gap: 8px 20px; list-style: none; margin: 0; padding: 0; }
.thb-footer__botmenu li { margin: 0; }

/* =========================================================================
   15. Floating actions
   ========================================================================= */
.thb-float { position: fixed; right: 18px; bottom: 18px; z-index: 700; display: flex; flex-direction: column; gap: 12px; align-items: flex-end; }

.thb-wa {
	position: relative;
	display: inline-flex; align-items: center; gap: 0;
	height: 58px; padding: 0 17px;
	border-radius: 999px;
	background: #25d366; color: #06301a;
	box-shadow: 0 8px 26px rgba(37, 211, 102, .42);
	font-family: var(--thb-font-head); font-weight: 700; font-size: .94rem;
	overflow: hidden; white-space: nowrap;
	transition: gap .25s ease, padding .25s ease, background .2s ease;
}
.thb-wa:hover { background: #1fb757; color: #06301a; gap: 10px; padding-right: 24px; }
.thb-wa__ic { width: 24px; height: 24px; flex: none; }
.thb-wa__ic svg { width: 26px; height: 26px; }
.thb-wa__lbl { max-width: 0; opacity: 0; transition: max-width .25s ease, opacity .2s ease; overflow: hidden; }
.thb-wa:hover .thb-wa__lbl { max-width: 190px; opacity: 1; }
.thb-wa::before {
	content: ""; position: absolute; inset: 0; border-radius: 999px;
	box-shadow: 0 0 0 0 rgba(37, 211, 102, .6);
	animation: thb-pulse 2.6s ease-out infinite;
	pointer-events: none;
}
@keyframes thb-pulse {
	0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); }
	70% { box-shadow: 0 0 0 20px rgba(37, 211, 102, 0); }
	100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}
@media (max-width: 560px) { .thb-wa { height: 54px; padding: 0 15px; } .thb-wa:hover .thb-wa__lbl { max-width: 0; opacity: 0; } .thb-wa:hover { padding: 0 15px; gap: 0; } }

.thb-top {
	width: 44px; height: 44px; border-radius: 14px; border: 0; cursor: pointer;
	background: var(--thb-ink); color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	box-shadow: var(--thb-shadow);
	opacity: 0; visibility: hidden; transform: translateY(10px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s, background .2s ease;
}
.thb-top.is-on { opacity: 1; visibility: visible; transform: translateY(0); }
.thb-top:hover { background: var(--thb-teal); }
.thb-top svg { width: 20px; height: 20px; }

/* =========================================================================
   16. Block editor / misc alignment helpers
   ========================================================================= */
.thb-prose h2:first-child { margin-top: 0; }
.thb-page { background: var(--thb-bg); border: 1px solid var(--thb-line); border-radius: var(--thb-radius-lg); padding: 32px 36px 36px; }
@media (max-width: 700px) { .thb-page { padding: 22px 20px 26px; border-radius: var(--thb-radius); } }

.wp-block-button__link { border-radius: 999px; background: var(--thb-teal); font-family: var(--thb-font-head); font-weight: 600; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border-color: var(--thb-teal); color: var(--thb-teal-dark); }
.wp-block-separator { border-color: var(--thb-line); }
.wp-block-pullquote { border-color: var(--thb-teal); }
.wp-block-search__button { background: var(--thb-teal); color: #fff; border: 0; border-radius: 999px; padding: 10px 20px; font-weight: 600; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }

.thb-lazy { opacity: 0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease; }
.thb-lazy.is-in { opacity: 1; transform: none; }

/* print */
@media print {
	.thb-topbar, .thb-nav, .thb-ticker, .thb-side, .thb-footer, .thb-float, .thb-share, .thb-progress, .thb-searchbar, .thb-adjacent, .thb-comments { display: none !important; }
	body { background: #fff; font-size: 12pt; }
	.thb-article { border: 0; }
	.thb-shell { grid-template-columns: minmax(0, 1fr); }
}
