/* ==========================================================================
   Travel Gear Zone design layer (on top of Kadence)
   1. Fonts + tokens   2. Base type   3. Buttons   4. Header
   5. Disclosure strip 6. Content     7. Sidebar   8. Footer
   ========================================================================== */

/* 1. Fonts + tokens ------------------------------------------------------- */
@font-face {
	font-family: 'Source Serif 4';
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url(../fonts/source-serif-4-normal-latin.woff2) format('woff2');
}
@font-face {
	font-family: 'Source Serif 4';
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url(../fonts/source-serif-4-italic-latin.woff2) format('woff2');
}
@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 600 800;
	font-display: swap;
	src: url(../fonts/plus-jakarta-sans-latin.woff2) format('woff2');
}

:root {
	--tgz-orange: #e47b02;
	--tgz-orange-dark: #c96a00;
	--tgz-orange-soft: #fff4e6;
	--tgz-blue: #1a5fb4;
	--tgz-blue-dark: #134a8e;
	--tgz-navy: #0f1f33;
	--tgz-navy-2: #172b45;
	--tgz-text: #2e3a48;
	--tgz-muted: #5d6a7a;
	--tgz-line: #e3e8ee;
	--tgz-soft: #f5f7fa;
	--tgz-radius: 12px;
	--tgz-radius-sm: 8px;
	--tgz-shadow: 0 1px 2px rgba(15, 31, 51, .06), 0 8px 24px rgba(15, 31, 51, .07);
	--tgz-shadow-hover: 0 2px 4px rgba(15, 31, 51, .08), 0 16px 36px rgba(15, 31, 51, .12);
	--tgz-paper: #fbf7f1;
	--tgz-label: #8a4b00; /* dark orange for small text on white (AA) */
	--tgz-font-head: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--tgz-font-ui: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--tgz-font-body: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--tgz-wrap: 1240px;
	--tgz-gutter: 24px;

	/* Kadence button tokens: orange button, navy text; navy on hover. */
	--global-palette-btn-bg: var(--tgz-orange);
	--global-palette-btn-bg-hover: var(--tgz-navy);
	--global-palette-btn: var(--tgz-navy);
	--global-palette-btn-hover: #fff;
}

/* 2. Base type ------------------------------------------------------------ */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6,
.entry-title {
	letter-spacing: -0.015em;
	text-wrap: balance;
}
h1, .entry-hero h1, .entry-title { letter-spacing: -0.025em; }
::selection { background: var(--tgz-orange-soft); color: var(--tgz-navy); }
:focus-visible { outline: 2px solid var(--tgz-blue); outline-offset: 2px; }

/* Reading text is serif; interface text (meta, labels, nav, tables, forms) is sans. */
.entry-meta, .entry-taxonomies, .kadence-breadcrumbs, .post-navigation, .comment-metadata,
.wp-block-table, table, figcaption, .wp-caption-text, label, input, select, textarea, button,
.widget-title, .site-footer, .header-html, .mobile-html, .tgz-meta, .tgz-cat, .tgz-eyebrow,
.loop-entry .entry-meta, .pagination, .nav-links, .kt-blocks-info-box-text {
	font-family: var(--tgz-font-ui);
}
.tgz-wrap {
	width: 100%;
	max-width: var(--tgz-wrap);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--tgz-gutter);
	padding-right: var(--tgz-gutter);
	box-sizing: border-box;
}
@media (max-width: 767px) { :root { --tgz-gutter: 16px; } }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* 3. Buttons -------------------------------------------------------------- */
.button,
.wp-block-button__link,
.wp-element-button,
input[type="submit"],
button[type="submit"],
.kb-button {
	font-family: var(--tgz-font-head);
	font-weight: 700;
	letter-spacing: 0;
	border-radius: var(--tgz-radius-sm);
	transition: background-color .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.wp-block-button__link:hover,
.button:hover { transform: translateY(-1px); }

/* 4. Header --------------------------------------------------------------- */
.site-main-header-wrap .site-header-row-container-inner {
	background: #fff;
	border-bottom: 1px solid var(--tgz-line);
}
.site-main-header-inner-wrap { min-height: 72px; }

.main-navigation .primary-menu-container > ul > li.menu-item > a {
	font-family: var(--tgz-font-head);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	color: var(--tgz-navy);
	padding-left: .85em;
	padding-right: .85em;
	position: relative;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a::after {
	content: "";
	position: absolute;
	left: .85em;
	right: .85em;
	bottom: calc(50% - 1.05em);
	height: 2px;
	border-radius: 2px;
	background: var(--tgz-orange);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .2s ease;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover::after,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a::after,
.main-navigation .primary-menu-container > ul > li.current-menu-ancestor > a::after {
	transform: scaleX(1);
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
.main-navigation .primary-menu-container > ul > li.current-menu-item > a {
	color: var(--tgz-navy);
}

.search-toggle-open-container .search-toggle-open,
.mobile-toggle-open-container .menu-toggle-open {
	color: var(--tgz-navy);
}
.search-toggle-open-container .search-toggle-open:hover { color: var(--tgz-orange-dark); }

/* Sticky header: soft shadow once it sticks. */
.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-header-row-container-inner {
	box-shadow: 0 4px 18px rgba(15, 31, 51, .08);
}

/* Mobile drawer menu */
.mobile-navigation ul li > a,
.mobile-navigation ul li.menu-item-has-children > .drawer-nav-drop-wrap {
	font-family: var(--tgz-font-head);
	font-weight: 700;
	font-size: 17px;
}

/* 5. Disclosure strip (header bottom row / mobile html item) -------------- */
.site-bottom-header-wrap .site-header-row-container-inner {
	background: var(--tgz-orange-soft);
	border-top: 0;
	border-bottom: 1px solid #fbe3c4;
}
.site-bottom-header-inner-wrap { min-height: 0 !important; padding: 7px 0; }
.header-html,
.mobile-html {
	font-family: var(--tgz-font-ui);
	font-size: 13px;
	line-height: 1.45;
	color: #5a4a35;
	text-align: center;
}
.header-html p,
.mobile-html p { margin: 0; }
.header-html a,
.mobile-html a {
	color: #8a4b00;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.header-html a:hover,
.mobile-html a:hover { color: var(--tgz-navy); }
#mobile-header .site-bottom-header-wrap .site-header-row-container-inner { padding: 0 12px; }
#mobile-header .mobile-html { font-size: 12px; }

/* 6. Content -------------------------------------------------------------- */
/* Links inside running text only (low specificity so components can restyle their own links). */
.entry-content :where(p, li, td, dd, blockquote, figcaption) a:where(:not(.wp-block-button__link):not(.kb-button):not(.button)),
.comment-content a {
	color: var(--tgz-blue);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-decoration-color: rgba(26, 95, 180, .35);
	transition: color .15s ease, text-decoration-color .15s ease;
}
.entry-content :where(p, li, td, dd, blockquote, figcaption) a:where(:not(.wp-block-button__link):not(.kb-button):not(.button)):hover {
	color: var(--tgz-blue-dark);
	text-decoration-color: currentColor;
}
/* Linked headings (post grids, cards) keep the heading colour. */
.entry-content :is(h1, h2, h3, h4, h5, h6) a:not(.wp-block-button__link),
.entry-content .kt-blocks-post-grid-item a:not(.wp-block-button__link) {
	color: inherit !important;
	text-decoration: none !important;
}
.entry-content :is(h1, h2, h3, h4, h5, h6) a:hover { color: var(--tgz-orange-dark) !important; }

/* 7. Sidebar -------------------------------------------------------------- */
.primary-sidebar .widget {
	margin-bottom: 28px;
}

/* 8. Footer --------------------------------------------------------------- */
.site-footer {
	--tgz-footer-text: #c6d0dc;
}
.site-footer .site-middle-footer-wrap .site-footer-row-container-inner,
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner {
	background: var(--tgz-navy);
	color: var(--tgz-footer-text);
}
.site-footer .site-middle-footer-wrap .site-footer-row-container-inner {
	padding-top: 56px;
	padding-bottom: 40px;
}
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner {
	border-top: 1px solid rgba(255, 255, 255, .1);
}
.site-footer .widget-title,
.site-footer h2,
.site-footer h3 {
	font-family: var(--tgz-font-head);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .02em;
	color: #fff;
	margin: 0 0 14px;
	text-transform: none;
}
.site-footer p { color: var(--tgz-footer-text); font-size: 15px; line-height: 1.65; }
.site-footer a { color: #fff; text-decoration: none; }
.site-footer a:hover { color: #ffb24d; }
.site-footer .tgz-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-footer .tgz-footer-links li { margin: 0 0 9px; padding: 0; }
.site-footer .tgz-footer-links a { color: var(--tgz-footer-text); font-size: 15px; }
.site-footer .tgz-footer-links a:hover { color: #fff; }
.site-footer .footer-html { font-size: 14px; color: #93a1b3; }
.site-footer .footer-html a { color: #c6d0dc; text-decoration: underline; text-underline-offset: 2px; }
.site-footer .footer-social-wrap .social-button {
	background: rgba(255, 255, 255, .08);
	color: #fff;
	border-radius: 8px;
}
.site-footer .footer-social-wrap .social-button:hover { background: var(--tgz-orange); color: var(--tgz-navy); }
.tgz-footer-logo img { width: 210px; height: auto; }
.site-footer .tgz-follow-label {
	margin: 22px 0 10px;
	font-family: var(--tgz-font-head);
	font-size: 15px;
	font-weight: 800;
	color: #fff;
}
/* Column 1 stacks: logo + text, then "Follow us" icons */
.site-footer .site-middle-footer-wrap .site-footer-middle-section-1 { flex-direction: column; align-items: flex-start; justify-content: flex-start; }
.site-footer .site-middle-footer-wrap .site-footer-middle-section-1 > * { width: 100%; margin-left: 0; margin-right: 0; }
.site-footer .site-middle-footer-wrap .footer-social-wrap { justify-content: flex-start; margin-top: 0; }
.site-footer .site-middle-footer-wrap .footer-social-wrap .footer-social-inner-wrap { justify-content: flex-start; }
/* Bottom row: Amazon disclosure box, then the copyright line */
.site-footer .footer-html .tgz-amazon-note {
	margin: 0 0 14px;
	padding: 12px 16px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-left: 3px solid var(--tgz-orange);
	border-radius: 8px;
	background: rgba(255, 255, 255, .04);
	font-size: 14px;
	line-height: 1.55;
	color: #c6d0dc;
	text-align: left;
}
.site-footer .footer-html .tgz-amazon-note strong { color: #fff; }
.site-footer .footer-html .tgz-copyright { margin: 0; font-size: 14px; color: #93a1b3; }
.site-footer .site-bottom-footer-wrap .footer-html,
.site-footer .site-bottom-footer-wrap .footer-html-inner { width: 100%; }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner { padding-top: 22px; padding-bottom: 24px; }
.site-footer .footer-widget-area,
.site-footer .footer-widget-area .footer-widget-area-inner { text-align: left !important; }

/* Back-to-top button */
#kt-scroll-up,
#kt-scroll-up-reader {
	background: var(--tgz-orange);
	color: var(--tgz-navy);
	border-radius: 10px;
	border: 0;
	box-shadow: var(--tgz-shadow);
}
#kt-scroll-up:hover { background: var(--tgz-navy); color: #fff; }

/* 9. Shared components (cards, labels, section heads) --------------------- */
.tgz-eyebrow {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tgz-label);
	margin: 0 0 12px;
}
.tgz-section { padding: 64px 0 0; }
.tgz-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	border-top: 3px solid var(--tgz-navy);
	padding-top: 14px;
	margin-bottom: 28px;
}
.entry-content .tgz-section__title {
	font-size: clamp(22px, 2.4vw, 28px);
	line-height: 1.2;
	margin: 0;
	color: var(--tgz-navy);
}
.tgz-section__head .tgz-more {
	font-family: var(--tgz-font-ui);
	font-size: 15px;
	font-weight: 700;
	color: var(--tgz-navy);
	text-decoration: none;
	white-space: nowrap;
}
.tgz-section__head .tgz-more:hover { color: var(--tgz-label); text-decoration: underline; text-underline-offset: 3px; }

.entry-content a.tgz-cat {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--tgz-label);
	text-decoration: none;
	margin-bottom: 8px;
}
.entry-content a.tgz-cat:hover { color: var(--tgz-navy); }
.entry-content .tgz-meta { font-size: 14px; line-height: 1.4; color: var(--tgz-muted); margin: 0; }

.tgz-lead__media, .tgz-mini__media, .tgz-row__media {
	display: block;
	overflow: hidden;
	background: var(--tgz-soft);
}
.tgz-lead__media img, .tgz-mini__media img, .tgz-row__media img, .tgz-tile img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}
.tgz-lead:hover .tgz-lead__media img,
.tgz-mini:hover .tgz-mini__media img,
.tgz-row:hover .tgz-row__media img { transform: scale(1.025); }
.tgz-ph {
	display: flex;
	width: 100%;
	height: 100%;
	min-height: 80px;
	align-items: center;
	justify-content: center;
	background: var(--tgz-orange-soft);
	color: var(--tgz-label);
	font-family: var(--tgz-font-head);
	font-weight: 800;
	letter-spacing: .12em;
}
.tgz-mini__title a, .tgz-row__title a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

/* 10. Homepage: intro ------------------------------------------------------ */
.tgz-intro { background: var(--tgz-paper); border-bottom: 1px solid #efe6d8; }
.tgz-intro__grid { display: grid; gap: 40px; align-items: center; padding-top: 48px; padding-bottom: 52px; }
@media (min-width: 1024px) {
	.tgz-intro__grid { padding-top: 72px; padding-bottom: 72px; }
	.tgz-intro__grid.has-media { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 64px; }
}
.entry-content .tgz-intro__title {
	font-size: clamp(32px, 4.4vw, 54px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--tgz-navy);
	margin: 0 0 18px;
	max-width: 17ch;
}
.tgz-intro__lede {
	font-size: clamp(17px, 1.5vw, 19px);
	line-height: 1.65;
	color: var(--tgz-text);
	max-width: 56ch;
	margin: 0 0 28px;
}
.tgz-search {
	position: relative;
	display: flex;
	gap: 6px;
	max-width: 580px;
	background: #fff;
	border: 1.5px solid #d6dbe2;
	border-radius: 12px;
	padding: 6px;
	box-shadow: 0 1px 2px rgba(15, 31, 51, .05);
}
.tgz-search:focus-within { border-color: var(--tgz-navy); box-shadow: 0 0 0 3px rgba(26, 95, 180, .18); }
.tgz-search__icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--tgz-muted); pointer-events: none; }
.tgz-search input[type="search"] {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 12px 10px 12px 42px;
	font-size: 16px;
	color: var(--tgz-navy);
	box-shadow: none;
	outline: none;
}
.tgz-search input[type="search"]::placeholder { color: #7a8594; }
.tgz-search button {
	flex: none;
	border: 0;
	border-radius: 8px;
	min-height: 46px;
	padding: 0 22px;
	background: var(--tgz-orange);
	color: var(--tgz-navy);
	font-weight: 800;
	font-size: 15px;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
.tgz-search button:hover, .tgz-search button:focus-visible { background: var(--tgz-navy); color: #fff; }
.tgz-intro__topics {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin-top: 18px;
	font-family: var(--tgz-font-ui);
}
.tgz-intro__topics-label { font-size: 14px; font-weight: 700; color: var(--tgz-muted); }
.tgz-intro .tgz-intro__topics ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.tgz-intro .tgz-intro__topics li { margin: 0; }
.tgz-intro .tgz-intro__topics a {
	display: inline-block;
	padding: 7px 13px;
	border-radius: 999px;
	border: 1px solid #e2d6c4;
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	color: var(--tgz-navy);
	text-decoration: none;
	transition: border-color .15s ease, background-color .15s ease;
}
.tgz-intro .tgz-intro__topics a:hover { border-color: var(--tgz-orange); background: var(--tgz-orange-soft); }
.tgz-intro__media { margin: 0; width: 100%; }
.tgz-intro__media-label {
	font-family: var(--tgz-font-ui);
	font-size: 14px;
	font-weight: 700;
	color: var(--tgz-muted);
	margin: 0 0 10px;
}
.entry-content .tgz-tiles.tgz-tiles--intro { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.tgz-tiles.tgz-tiles--intro .tgz-tile { aspect-ratio: 1 / 1; }
@media (min-width: 900px) {
	.entry-content .tgz-tiles.tgz-tiles--intro { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.tgz-tiles.tgz-tiles--intro .tgz-tile { aspect-ratio: 1 / 1; }
}
@media (min-width: 1024px) {
	.tgz-intro__media { justify-self: end; max-width: 460px; }
	.tgz-intro__media-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* 11. Homepage: latest (lead + list) ---------------------------------------- */
.tgz-latest__grid { display: grid; gap: 32px; }
@media (min-width: 1024px) { .tgz-latest__grid:not(.is-single) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 44px; } }
.tgz-lead__media { aspect-ratio: 16 / 9; border-radius: var(--tgz-radius); }
.tgz-lead__body { padding-top: 18px; }
.entry-content .tgz-lead__title { font-size: clamp(23px, 2.5vw, 32px); line-height: 1.2; margin: 0 0 12px; }
.tgz-lead__excerpt { font-size: 18px; line-height: 1.6; color: var(--tgz-text); margin: 0 0 12px; max-width: 62ch; }
.entry-content .tgz-latest__list { list-style: none; margin: 0; padding: 0; }
.tgz-mini {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 18px 0;
	margin: 0;
	border-top: 1px solid var(--tgz-line);
}
.tgz-mini:first-child { padding-top: 0; border-top: 0; }
.tgz-mini__media { aspect-ratio: 16 / 10; border-radius: 8px; }
.entry-content .tgz-mini__title { font-size: 17px; line-height: 1.35; margin: 0 0 6px; }
.tgz-mini .tgz-cat { margin-bottom: 4px; font-size: 12px; }
@media (min-width: 768px) { .tgz-mini { grid-template-columns: 160px minmax(0, 1fr); gap: 18px; } }

/* 12. Homepage: category tiles --------------------------------------------- */
.entry-content .tgz-tiles {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.tgz-tiles li { margin: 0; }
@media (min-width: 900px) { .entry-content .tgz-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; } }
.tgz-tiles .tgz-tile {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: var(--tgz-radius);
	overflow: hidden;
	background: var(--tgz-navy);
	color: #fff;
	text-decoration: none;
	isolation: isolate;
}
@media (min-width: 900px) { .tgz-tiles .tgz-tile { aspect-ratio: 4 / 5; } }
.tgz-tiles .tgz-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(15, 31, 51, .9) 0%, rgba(15, 31, 51, .45) 42%, rgba(15, 31, 51, 0) 68%);
}
.tgz-tile__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 16px; display: flex; flex-direction: column; gap: 3px; }
.tgz-tile__name { font-family: var(--tgz-font-head); font-weight: 800; font-size: clamp(17px, 1.7vw, 21px); line-height: 1.2; color: #fff; }
.tgz-tile__count { font-family: var(--tgz-font-ui); font-size: 14px; font-weight: 600; color: #ffd7a3; }
.tgz-tiles .tgz-tile:hover img { transform: scale(1.04); }
.tgz-tiles .tgz-tile:focus-visible { outline: 3px solid var(--tgz-orange); outline-offset: 3px; }

/* 13. Homepage: more guides (rows) ------------------------------------------ */
.entry-content .tgz-rows { list-style: none; margin: 0; padding: 0; display: grid; column-gap: 44px; }
@media (min-width: 900px) { .entry-content .tgz-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.tgz-row {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 20px 0;
	margin: 0;
	border-bottom: 1px solid var(--tgz-line);
}
.tgz-row__media { aspect-ratio: 16 / 10; border-radius: 10px; }
.entry-content .tgz-row__title { font-size: 17px; line-height: 1.35; margin: 0 0 6px; }
.tgz-row__excerpt { display: none; font-size: 16px; line-height: 1.55; color: var(--tgz-text); margin: 0 0 8px; }
.tgz-row .tgz-cat { margin-bottom: 4px; font-size: 12px; }
@media (min-width: 600px) {
	.tgz-row { grid-template-columns: 200px minmax(0, 1fr); gap: 20px; }
	.tgz-row__excerpt { display: block; }
	.entry-content .tgz-row__title { font-size: 19px; }
}

/* 14. Homepage: author panel ----------------------------------------------- */
.tgz-author { padding-bottom: 80px; }
.tgz-author__card {
	display: grid;
	gap: 24px;
	align-items: center;
	background: var(--tgz-paper);
	border: 1px solid #efe6d8;
	border-radius: 16px;
	padding: 28px 22px;
}
@media (min-width: 768px) { .tgz-author__card { grid-template-columns: 200px minmax(0, 1fr); gap: 44px; padding: 44px 52px; } }
.tgz-author__media img.tgz-author__photo {
	display: block;
	width: 140px;
	height: 140px;
	object-fit: cover;
	object-position: center top;
	border-radius: 50%;
	border: 4px solid #fff;
	box-shadow: var(--tgz-shadow);
}
@media (min-width: 768px) { .tgz-author__media img.tgz-author__photo { width: 200px; height: 200px; } }
.entry-content .tgz-author__name { font-size: clamp(24px, 2.6vw, 30px); margin: 0 0 10px; }
.tgz-author__bio { font-size: 18px; line-height: 1.65; margin: 0 0 22px; max-width: 64ch; color: var(--tgz-text); }
.tgz-author__links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin: 0; }
.tgz-author .tgz-author__links a.tgz-textlink {
	font-family: var(--tgz-font-ui);
	font-weight: 700;
	color: var(--tgz-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 767px) {
	.tgz-section { padding-top: 44px; }
	.tgz-author { padding-bottom: 56px; }
}

@media (max-width: 767px) {
	.site-footer .site-middle-footer-wrap .site-footer-row-container-inner { padding-top: 40px; }
	.site-footer .site-footer-section { margin-bottom: 18px; }
}

/* 15. Archives: category pages + Blog (inc/archive.php) ---------------------- */
.tgz-archive.content-area { margin: 0; }

/* Hero */
.tgz-ahero { background: var(--tgz-paper); border-bottom: 1px solid #efe6d8; }
.tgz-ahero__grid { display: grid; gap: 32px; align-items: center; padding: 26px 0 22px; }
.tgz-ahero__media { display: none; }
@media (min-width: 900px) {
	.tgz-ahero__grid { padding: 44px 0 30px; }
	.tgz-ahero__grid.has-media { grid-template-columns: minmax(0, 1fr) 400px; gap: 56px; }
	.tgz-ahero__media {
		display: block;
		aspect-ratio: 16 / 10;
		border-radius: var(--tgz-radius);
		overflow: hidden;
		background: var(--tgz-soft);
	}
	.tgz-ahero__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
}
@media (min-width: 1100px) { .tgz-ahero__grid.has-media { grid-template-columns: minmax(0, 1fr) 460px; } }

.entry-content .tgz-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
	font-family: var(--tgz-font-ui);
	font-size: 13.5px;
	font-weight: 600;
	color: var(--tgz-muted);
}
.tgz-crumbs li { margin: 0; }
.tgz-crumbs li + li::before { content: "/"; margin: 0 8px; color: #b9a993; }
.entry-content .tgz-crumbs a {
	color: var(--tgz-navy);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: rgba(15, 31, 51, .3);
}
.entry-content .tgz-crumbs a:hover { color: var(--tgz-label); }
.tgz-ahero .tgz-eyebrow { margin-bottom: 8px; }
.entry-content .tgz-ahero__title {
	font-size: clamp(32px, 4.2vw, 50px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--tgz-navy);
	margin: 0 0 14px;
}
.tgz-ahero__desc p {
	font-size: clamp(17px, 1.4vw, 19px);
	line-height: 1.6;
	color: var(--tgz-text);
	max-width: 60ch;
	margin: 0;
}
.entry-content .tgz-ahero.is-compact .tgz-ahero__title { font-size: clamp(28px, 3vw, 38px); margin: 0; }

/* Category chips: one row that scrolls sideways on small screens. */
.tgz-catnav {
	margin: 0 calc(-1 * var(--tgz-gutter));
	padding: 0 var(--tgz-gutter) 20px;
	overflow-x: auto;
	scrollbar-width: none;
}
.tgz-catnav::-webkit-scrollbar { display: none; }
.entry-content .tgz-catnav ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; width: max-content; }
.tgz-catnav li { margin: 0; }
@media (min-width: 900px) {
	.tgz-catnav { overflow: visible; padding-bottom: 28px; }
	.entry-content .tgz-catnav ul { flex-wrap: wrap; width: auto; }
}
.entry-content .tgz-catnav a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 40px;
	padding: 0 15px;
	border-radius: 999px;
	border: 1px solid #e2d6c4;
	background: #fff;
	font-family: var(--tgz-font-ui);
	font-size: 14px;
	font-weight: 700;
	color: var(--tgz-navy);
	text-decoration: none;
	white-space: nowrap;
	transition: border-color .15s ease, background-color .15s ease;
}
.entry-content .tgz-catnav a:hover { border-color: var(--tgz-orange); background: var(--tgz-orange-soft); }
.entry-content .tgz-catnav a[aria-current="page"] { background: var(--tgz-navy); border-color: var(--tgz-navy); color: #fff; }
.tgz-catnav__n { font-size: 12.5px; color: var(--tgz-muted); }
.tgz-catnav a[aria-current="page"] .tgz-catnav__n { color: #ffd7a3; }

/* Body */
.tgz-archive__body { padding-top: 32px; padding-bottom: 72px; }
@media (min-width: 900px) { .tgz-archive__body { padding-top: 48px; padding-bottom: 96px; } }

/* Lead guide (page 1) */
.tgz-alead { margin-bottom: 52px; }
.tgz-alead .tgz-eyebrow { margin-bottom: 10px; }
.entry-content .tgz-alead .tgz-eyebrow .tgz-cat { margin: 0; font-size: inherit; letter-spacing: inherit; }
/* Lead image keeps its own proportions (some are 3:2 with text near the top edge). */
.tgz-alead .tgz-lead__media { aspect-ratio: auto; }
.tgz-alead .tgz-lead__media img { height: auto; }
.tgz-alead .tgz-lead__media:has(.tgz-ph) { aspect-ratio: 16 / 9; }
.tgz-alead__cta { margin: 22px 0 0; }
@media (min-width: 900px) {
	.tgz-alead .tgz-lead { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 44px; align-items: center; }
	.tgz-alead .tgz-lead__body { padding-top: 0; }
}
@media (max-width: 599px) {
	.tgz-alead { margin-bottom: 40px; }
	.tgz-alead__cta .wp-block-button__link { display: block; text-align: center; }
}

/* Card grid: rows on phones, 2 columns on tablets, 3 on desktop. */
.entry-content .tgz-cards { list-style: none; margin: 0; padding: 0; display: grid; }
.tgz-card {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 18px 0;
	margin: 0;
	border-bottom: 1px solid var(--tgz-line);
}
.tgz-card:first-child { padding-top: 0; }
.tgz-card__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	border-radius: 8px;
	background: var(--tgz-soft);
}
.tgz-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.tgz-card:hover .tgz-card__media img { transform: scale(1.025); }
.entry-content .tgz-card__title { font-size: 17px; line-height: 1.35; margin: 0 0 6px; }
.tgz-card__title a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.tgz-card__excerpt { display: none; font-size: 16px; line-height: 1.55; color: var(--tgz-text); margin: 0 0 10px; }
.tgz-card .tgz-cat { margin-bottom: 4px; font-size: 12px; }
@media (min-width: 600px) {
	.entry-content .tgz-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 28px; }
	.tgz-card { display: flex; flex-direction: column; gap: 0; padding: 0; border: 0; }
	.tgz-card__media { aspect-ratio: 16 / 9; border-radius: var(--tgz-radius); margin-bottom: 16px; }
	.entry-content .tgz-card__title { font-size: 20px; line-height: 1.3; margin-bottom: 8px; }
	.tgz-card__excerpt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
}
@media (min-width: 1024px) { .entry-content .tgz-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 32px; } }

/* Pagination */
.tgz-pager { margin-top: 56px; font-family: var(--tgz-font-ui); }
.entry-content .tgz-pager ul.page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; margin: 0; padding: 0; }
.tgz-pager li { margin: 0; }
.entry-content .tgz-pager .page-numbers:not(ul) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 44px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--tgz-line);
	border-radius: var(--tgz-radius-sm);
	background: #fff;
	font-size: 15px;
	font-weight: 700;
	color: var(--tgz-navy);
	text-decoration: none;
}
.entry-content .tgz-pager a.page-numbers:hover { border-color: var(--tgz-navy); }
.entry-content .tgz-pager .page-numbers.current { background: var(--tgz-navy); border-color: var(--tgz-navy); color: #fff; }
.entry-content .tgz-pager .page-numbers.dots { border: 0; background: none; min-width: 0; padding: 0 4px; }

/* Empty category */
.tgz-empty { max-width: 640px; padding: 36px 28px; border: 1px dashed #e2d6c4; border-radius: 16px; background: var(--tgz-paper); }
.entry-content .tgz-empty h2 { font-size: 24px; margin: 0 0 8px; }
.tgz-empty p { margin: 0 0 18px; }
.tgz-empty p:last-child { margin: 0; }

/* 17. About page (inc/about.php + plain blocks) ----------------------------- */
.tgz-about-intro { background: var(--tgz-paper); border-bottom: 1px solid #efe6d8; }
.tgz-about-intro__grid { display: grid; gap: 28px; align-items: center; padding-top: 40px; padding-bottom: 44px; }
@media (min-width: 900px) {
	.tgz-about-intro__grid { padding-top: 64px; padding-bottom: 64px; }
	.tgz-about-intro__grid.has-media { grid-template-columns: minmax(0, 1fr) 440px; gap: 64px; }
}
.tgz-about-intro__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 16px; }
.entry-content .tgz-about-intro__title {
	font-size: clamp(32px, 4.4vw, 52px);
	line-height: 1.08;
	font-weight: 800;
	letter-spacing: -.03em;
	color: var(--tgz-navy);
	margin: 0 0 18px;
	max-width: 18ch;
}
.tgz-about-intro__lede { font-size: clamp(17px, 1.5vw, 19px); line-height: 1.65; color: var(--tgz-text); max-width: 58ch; margin: 0 0 24px; }
.entry-content .tgz-about-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--tgz-font-ui); }
.entry-content .tgz-about-facts li {
	margin: 0;
	padding: 7px 14px;
	border: 1px solid #e2d6c4;
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	color: var(--tgz-muted);
}
.tgz-about-facts strong { color: var(--tgz-navy); font-weight: 800; }
.entry-content .tgz-about-facts a { color: var(--tgz-navy); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* Text sections are WordPress group blocks; centre them without an extra wrapper. */
.entry-content .tgz-about-sec {
	padding-top: 64px;
	padding-left: max(var(--tgz-gutter), calc((100% - var(--tgz-wrap)) / 2 + var(--tgz-gutter)));
	padding-right: max(var(--tgz-gutter), calc((100% - var(--tgz-wrap)) / 2 + var(--tgz-gutter)));
	margin: 0;
}
.entry-content .tgz-about-sec h2 {
	font-size: clamp(22px, 2.4vw, 28px);
	line-height: 1.2;
	color: var(--tgz-navy);
	margin: 0 0 12px;
	padding-top: 14px;
	border-top: 3px solid var(--tgz-navy);
}
.entry-content .tgz-about-lede { font-size: 18px; line-height: 1.6; color: var(--tgz-text); max-width: 62ch; margin: 0 0 24px; }

.entry-content ol.tgz-steps { list-style: none; counter-reset: tgz-step; margin: 0 0 20px; padding: 0; display: grid; gap: 14px; }
@media (min-width: 768px) { .entry-content ol.tgz-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } }
.entry-content ol.tgz-steps li {
	counter-increment: tgz-step;
	position: relative;
	margin: 0;
	padding: 20px 20px 20px 68px;
	background: var(--tgz-paper);
	border: 1px solid #efe6d8;
	border-radius: 14px;
	font-size: 16.5px;
	line-height: 1.6;
	color: var(--tgz-text);
}
.entry-content ol.tgz-steps li::before {
	content: counter(tgz-step);
	position: absolute;
	left: 20px;
	top: 19px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--tgz-navy);
	color: #fff;
	font-family: var(--tgz-font-head);
	font-size: 15px;
	font-weight: 800;
}
.entry-content ol.tgz-steps strong { display: block; margin-bottom: 4px; font-family: var(--tgz-font-head); font-size: 18px; color: var(--tgz-navy); }
.entry-content .tgz-about-note {
	margin: 0;
	padding: 12px 16px;
	border-left: 3px solid var(--tgz-orange);
	border-radius: 0 8px 8px 0;
	background: var(--tgz-orange-soft);
	font-size: 16px;
	line-height: 1.6;
	color: var(--tgz-text);
}
.entry-content .tgz-about-note strong { color: var(--tgz-navy); }

/* Team: one row per writer (no three-card row) */
.entry-content .tgz-team-list { list-style: none; margin: 0; padding: 0; max-width: 900px; }
.tgz-team-card {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	margin: 0;
	padding: 22px 0;
	border-top: 1px solid var(--tgz-line);
}
.tgz-team-card:first-child { padding-top: 4px; border-top: 0; }
@media (min-width: 768px) { .tgz-team-card { grid-template-columns: 96px minmax(0, 1fr); gap: 24px; } }
.tgz-team-card__media img.tgz-team-card__photo {
	display: block;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
	border: 3px solid #fff;
	box-shadow: var(--tgz-shadow);
}
@media (min-width: 768px) { .tgz-team-card__media img.tgz-team-card__photo { width: 96px; height: 96px; } }
.entry-content .tgz-team-card__name { font-size: 20px; line-height: 1.25; margin: 2px 0 0; color: var(--tgz-navy); }
.entry-content .tgz-team-card__count { font-family: var(--tgz-font-ui); font-size: 13.5px; font-weight: 700; color: var(--tgz-label); margin: 2px 0 8px; }
.entry-content .tgz-team-card__bio { font-size: 16.5px; line-height: 1.6; color: var(--tgz-text); margin: 0 0 10px; max-width: 68ch; }
.entry-content a.tgz-team-card__link { font-family: var(--tgz-font-ui); font-size: 14.5px; font-weight: 700; color: var(--tgz-navy); text-decoration: underline; text-underline-offset: 3px; }
.entry-content a.tgz-team-card__link:hover { color: var(--tgz-label); }

/* Money + corrections, side by side on wide screens */
.entry-content .tgz-about-duo { padding-bottom: 88px; }
.tgz-about-duo:not(:has(> .wp-block-group__inner-container)),
.tgz-about-duo > .wp-block-group__inner-container { display: grid; gap: 18px; }
@media (min-width: 900px) {
	.tgz-about-duo:not(:has(> .wp-block-group__inner-container)),
	.tgz-about-duo > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
}
.entry-content .tgz-about-card { margin: 0; padding: 26px 24px; border: 1px solid var(--tgz-line); border-radius: 16px; background: #fff; }
.entry-content .tgz-about-card h2 { font-size: 22px; padding-top: 0; border-top: 0; margin-bottom: 10px; }
.entry-content .tgz-about-card p { font-size: 16.5px; line-height: 1.6; margin: 0 0 14px; }
.entry-content .tgz-about-card > :last-child,
.entry-content .tgz-about-card > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.entry-content .tgz-about-card .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--tgz-navy);
	border: 2px solid var(--tgz-navy);
}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--tgz-navy); color: #fff; }
@media (max-width: 767px) {
	.entry-content .tgz-about-sec { padding-top: 44px; }
	.entry-content .tgz-about-duo { padding-bottom: 56px; }
}

/* 18. Write for us (reuses section 17) -------------------------------------- */
.entry-content .tgz-page-intro__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: 28px 0 0; }
.tgz-page-intro__email { font-family: var(--tgz-font-ui); font-size: 14px; color: var(--tgz-muted); }
.entry-content .tgz-page-intro__email a { color: var(--tgz-navy); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.entry-content .tgz-fit .tgz-about-card h2 { margin-bottom: 14px; }
.entry-content .tgz-about-duo.tgz-fit { padding-bottom: 0; }

.entry-content ul.tgz-checks,
.entry-content ul.tgz-crosses { list-style: none; margin: 0; padding: 0; }
.entry-content ul.tgz-checks li,
.entry-content ul.tgz-crosses li {
	position: relative;
	margin: 0;
	padding: 10px 0 10px 34px;
	border-top: 1px solid var(--tgz-line);
	font-size: 16.5px;
	line-height: 1.55;
	color: var(--tgz-text);
}
.entry-content ul.tgz-checks li:first-child,
.entry-content ul.tgz-crosses li:first-child { border-top: 0; padding-top: 2px; }
.entry-content ul.tgz-checks li::before,
.entry-content ul.tgz-crosses li::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(10px + .2em);
	width: 22px;
	height: 22px;
	border-radius: 50%;
}
.entry-content ul.tgz-checks li:first-child::before,
.entry-content ul.tgz-crosses li:first-child::before { top: calc(2px + .2em); }
.entry-content ul.tgz-checks li::before {
	background: #e3f2e8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d6b3a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat;
}
.entry-content ul.tgz-crosses li::before {
	background: #f8e6e6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239b2c2c' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center / 11px no-repeat;
}

/* Guidelines / terms: label + sentence rows in two columns */
.entry-content ul.tgz-terms { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 0 40px; }
@media (min-width: 768px) { .entry-content ul.tgz-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.entry-content ul.tgz-terms li {
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--tgz-line);
	font-size: 16.5px;
	line-height: 1.6;
	color: var(--tgz-text);
}
.entry-content ul.tgz-terms strong { display: block; margin-bottom: 2px; font-family: var(--tgz-font-head); font-size: 17px; color: var(--tgz-navy); }

.entry-content .tgz-wfu-end { padding-bottom: 88px; }
.entry-content .tgz-cta-card { background: var(--tgz-paper); border-color: #efe6d8; max-width: 760px; }
.entry-content .tgz-cta-card h2 { font-size: clamp(22px, 2.4vw, 26px); }
.entry-content .tgz-email-button { margin: 4px 0 0; }
@media (max-width: 767px) { .entry-content .tgz-wfu-end { padding-bottom: 56px; } }

/* Search + author archives */
.tgz-ahero .tgz-archive-search { margin-top: 18px; }
.tgz-ahero__person img.tgz-ahero__avatar {
	display: block;
	width: 84px;
	height: 84px;
	margin: 0 0 14px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center top;
	border: 4px solid #fff;
	box-shadow: var(--tgz-shadow);
}
.tgz-agrid--fallback { margin-top: 48px; }

/* 19. 404 page (inc/notfound.php; reuses the archive hero, chips and cards) -- */
.tgz-404-hero .tgz-ahero__grid { padding-bottom: 26px; }
.tgz-404-hero .tgz-search { margin-top: 22px; }
.entry-content .tgz-404-home { margin: 14px 0 0; font-family: var(--tgz-font-ui); font-size: 15px; font-weight: 700; }
.entry-content .tgz-404-home a { color: var(--tgz-navy); text-decoration: underline; text-underline-offset: 3px; }
.entry-content .tgz-404-home a:hover { color: var(--tgz-label); }
.tgz-404 .tgz-agrid .tgz-section__head { margin-bottom: 28px; }
.tgz-404 .tgz-more { font-family: var(--tgz-font-ui); font-size: 15px; font-weight: 700; color: var(--tgz-navy); text-decoration: none; white-space: nowrap; }
.tgz-404 .tgz-more:hover { color: var(--tgz-label); text-decoration: underline; text-underline-offset: 3px; }

/* 20. Newsletter (inc/newsletter.php + assets/js/tgz-newsletter.js) ---------- */
.tgz-nl {
	position: relative;
	margin: 0;
	padding: 28px 26px 24px;
	background: var(--tgz-paper);
	border: 1px solid #efe6d8;
	border-radius: 16px;
	font-family: var(--tgz-font-ui);
}
.tgz-nl__eyebrow, .tgz-nl-pop .tgz-nl__eyebrow {
	margin: 0 0 6px;
	font-family: var(--tgz-font-ui);
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tgz-label);
}
.tgz-nl .tgz-nl__title, .tgz-nl-pop .tgz-nl__title {
	margin: 0 0 8px;
	padding: 0;
	border: 0;
	font-family: var(--tgz-font-head);
	font-size: clamp(21px, 2.2vw, 25px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.015em;
	color: var(--tgz-navy);
}
.tgz-nl .tgz-nl__text, .tgz-nl-pop .tgz-nl__text {
	margin: 0 0 16px;
	font-family: var(--tgz-font-body);
	font-size: 16.5px;
	line-height: 1.55;
	color: var(--tgz-text);
	max-width: 60ch;
}
.tgz-nl-form { margin: 0; }
.tgz-nl-form__row { display: flex; flex-wrap: wrap; gap: 8px; max-width: 560px; }
.tgz-nl-form input[type="email"] {
	flex: 1 1 220px;
	min-width: 0;
	min-height: 48px;
	padding: 0 14px;
	border: 1.5px solid #d6dbe2;
	border-radius: 10px;
	background: #fff;
	font-family: var(--tgz-font-ui);
	font-size: 16px;
	color: var(--tgz-navy);
	box-shadow: none;
}
.tgz-nl-form input[type="email"]:focus { border-color: var(--tgz-navy); outline: 0; box-shadow: 0 0 0 3px rgba(26, 95, 180, .18); }
.tgz-nl-form.is-error input[type="email"] { border-color: #b42318; }
.tgz-nl-form button[type="submit"] {
	flex: 0 0 auto;
	min-height: 48px;
	padding: 0 22px;
	border: 0;
	border-radius: 10px;
	background: var(--tgz-orange);
	color: var(--tgz-navy);
	font-family: var(--tgz-font-head);
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
}
.tgz-nl-form button[type="submit"]:hover, .tgz-nl-form button[type="submit"]:focus-visible { background: var(--tgz-navy); color: #fff; }
.tgz-nl-form button[disabled] { opacity: .7; cursor: progress; }
.tgz-nl-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.tgz-nl-msg { margin: 8px 0 0; min-height: 0; font-size: 14.5px; font-weight: 700; color: var(--tgz-navy); }
.tgz-nl-msg:empty { display: none; }
.tgz-nl-form.is-error .tgz-nl-msg { color: #b42318; }
.tgz-nl-form.is-done .tgz-nl-form__row { display: none; }
.tgz-nl-form.is-done .tgz-nl-msg { margin: 0; padding: 12px 14px; border-radius: 10px; background: #e3f2e8; color: #1d6b3a; }
.tgz-nl-legal { margin: 10px 0 0; font-size: 13px; line-height: 1.45; color: var(--tgz-muted); }
.tgz-nl-legal a { color: var(--tgz-navy); text-decoration: underline; text-underline-offset: 2px; }
.tgz-nl-form.is-done .tgz-nl-legal { display: none; }

@media (max-width: 599px) {
	.tgz-nl .tgz-nl-form button[type="submit"] { flex: 1 1 100%; }
	.tgz-nl { padding: 24px 20px 20px; }
}

/* Placements */
.tgz-nl-section { padding-top: 64px; }
.tgz-nl--wide { padding: 32px; }
@media (min-width: 900px) {
	.tgz-nl--wide { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 48px; align-items: center; padding: 40px 44px; }
	.tgz-nl--wide .tgz-nl__eyebrow, .tgz-nl--wide .tgz-nl__title, .tgz-nl--wide .tgz-nl__text { grid-column: 1; }
	.tgz-nl--wide .tgz-nl-form { grid-column: 2; grid-row: 1 / span 3; }
	.tgz-nl--wide .tgz-nl__text { margin-bottom: 0; }
}
.single-content > .tgz-nl { margin: 2.6em 0 0; }
.tgz-archive__body .tgz-nl { margin-top: 64px; }
.tgz-nl--compact { padding: 22px 20px 20px; }
.tgz-nl--compact .tgz-nl__title { font-size: 18px; }
.tgz-nl--compact .tgz-nl__text { font-size: 15px; margin-bottom: 12px; }
.tgz-nl--compact .tgz-nl-form__row { flex-direction: column; }
.tgz-nl--compact .tgz-nl-form input[type="email"] { flex-basis: auto; }
.tgz-nl--compact .tgz-nl-form button[type="submit"] { width: 100%; }

/* Popup: centred dialog on wide screens, bottom sheet on phones (page stays usable) */
.tgz-nl-pop[hidden] { display: none; }
.tgz-nl-pop { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-end; justify-content: center; pointer-events: none; }
.tgz-nl-pop__backdrop { position: absolute; inset: 0; background: rgba(15, 31, 51, .5); opacity: 0; transition: opacity .2s ease; display: none; }
.tgz-nl-pop.is-modal { align-items: center; pointer-events: auto; padding: 24px; }
.tgz-nl-pop.is-modal .tgz-nl-pop__backdrop { display: block; }
.tgz-nl-pop.is-open .tgz-nl-pop__backdrop { opacity: 1; }
.tgz-nl-pop__dialog {
	position: relative;
	pointer-events: auto;
	width: 100%;
	max-width: 460px;
	max-height: 70vh;
	overflow: auto;
	padding: 26px 22px 20px;
	background: var(--tgz-paper);
	border: 1px solid #efe6d8;
	border-radius: 18px 18px 0 0;
	box-shadow: 0 -10px 40px rgba(15, 31, 51, .2);
	font-family: var(--tgz-font-ui);
	transform: translateY(16px);
	opacity: 0;
	transition: transform .22s ease, opacity .22s ease;
}
.tgz-nl-pop.is-modal .tgz-nl-pop__dialog { border-radius: 18px; padding: 34px 32px 26px; box-shadow: 0 24px 64px rgba(15, 31, 51, .3); }
.tgz-nl-pop.is-open .tgz-nl-pop__dialog { transform: none; opacity: 1; }
.tgz-nl-pop__dialog:focus { outline: none; }
.tgz-nl-pop__dialog .tgz-nl__title { padding-right: 36px; }
.tgz-nl-pop__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.tgz-nl-pop__close:hover, .tgz-nl-pop__close:focus-visible { background: rgba(15, 31, 51, .08); }
.tgz-nl-pop__close span, .tgz-nl-pop__close span::after {
	position: absolute;
	left: 11px;
	top: 19px;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: var(--tgz-navy);
	transform: rotate(45deg);
}
.tgz-nl-pop__close span::after { content: ""; left: 0; top: 0; transform: rotate(90deg); }
.tgz-nl-pop .tgz-nl-form__row { max-width: none; }
html.tgz-nl-lock { overflow: hidden; }
@media (max-width: 767px) {
	.tgz-nl-pop__dialog { padding: 20px 18px 16px; }
	.tgz-nl-pop__dialog .tgz-nl__eyebrow { margin-bottom: 4px; }
	.tgz-nl-pop__dialog .tgz-nl__text { font-size: 15px; margin-bottom: 12px; }
	.tgz-nl-pop__dialog .tgz-nl__title { font-size: 19px; }
	.tgz-nl-pop .tgz-nl-form input[type="email"] { flex: 1 1 150px; }
	.tgz-nl-pop .tgz-nl-legal { margin-top: 8px; font-size: 12.5px; }
}

/* 16. Blog posts (inc/single.php) ------------------------------------------- */
/* Header */
.post-title .entry-taxonomies a {
	font-family: var(--tgz-font-ui);
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--tgz-label);
}
.post-title .entry-taxonomies a:hover { color: var(--tgz-navy); }
.post-title .entry-title { letter-spacing: -.03em; font-weight: 800; color: var(--tgz-navy); }
/* Long titles and headings fill the line ("balance" left half the column empty); "pretty" only avoids a lone last word. */
.post-title .entry-title,
.single-content :is(h2, h3, h4),
.single-content .tgz-product > :first-child { text-wrap: pretty; }
.post-title .entry-meta { font-family: var(--tgz-font-ui); font-size: 14px; color: var(--tgz-muted); }
.post-title .entry-meta a { color: var(--tgz-navy); font-weight: 600; }
.single-post .post-thumbnail { margin-top: 26px; margin-bottom: 26px; }
.single-post .post-thumbnail-inner img { border-radius: var(--tgz-radius); }

/* Disclosure line */
.tgz-disclosure {
	font-family: var(--tgz-font-ui);
	font-size: 14px;
	line-height: 1.55;
	color: #5a4a35;
	background: var(--tgz-orange-soft);
	border-left: 3px solid var(--tgz-orange);
	border-radius: 0 8px 8px 0;
	padding: 10px 14px;
	margin: 0 0 28px;
}
.tgz-disclosure strong { color: var(--tgz-navy); }
.tgz-disclosure a { color: var(--tgz-label); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.tgz-disclosure a:hover { color: var(--tgz-navy); }

/* Reading column */
.single-content h2 { font-size: clamp(25px, 2.6vw, 30px); line-height: 1.2; margin: 1.8em 0 .6em; }
.single-content h3 { font-size: clamp(21px, 2vw, 24px); line-height: 1.25; margin: 1.6em 0 .5em; }
.single-content h4 { font-size: 20px; line-height: 1.3; margin: 1.4em 0 .5em; }
.single-content hr.wp-block-separator:not(.is-style-dots) {
	border: 0;
	border-top: 1px solid var(--tgz-line);
	width: 100%;
	max-width: none;
	margin: 2.6em 0;
	opacity: 1;
}
.single-content blockquote {
	border-left: 3px solid var(--tgz-orange);
	background: var(--tgz-paper);
	border-radius: 0 10px 10px 0;
	padding: 16px 20px;
	margin: 1.6em 0;
	font-style: normal;
}

/* Table of contents (Kadence element) */
body .kb-table-of-content-nav .kb-table-of-content-wrap {
	box-shadow: none !important;
	background: var(--tgz-paper);
	border: 1px solid #efe6d8;
	border-radius: var(--tgz-radius);
	padding: 0;
	max-width: none !important;
}
body .kb-table-of-content-nav .kb-table-of-contents-title-wrap { padding: 0; margin: 0; }
body .kb-table-of-content-nav .kb-table-of-contents-title-btn {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 52px;
	padding: 12px 18px !important;
	background: none;
	border: 0;
	color: var(--tgz-navy);
	cursor: pointer;
}
body .kb-table-of-content-nav .kb-table-of-contents-title {
	font-family: var(--tgz-font-head);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0 !important;
	text-transform: none;
	color: var(--tgz-navy);
}
body .kb-table-of-content-nav .kb-table-of-content-list {
	margin: 0 !important;
	padding: 4px 18px 18px !important;
	font-family: var(--tgz-font-ui);
	font-size: 15px;
	line-height: 1.45;
}
body .kb-table-of-content-nav .kb-table-of-content-list li { margin-bottom: 7px; }
body .kb-table-of-content-nav .kb-table-of-content-list .kb-table-of-contents-list-sub { padding-left: 16px; margin-top: 7px; }
body .kb-table-of-content-nav .kb-table-of-contents__entry { color: var(--tgz-navy); text-decoration: none; }
body .kb-table-of-content-nav .kb-table-of-contents__entry:hover,
body .kb-table-of-content-nav .kb-table-of-contents__entry.active { color: var(--tgz-label); text-decoration: underline; text-underline-offset: 3px; }

.tgz-toc-count {
	margin-left: 10px;
	font-family: var(--tgz-font-ui);
	font-size: 13px;
	font-weight: 600;
	color: var(--tgz-muted);
}
@media (max-width: 767px) {
	/* collapsed by tgz-post.js; hide the list until then so it doesn't flash open */
	body .kb-table-of-content-nav:not(.tgz-toc-ready) .kb-table-of-content-list { display: none; }
}
@media (min-width: 1024px) {
	body .kb-table-of-content-nav.tgz-toc-long .kb-table-of-content-list { columns: 2; column-gap: 32px; }
	body .kb-table-of-content-nav.tgz-toc-long .kb-table-of-content-list > li { break-inside: avoid; }
}
/* "In this guide" box (inc/single.php builds it from the post's headings) */
.single-content .tgz-toc { margin: 2em 0 2.4em; }
.tgz-toc__box {
	border: 1px solid #e6dccd;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}
.tgz-toc__summary {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 56px;
	padding: 14px 20px;
	background: var(--tgz-paper);
	cursor: pointer;
	list-style: none;
	user-select: none;
}
.tgz-toc__summary::-webkit-details-marker { display: none; }
.tgz-toc__summary::marker { content: ""; }
.tgz-toc__summary:focus-visible { outline: 2px solid var(--tgz-blue); outline-offset: -2px; }
.tgz-toc__box[open] > .tgz-toc__summary { border-bottom: 1px solid #efe6d8; }
.tgz-toc__title { font-family: var(--tgz-font-head); font-size: 17px; font-weight: 800; color: var(--tgz-navy); }
.tgz-toc__meta { margin-left: auto; font-family: var(--tgz-font-ui); font-size: 13.5px; font-weight: 600; color: var(--tgz-muted); }
.tgz-toc__chev {
	flex: none;
	width: 9px;
	height: 9px;
	margin: -4px 4px 0 0;
	border-right: 2px solid var(--tgz-navy);
	border-bottom: 2px solid var(--tgz-navy);
	transform: rotate(45deg);
	transition: transform .2s ease, margin .2s ease;
}
.tgz-toc__box[open] .tgz-toc__chev { transform: rotate(-135deg); margin-top: 4px; }

.single-content .tgz-toc__list { list-style: none; margin: 0; padding: 6px 20px 10px; font-family: var(--tgz-font-ui); }
.single-content .tgz-toc__list > li { margin: 0; padding: 0; border-top: 1px solid var(--tgz-line); }
.single-content .tgz-toc__list > li:first-child { border-top: 0; }
.single-content .tgz-toc__list > li > a {
	display: block;
	padding: 11px 0;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--tgz-navy);
	text-decoration: none;
}
.single-content .tgz-toc__list > li > a:hover { color: var(--tgz-label); }

.single-content .tgz-toc__picks { list-style: none; margin: -2px 0 12px; padding: 0; display: grid; gap: 2px 24px; }
@media (min-width: 768px) {
	.single-content .tgz-toc__picks { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(var(--rows), auto); grid-auto-flow: column; }
}
.single-content .tgz-toc__picks li { margin: 0; padding: 0; min-width: 0; }
.single-content .tgz-toc__picks a {
	display: grid;
	grid-template-columns: 26px minmax(0, 1fr);
	column-gap: 10px;
	align-items: center;
	padding: 7px 8px;
	margin: 0 -8px;
	border-radius: 8px;
	color: var(--tgz-navy);
	text-decoration: none;
}
.single-content .tgz-toc__picks a:hover { background: var(--tgz-paper); }
.single-content .tgz-toc__picks a:hover .tgz-toc__name { color: var(--tgz-label); }
.single-content .tgz-toc__picks a:has(.tgz-toc__label) .tgz-toc__n { grid-row: span 2; }
.tgz-toc__n {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--tgz-orange-soft);
	color: var(--tgz-label);
	font-size: 12.5px;
	font-weight: 800;
}
.tgz-toc__name { font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--tgz-navy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tgz-toc__label { font-size: 13px; font-weight: 500; line-height: 1.35; color: var(--tgz-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 599px) {
	.tgz-toc__summary, .single-content .tgz-toc__list { padding-left: 16px; padding-right: 16px; }
	.tgz-toc__meta { font-size: 12.5px; }
}

/* Landing spot for TOC jumps (also covers plain #anchor links) */
.single-content :is(h2, h3, h4)[id] { scroll-margin-top: 110px; }
.single-content .tgz-flash { animation: tgz-flash 1.6s ease-out; border-radius: 6px; }
@keyframes tgz-flash {
	0%, 35% { background: var(--tgz-orange-soft); box-shadow: 0 0 0 8px var(--tgz-orange-soft); }
	100% { background: transparent; box-shadow: 0 0 0 8px transparent; }
}
.tgz-product > .tgz-flash { animation: none; background: #ffe8c7 !important; transition: background-color 1.2s ease; }

/* "Contents" button, shown after scrolling past the table of contents */
.tgz-toc-jump {
	position: fixed;
	left: 16px;
	bottom: 18px;
	z-index: 50;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	background: var(--tgz-navy);
	color: #fff;
	font-family: var(--tgz-font-head);
	font-size: 14px;
	font-weight: 700;
	box-shadow: 0 6px 20px rgba(15, 31, 51, .25);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.tgz-toc-jump.is-visible { opacity: 1; visibility: visible; transform: none; }
.tgz-toc-jump:hover, .tgz-toc-jump:focus-visible { background: var(--tgz-orange); color: var(--tgz-navy); }

/* Comparison tables */
.tgz-table-hint { display: none; }
.single-content figure.wp-block-table {
	overflow-x: auto;
	border: 1px solid var(--tgz-line);
	border-radius: var(--tgz-radius);
	margin: 0 0 1.8em;
}
.single-content figure.wp-block-table:focus-visible { outline: 2px solid var(--tgz-blue); outline-offset: 2px; }
.single-content .wp-block-table table {
	table-layout: auto !important;
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	font-family: var(--tgz-font-ui);
	font-size: 15px;
	line-height: 1.45;
}
.single-content .wp-block-table thead { border: 0; }
.single-content .wp-block-table th {
	background: var(--tgz-navy);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-align: left;
	vertical-align: bottom;
	padding: 12px 14px;
	border: 0;
}
.single-content .wp-block-table td {
	padding: 12px 14px;
	border: 0;
	border-top: 1px solid var(--tgz-line);
	vertical-align: top;
	color: var(--tgz-text);
}
.single-content .wp-block-table tbody tr:nth-child(even) td { background: #f8fafc; }
.single-content .wp-block-table td:first-child { font-weight: 700; color: var(--tgz-navy); }
.single-content .wp-block-table :is(th, td) { word-break: normal; overflow-wrap: normal; hyphens: manual; }
.single-content .wp-block-table td a { font-weight: 700; }
.single-content .wp-block-table figcaption { font-size: 13px; color: var(--tgz-muted); padding: 8px 14px; margin: 0; }
@media (max-width: 767px) {
	.single-content .tgz-table-hint {
		display: block;
		font-family: var(--tgz-font-ui);
		font-size: 13px;
		font-weight: 700;
		color: var(--tgz-muted);
		text-align: right;
		margin: 0 0 6px;
	}
	.tgz-table--c4 table { min-width: 560px; }
	.tgz-table--c5 table { min-width: 640px; }
	.tgz-table--c6 table { min-width: 720px; }
	.tgz-table--c7 table, .tgz-table--c8 table, .tgz-table--c9 table { min-width: 820px; }
	.single-content .wp-block-table th, .single-content .wp-block-table td { padding: 10px 12px; }
}

/* Product boxes: numbered heading .. buy button */
.single-content .tgz-product {
	border: 1px solid #e6dccd;
	border-radius: 16px;
	padding: 0 22px 24px;
	margin: 2.4em 0;
	background: #fff;
}
.single-content .tgz-product > :first-child {
	margin: 0 -22px 20px;
	padding: 16px 22px;
	background: var(--tgz-paper);
	border-bottom: 1px solid #efe6d8;
	border-radius: 15px 15px 0 0;
	font-size: clamp(20px, 2.2vw, 24px);
	line-height: 1.3;
}
.single-content .tgz-product > :last-child { margin-bottom: 0; }
.single-content .tgz-product .wp-block-image { margin: 0 0 18px; }
.single-content .tgz-product .wp-block-image img {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 340px;
	margin: 0 auto;
	border-radius: 8px;
}
.single-content .tgz-product .wp-block-buttons { display: flex; flex-wrap: wrap; justify-content: flex-start; margin-top: 22px; }
.single-content .tgz-product .wp-block-button__link { font-size: 16px; padding: 14px 26px; min-height: 48px; }
@media (max-width: 599px) {
	.single-content .tgz-product { padding: 0 16px 18px; }
	.single-content .tgz-product > :first-child { margin: 0 -16px 16px; padding: 14px 16px; }
	.single-content .tgz-product .wp-block-button,
	.single-content .tgz-product .wp-block-button__link { width: 100%; text-align: center; }
}

/* Labelled lines inside product sections */
.single-content .tgz-label-line--best-for,
.single-content .tgz-label-line--verdict {
	font-family: var(--tgz-font-ui);
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--tgz-navy);
	background: var(--tgz-orange-soft);
	border-radius: 8px;
	padding: 10px 14px;
}
.single-content .tgz-label-line--watch-out-for { border-left: 3px solid #d0d7e0; padding-left: 14px; }
.single-content .tgz-label-line--pros,
.single-content .tgz-label-line--cons {
	font-family: var(--tgz-font-head);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	margin-bottom: 6px;
	color: #1d6b3a;
}
.single-content .tgz-label-line--cons { color: #9b2c2c; }
.single-content .wp-block-kadence-iconlist .kt-svg-icon-list-text { font-size: 16.5px; line-height: 1.5; }

/* Buttons elsewhere in posts */
.single-content .wp-block-button__link { font-size: 16px; }

/* FAQ (Rank Math): cards; tgz-post.js turns them into an accordion */
.single-content .rank-math-list { display: grid; gap: 10px; margin: 1em 0 2em; }
.single-content .rank-math-list-item {
	margin: 0;
	padding: 0;
	background: #fff;
	border: 1px solid var(--tgz-line);
	border-radius: var(--tgz-radius);
	overflow: hidden;
	transition: border-color .15s ease;
}
.single-content .rank-math-list-item.is-open { border-color: #e6dccd; }
.single-content .rank-math-question {
	font-family: var(--tgz-font-head);
	font-size: 17.5px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--tgz-navy);
	margin: 0;
	padding: 16px 20px;
}
.single-content .rank-math-answer { padding: 0 20px 18px; font-size: 17px; line-height: 1.65; }
.single-content .rank-math-answer > :last-child { margin-bottom: 0; }
/* accordion mode */
.single-content .tgz-faq-ready .rank-math-question { padding: 0; }
.single-content .tgz-faq-btn {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 56px;
	padding: 14px 20px;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.single-content .tgz-faq-btn:hover { background: var(--tgz-paper); }
.single-content .tgz-faq-btn:focus-visible { outline: 2px solid var(--tgz-blue); outline-offset: -2px; }
.single-content .rank-math-list-item.is-open .tgz-faq-btn { background: var(--tgz-paper); }
.tgz-faq-icon {
	position: relative;
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--tgz-orange-soft);
}
.tgz-faq-icon::before, .tgz-faq-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 2px;
	margin: -1px 0 0 -6px;
	border-radius: 2px;
	background: var(--tgz-label);
	transition: transform .2s ease;
}
.tgz-faq-icon::after { transform: rotate(90deg); }
.is-open .tgz-faq-icon::after { transform: rotate(0deg); }
.single-content .tgz-faq-ready .rank-math-answer { padding-top: 14px; border-top: 1px solid #efe6d8; }
@media (max-width: 599px) {
	.single-content .tgz-faq-btn { padding: 12px 16px; font-size: 16.5px; }
	.single-content .rank-math-answer { padding-left: 16px; padding-right: 16px; }
}

/* Author box at the end */
.single-post .entry-author { margin-top: 48px; }
.single-post .entry-author-profile {
	background: var(--tgz-paper);
	border: 1px solid #efe6d8;
	border-radius: 16px;
	padding: 24px;
}
.single-post .entry-author-style-normal .entry-author-profile { padding: 24px 24px 24px 128px; position: relative; }
.single-post .entry-author-style-normal .entry-author-avatar { position: absolute; left: 24px; top: 24px; margin: 0; }
@media (max-width: 599px) {
	.single-post .entry-author-style-normal .entry-author-profile { padding: 22px 18px; }
	.single-post .entry-author-style-normal .entry-author-avatar { position: static; margin: 0 0 12px; }
}
/* The sidebar only holds the author box, which the post already ends with: hide it once it stacks. */
@media (max-width: 1024px) { .single-post .primary-sidebar { display: none; } }
.single-post .entry-author-name { font-family: var(--tgz-font-head); font-size: 20px; }
.single-post .entry-author-name a { color: var(--tgz-navy); text-decoration: none; }
.single-post .entry-author-description { font-size: 16.5px; line-height: 1.6; color: var(--tgz-text); }
.single-post .entry-author-avatar img { border-radius: 50%; border: 3px solid #fff; box-shadow: var(--tgz-shadow); }

/* Previous / next */
.single-post .post-navigation .nav-links a { font-family: var(--tgz-font-head); font-weight: 700; color: var(--tgz-navy); }
.single-post .post-navigation .post-navigation-sub small { font-family: var(--tgz-font-ui); font-weight: 800; letter-spacing: .07em; color: var(--tgz-label); }

/* Related posts */
.single-post .entry-related-title { font-size: clamp(22px, 2.4vw, 28px); color: var(--tgz-navy); }
.single-post .entry-related .entry-title a { color: var(--tgz-navy); }
.single-post .entry-related .loop-entry { border-radius: var(--tgz-radius); overflow: hidden; box-shadow: none; border: 1px solid #efe6d8; }

/* Comments */
.single-post .comment-reply-title { font-family: var(--tgz-font-head); font-size: 22px; }
.single-post .comment-form input[type="text"],
.single-post .comment-form input[type="email"],
.single-post .comment-form input[type="url"],
.single-post .comment-form textarea { border-radius: 8px; border-color: #d6dbe2; }

/* Sidebar author box (Kadence info box widget) */
.primary-sidebar .wp-block-kadence-infobox .kt-blocks-info-box-link-wrap {
	background: var(--tgz-paper) !important;
	border: 1px solid #efe6d8 !important;
	border-radius: 16px !important;
	padding: 24px !important;
	box-shadow: none !important;
}
.primary-sidebar .kt-blocks-info-box-media .kt-info-box-image { max-width: 120px; margin: 0 auto; border-radius: 50%; }
.primary-sidebar .kt-blocks-info-box-title { font-family: var(--tgz-font-head); font-size: 19px; color: var(--tgz-navy); }
.primary-sidebar .kt-blocks-info-box-text { font-family: var(--tgz-font-body); font-size: 15.5px; line-height: 1.6; color: var(--tgz-text) !important; }
.primary-sidebar .kt-blocks-info-box-learnmore {
	font-family: var(--tgz-font-head) !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	border-radius: 8px !important;
	background: var(--tgz-orange) !important;
	border-color: var(--tgz-orange) !important;
	color: var(--tgz-navy) !important;
}
/* Sidebar: author of the post */
.tgz-side-author {
	text-align: center;
	padding: 26px 22px 24px;
	background: var(--tgz-paper);
	border: 1px solid #efe6d8;
	border-radius: 16px;
}
/* Sidebar search */
.primary-sidebar .tgz-search--side { max-width: none; padding: 5px; border-radius: 12px; }
.primary-sidebar .tgz-search--side .tgz-search__icon { left: 15px; }
.primary-sidebar .tgz-search--side input[type="search"] { padding: 10px 6px 10px 36px; font-size: 15px; }
.primary-sidebar .tgz-search--side button { min-height: 42px; padding: 0 16px; font-size: 14px; }

.tgz-side-author__media img.tgz-side-author__photo {
	display: block;
	width: 112px;
	height: 112px;
	margin: 0 auto 10px;
	object-fit: cover;
	object-position: center top;
	border-radius: 50%;
	border: 4px solid #fff;
	box-shadow: var(--tgz-shadow);
}
.tgz-side-author__eyebrow { font-family: var(--tgz-font-ui); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tgz-label); margin: 0 0 2px; }
.primary-sidebar .tgz-side-author__name { font-family: var(--tgz-font-head); font-size: 20px; font-weight: 800; line-height: 1.25; color: var(--tgz-navy); margin: 0 0 6px; padding: 0; }
.tgz-side-author__bio { font-size: 15px; line-height: 1.55; color: var(--tgz-text); margin: 0 0 14px; }
.tgz-side-author > :last-child { margin-bottom: 0; }
.primary-sidebar .widget:has(.tgz-side-author), .primary-sidebar .widget:has(.tgz-search--side) { margin-bottom: 20px; }
.primary-sidebar .tgz-side-author__link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border-radius: 8px;
	background: var(--tgz-orange);
	color: var(--tgz-navy);
	font-family: var(--tgz-font-head);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.primary-sidebar .tgz-side-author__link:hover { background: var(--tgz-navy); color: #fff; }

/* Sidebar: more in this category */
.tgz-side-more { padding: 22px 22px 18px; border: 1px solid var(--tgz-line); border-radius: 16px; background: #fff; }
.primary-sidebar .tgz-side-more__title {
	font-family: var(--tgz-font-head);
	font-size: 17px;
	font-weight: 800;
	color: var(--tgz-navy);
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--tgz-navy);
}
.tgz-side-more__list { list-style: none; margin: 0; padding: 0; }
.tgz-side-item {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 12px 0;
	margin: 0;
	border-top: 1px solid var(--tgz-line);
}
.tgz-side-item:first-child { padding-top: 0; border-top: 0; }
.tgz-side-item__media { display: block; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--tgz-soft); }
.tgz-side-item__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.primary-sidebar .tgz-side-item__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-family: var(--tgz-font-head);
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--tgz-navy);
	text-decoration: none;
}
.primary-sidebar .tgz-side-item__title:hover { color: var(--tgz-label); text-decoration: underline; text-underline-offset: 2px; }
.tgz-side-item__meta { font-family: var(--tgz-font-ui); font-size: 12.5px; color: var(--tgz-muted); margin: 4px 0 0; }
.primary-sidebar .tgz-side-more__all {
	display: inline-block;
	margin-top: 12px;
	font-family: var(--tgz-font-ui);
	font-size: 14px;
	font-weight: 700;
	color: var(--tgz-navy);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.primary-sidebar .tgz-side-more__all:hover { color: var(--tgz-label); }
.primary-sidebar .kt-blocks-info-box-link-wrap:hover .kt-blocks-info-box-learnmore { background: var(--tgz-navy) !important; border-color: var(--tgz-navy) !important; color: #fff !important; }
