/*
 * TDP Blog Templates
 * Brand: orange #f15a24, green #7dc104, charcoal #3a3a3a. Fonts: Dosis (headings), Oswald (text).
 * Every rule is scoped to tdp- classes. Loaded only on posts, author pages and the Themer editor.
 */

/* ---------- Tokens ---------- */
.tdp-hero, .tdp-body, .tdp-authorbox-wrap, .tdp-related, .tdp-ahero, .tdp-aposts,
.tdp-services, .tdp-band-wrap, .tdp-toast {
	--tdp-orange: #f15a24;
	--tdp-orange-600: #e54e18;
	--tdp-orange-700: #cb3f0d;
	--tdp-green: #7dc104;
	--tdp-green-700: #5f9302;
	--tdp-ink: #3a3a3a;
	--tdp-ink-900: #262626;
	--tdp-text: #2b2b2b;
	--tdp-muted: #6f6a66;
	--tdp-line: #ebe5e1;
	--tdp-page: #f2f2f2;
	--tdp-tint: #fff4ee;
	--tdp-card: #ffffff;
	--tdp-radius: 22px;
	--tdp-shadow: 0 1px 2px rgba(58, 58, 58, .06), 0 12px 32px -12px rgba(58, 58, 58, .18);
	--tdp-shadow-lg: 0 2px 4px rgba(58, 58, 58, .06), 0 28px 60px -24px rgba(58, 58, 58, .32);
	--tdp-head: "Dosis", "Oswald", sans-serif;
	--tdp-font: "Oswald", "Helvetica", Arial, sans-serif;
	/* Same container as the site's Beaver Builder rows: 1200px with 20px side padding. */
	--tdp-wrap: 1200px;
	--tdp-gutter: 20px;
	--tdp-paws: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cg fill='%23f15a24' fill-opacity='.07'%3E%3Cg transform='translate(22 26) rotate(-18)'%3E%3Ccircle cx='5.6' cy='10.2' r='2.2'/%3E%3Ccircle cx='9.6' cy='5.6' r='2.2'/%3E%3Ccircle cx='14.4' cy='5.6' r='2.2'/%3E%3Ccircle cx='18.4' cy='10.2' r='2.2'/%3E%3Cpath d='M12 11.2c-3 0-6.4 4.1-6.4 6.9 0 1.7 1.3 2.7 2.9 2.7 1.4 0 2.3-.8 3.5-.8s2.1.8 3.5.8c1.6 0 2.9-1 2.9-2.7 0-2.8-3.4-6.9-6.4-6.9z'/%3E%3C/g%3E%3Cg transform='translate(104 92) rotate(16) scale(1.25)'%3E%3Ccircle cx='5.6' cy='10.2' r='2.2'/%3E%3Ccircle cx='9.6' cy='5.6' r='2.2'/%3E%3Ccircle cx='14.4' cy='5.6' r='2.2'/%3E%3Ccircle cx='18.4' cy='10.2' r='2.2'/%3E%3Cpath d='M12 11.2c-3 0-6.4 4.1-6.4 6.9 0 1.7 1.3 2.7 2.9 2.7 1.4 0 2.3-.8 3.5-.8s2.1.8 3.5.8c1.6 0 2.9-1 2.9-2.7 0-2.8-3.4-6.9-6.4-6.9z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

/*
 * Rows that hold these sections drop their own padding, width cap and module margins,
 * so each section sets the 1200px container itself and lines up with the rest of the site
 * whether the row is set to full or fixed width.
 */
.fl-row:has(.tdp-hero, .tdp-body, .tdp-authorbox-wrap, .tdp-related, .tdp-ahero, .tdp-aposts, .tdp-services, .tdp-band-wrap) > .fl-row-content-wrap {
	padding: 0;
}
.fl-row:has(.tdp-hero, .tdp-body, .tdp-authorbox-wrap, .tdp-related, .tdp-ahero, .tdp-aposts, .tdp-services, .tdp-band-wrap),
.fl-row:has(.tdp-hero, .tdp-body, .tdp-authorbox-wrap, .tdp-related, .tdp-ahero, .tdp-aposts, .tdp-services, .tdp-band-wrap) > .fl-row-content-wrap > .fl-row-content {
	max-width: none;
}
.fl-module-html:has(> .tdp-hero, > .tdp-body, > .tdp-authorbox-wrap, > .tdp-related, > .tdp-ahero, > .tdp-aposts, > .tdp-services, > .tdp-band-wrap),
.fl-module-html > .fl-module-content:has(> .fl-html > :is(.tdp-hero, .tdp-body, .tdp-authorbox-wrap, .tdp-related, .tdp-ahero, .tdp-aposts, .tdp-services, .tdp-band-wrap)) {
	margin: 0;
}

.tdp-hero, .tdp-hero *, .tdp-body, .tdp-body *, .tdp-authorbox-wrap, .tdp-authorbox-wrap *,
.tdp-related, .tdp-related *, .tdp-ahero, .tdp-ahero *, .tdp-aposts, .tdp-aposts *,
.tdp-services, .tdp-services *, .tdp-band-wrap, .tdp-band-wrap * {
	box-sizing: border-box;
}

.tdp-icon {
	width: 1em;
	height: 1em;
	flex: none;
	display: inline-block;
	vertical-align: middle;
}

.tdp-wrap {
	max-width: var(--tdp-wrap);
	margin: 0 auto;
	padding: 0 var(--tdp-gutter);
}

/* ---------- Shared pieces ---------- */
.tdp-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 10px;
	font: 700 13px/1.2 var(--tdp-font);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--tdp-orange);
}
.tdp-eyebrow .tdp-icon { font-size: 16px; }
.tdp-eyebrow--light { color: #ffb08f; }

.tdp-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	flex-wrap: wrap;
	margin-bottom: clamp(24px, 3vw, 36px);
}
.tdp-section-head--center { justify-content: center; text-align: center; }
.tdp-section-title {
	margin: 0;
	font: 700 clamp(28px, 3.2vw, 40px)/1.15 var(--tdp-head);
	color: var(--tdp-ink);
	letter-spacing: -.005em;
}

.tdp-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--tdp-tint);
	color: var(--tdp-orange-700);
	font: 500 15px/1 var(--tdp-font);
	letter-spacing: .02em;
}

.tdp-link.tdp-link,
.tdp-link.tdp-link:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font: 700 15px/1.2 var(--tdp-font);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--tdp-orange-700);
	text-decoration: none;
}
.tdp-link.tdp-link:hover { color: var(--tdp-orange); }
.tdp-link .tdp-icon { transition: transform .2s ease; }
.tdp-link:hover .tdp-icon { transform: translateX(4px); }

.tdp-btn.tdp-btn,
.tdp-btn.tdp-btn:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 14px 22px;
	border: 2px solid transparent;
	border-radius: 14px;
	font: 700 16px/1 var(--tdp-font);
	letter-spacing: .06em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.tdp-btn .tdp-icon { font-size: 20px; }
.tdp-btn.tdp-btn--primary { background: var(--tdp-orange); color: #fff; box-shadow: 0 10px 24px -10px rgba(241, 90, 36, .7); }
.tdp-btn.tdp-btn--primary:hover { background: var(--tdp-orange-600); color: #fff; transform: translateY(-2px); }
.tdp-btn.tdp-btn--outline { border-color: var(--tdp-orange); color: var(--tdp-orange-700); background: transparent; }
.tdp-btn.tdp-btn--outline:hover { background: var(--tdp-orange); color: #fff; transform: translateY(-2px); }
.tdp-btn.tdp-btn--ghost { border-color: rgba(255, 255, 255, .35); color: #fff; background: transparent; }
.tdp-btn.tdp-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--tdp-ink); transform: translateY(-2px); }

.tdp-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.tdp-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
	font: 400 15px/1.4 var(--tdp-font);
	color: var(--tdp-muted);
}
.tdp-crumbs li { display: inline-flex; align-items: center; min-width: 0; margin: 0; }
.tdp-crumbs li + li::before {
	content: "";
	width: 6px;
	height: 6px;
	margin: 0 12px;
	border-radius: 50%;
	background: var(--tdp-orange);
	opacity: .6;
}
.tdp-crumbs li a { color: inherit; text-decoration: none; }
.tdp-crumbs li a:hover { color: var(--tdp-orange-700); }
.tdp-crumbs [aria-current] span {
	display: inline-block;
	max-width: 42ch;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: var(--tdp-ink);
}

/* ---------- Post hero: editorial cover ---------- */
.tdp-hero {
	position: relative;
	padding: clamp(20px, 3vw, 32px) 0 clamp(8px, 2vw, 16px);
	background: linear-gradient(180deg, var(--tdp-tint) 0, var(--tdp-tint) 58%, transparent 58%);
}
.tdp-hero__inner { position: relative; max-width: var(--tdp-wrap); margin: 0 auto; padding: 0 var(--tdp-gutter); }
.tdp-hero .tdp-crumbs ol { margin-bottom: 18px; }

.tdp-hero__cover {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
	min-height: clamp(440px, 44vw, 580px);
	border-radius: 30px;
	background:
		radial-gradient(700px 360px at 100% 0%, rgba(241, 90, 36, .55), transparent 65%),
		radial-gradient(600px 320px at 0% 100%, rgba(125, 193, 4, .3), transparent 65%),
		var(--tdp-ink);
	box-shadow: var(--tdp-shadow-lg);
}
.tdp-hero--noimg .tdp-hero__cover::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: var(--tdp-paws);
	background-size: 160px;
	filter: brightness(0) invert(1);
	opacity: .35;
}
.tdp-hero__img {
	position: absolute;
	inset: 0;
	z-index: -2;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	animation: tdp-cover-in 1.4s cubic-bezier(.2, .7, .2, 1) both;
}
@keyframes tdp-cover-in {
	from { transform: scale(1.06); }
	to { transform: scale(1); }
}
.tdp-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgba(24, 20, 18, 0) 25%, rgba(24, 20, 18, .55) 60%, rgba(24, 20, 18, .92) 100%),
		linear-gradient(90deg, rgba(24, 20, 18, .55) 0%, rgba(24, 20, 18, 0) 70%);
}
.tdp-hero--noimg .tdp-hero__shade { display: none; }

.tdp-hero__content {
	width: 100%;
	max-width: 860px;
	padding: clamp(28px, 4.5vw, 60px) clamp(24px, 4.5vw, 60px) clamp(64px, 7vw, 92px);
	color: #fff;
}

.tdp-chip.tdp-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px 8px 10px;
	border-radius: 999px;
	background: var(--tdp-green);
	color: #fff;
	font: 700 13px/1 var(--tdp-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
}
.tdp-chip .tdp-icon { font-size: 16px; }
.tdp-chip.tdp-chip:hover { background: var(--tdp-green-700); color: #fff; }

.tdp-hero .tdp-hero__title {
	margin: 18px 0 14px;
	font: 700 clamp(34px, 4.6vw, 62px)/1.05 var(--tdp-head);
	letter-spacing: -.015em;
	color: #fff;
	text-wrap: pretty;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .25);
}
.tdp-hero__lead {
	margin: 0 0 6px;
	max-width: 60ch;
	font: 300 clamp(18px, 1.6vw, 21px)/1.6 var(--tdp-font);
	color: rgba(255, 255, 255, .88);
}

.tdp-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, .22);
}
.tdp-meta__author.tdp-meta__author {
	display: inline-flex;
	align-items: center;
	padding-right: 24px;
	border-right: 1px solid rgba(255, 255, 255, .22);
	color: #fff;
	text-decoration: none;
}
.tdp-meta__author span { display: flex; flex-direction: column; gap: 5px; }
.tdp-meta__author small {
	font: 700 11px/1 var(--tdp-font);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #ffb08f;
}
.tdp-meta__author strong { font: 700 19px/1.1 var(--tdp-head); color: #fff; }
.tdp-meta__author:hover strong { color: #ffb08f; }
.tdp-meta__list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	font: 400 16px/1.2 var(--tdp-font);
	color: rgba(255, 255, 255, .85);
}
.tdp-meta__list li { display: inline-flex; align-items: center; gap: 7px; margin: 0; }
.tdp-meta__list .tdp-icon { font-size: 18px; color: #ffb08f; }

/* "Summarize with AI" card overlapping the bottom of the cover */
.tdp-ai {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	margin: -40px clamp(16px, 4.5vw, 60px) 0;
	padding: 16px 20px;
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--tdp-shadow-lg);
}
.tdp-ai__label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font: 700 13px/1 var(--tdp-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tdp-ink);
}
.tdp-ai__label .tdp-icon { font-size: 18px; color: var(--tdp-orange); }
.tdp-ai__list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.tdp-ai__list li { display: flex; margin: 0; }
.tdp-ai__list li a {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border: 1px solid var(--tdp-line);
	border-radius: 999px;
	background: #fff;
	color: var(--tdp-ink);
	font: 400 15px/1 var(--tdp-font);
	text-decoration: none;
	transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.tdp-ai__list li a:hover { border-color: var(--tdp-orange); background: var(--tdp-tint); color: var(--tdp-orange-700); }

/* ---------- Post body ---------- */
.tdp-body {
	--tdp-side: 330px;
	max-width: var(--tdp-wrap);
	margin: 0 auto;
	padding: clamp(32px, 5vw, 64px) var(--tdp-gutter) clamp(40px, 5vw, 72px);
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) var(--tdp-side);
	gap: clamp(24px, 3.5vw, 52px);
	align-items: start;
}

.tdp-progress {
	position: fixed;
	top: var(--tdp-offset, 0px);
	left: 0;
	right: 0;
	z-index: 100;
	height: 4px;
	pointer-events: none;
}
.tdp-progress span, .tdp-toc__bar span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--tdp-orange), #ff8a5c 60%, var(--tdp-green));
	transform: scaleX(0);
	transform-origin: 0 50%;
	will-change: transform;
}

.tdp-rail {
	position: sticky;
	top: calc(var(--tdp-offset, 0px) + 32px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.tdp-rail__label {
	margin: 0 0 4px;
	font: 700 11px/1 var(--tdp-font);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--tdp-muted);
}

.tdp-share { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.tdp-share--rail { flex-direction: column; }
.tdp-share--inline { flex-wrap: wrap; }
.tdp-share li { display: flex; margin: 0; }
.tdp-share__btn.tdp-share__btn {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	padding: 0;
	border: 1px solid var(--tdp-line);
	border-radius: 50%;
	background: #fff;
	color: var(--tdp-ink);
	font-size: 19px;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.tdp-share__btn:hover { transform: translateY(-2px); color: #fff; border-color: transparent; }
.tdp-share__btn--facebook:hover { background: #1877f2; }
.tdp-share__btn--x:hover { background: #111; }
.tdp-share__btn--linkedin:hover { background: #0a66c2; }
.tdp-share__btn--pinterest:hover { background: #e60023; }
.tdp-share__btn--whatsapp:hover { background: #25d366; }
.tdp-share__btn--mail:hover, .tdp-share__btn--copy:hover, .tdp-share__btn--native:hover { background: var(--tdp-orange); }

.tdp-main { min-width: 0; }

/* Mobile table of contents */
.tdp-toc-m {
	display: none;
	margin: 0 0 28px;
	border: 1px solid var(--tdp-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--tdp-shadow);
}
.tdp-toc-m summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 18px;
	list-style: none;
	cursor: pointer;
	font: 700 17px/1.2 var(--tdp-head);
	color: var(--tdp-ink);
}
.tdp-toc-m summary::-webkit-details-marker { display: none; }
.tdp-toc-m summary .tdp-icon { font-size: 20px; color: var(--tdp-orange); }
.tdp-toc-m summary small { margin-left: auto; font: 400 14px/1 var(--tdp-font); color: var(--tdp-muted); }
.tdp-toc-m summary .tdp-icon:last-child { margin-left: 4px; transition: transform .2s ease; }
.tdp-toc-m[open] summary .tdp-icon:last-child { transform: rotate(180deg); }
.tdp-toc-m .tdp-toc__list { padding: 0 12px 14px; }

/* Article typography */
.tdp-article {
	font: 400 clamp(18px, 1.35vw, 20px)/1.78 var(--tdp-font);
	letter-spacing: .005em;
	color: var(--tdp-text);
}
.tdp-article > *:first-child { margin-top: 0; }
.tdp-article p { margin: 0 0 1.15em; }
.tdp-article h2 {
	position: relative;
	margin: 2.1em 0 .7em;
	padding-top: 22px;
	font: 700 clamp(26px, 2.5vw, 34px)/1.2 var(--tdp-head);
	color: var(--tdp-ink-900);
	scroll-margin-top: calc(max(var(--tdp-offset, 0px), 90px) + 24px);
}
.tdp-article h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 52px;
	height: 5px;
	border-radius: 5px;
	background: linear-gradient(90deg, var(--tdp-orange) 0 60%, var(--tdp-green) 60%);
}
.tdp-article h3 {
	margin: 1.7em 0 .5em;
	font: 700 clamp(21px, 1.8vw, 25px)/1.25 var(--tdp-head);
	color: var(--tdp-ink);
	scroll-margin-top: calc(max(var(--tdp-offset, 0px), 90px) + 24px);
}
.tdp-article a:not(.wp-element-button) {
	color: var(--tdp-orange-700);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	text-decoration-color: rgba(241, 90, 36, .35);
	transition: color .2s ease, text-decoration-color .2s ease;
}
.tdp-article a:not(.wp-element-button):hover { color: var(--tdp-orange); text-decoration-color: currentColor; }
.tdp-article ul, .tdp-article ol { margin: 0 0 1.3em; padding-left: 1.3em; }
.tdp-article li { margin: 0 0 .45em; padding-left: .25em; }
.tdp-article ul li::marker { color: var(--tdp-orange); font-size: 1.1em; }
.tdp-article ol li::marker { color: var(--tdp-green-700); font-weight: 700; }
.tdp-article strong { color: var(--tdp-ink-900); }
.tdp-article img { max-width: 100%; height: auto; border-radius: 18px; }
.tdp-article figure { margin: 2em 0; }
.tdp-article figcaption { margin-top: 10px; font-size: 15px; color: var(--tdp-muted); text-align: center; }
.tdp-article blockquote {
	margin: 2em 0;
	padding: 22px 26px;
	border: 0;
	border-left: 5px solid var(--tdp-orange);
	border-radius: 0 18px 18px 0;
	background: var(--tdp-tint);
	font-size: 1.08em;
	color: var(--tdp-ink);
}

/* Bordered summary boxes (e.g. "What you need to know") */
.tdp-article .wp-block-group[style*="border-width"] {
	margin: 0 0 2em;
	border-color: rgba(241, 90, 36, .28);
	background: linear-gradient(180deg, #fff, var(--tdp-tint));
	box-shadow: inset 6px 0 0 var(--tdp-orange), var(--tdp-shadow);
}
.tdp-article .wp-block-group[style*="border-width"] > :last-child { margin-bottom: 0; }

/* Tables */
.tdp-article .wp-block-table { margin: 2em 0; overflow-x: auto; }
.tdp-article .wp-block-table table {
	width: 100%;
	min-width: 560px;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--tdp-line);
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	font-size: 16px;
	line-height: 1.45;
}
.tdp-article .wp-block-table th,
.tdp-article .wp-block-table td {
	padding: 13px 16px;
	border: 0;
	border-bottom: 1px solid var(--tdp-line);
	text-align: left;
	vertical-align: top;
}
.tdp-article .wp-block-table thead th {
	background: var(--tdp-ink);
	color: #fff;
	font: 700 13px/1.3 var(--tdp-font);
	letter-spacing: .12em;
	text-transform: uppercase;
}
.tdp-article .wp-block-table tbody tr:nth-child(even) td { background: #fbf8f6; }
.tdp-article .wp-block-table tbody tr:last-child td { border-bottom: 0; }
.tdp-article .wp-block-table tbody td:first-child { font-weight: 700; color: var(--tdp-ink-900); }

.tdp-endshare {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 40px;
	padding: 20px 22px;
	border-radius: var(--tdp-radius);
	background: #fff;
	box-shadow: var(--tdp-shadow);
}
.tdp-endshare__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font: 700 20px/1.2 var(--tdp-head);
	color: var(--tdp-ink);
}
.tdp-endshare__title .tdp-icon { color: var(--tdp-orange); font-size: 22px; }

/* Sidebar */
.tdp-side { min-width: 0; align-self: stretch; }
.tdp-side__sticky {
	position: sticky;
	top: calc(var(--tdp-offset, 0px) + 28px);
	display: grid;
	gap: 22px;
}
.tdp-toc {
	position: relative;
	overflow: hidden;
	padding: 24px 18px 16px;
	border-radius: var(--tdp-radius);
	background: #fff;
	box-shadow: var(--tdp-shadow);
}
.tdp-toc__bar { position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--tdp-line); }
.tdp-toc__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 6px 12px;
	font: 700 13px/1 var(--tdp-font);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--tdp-ink);
}
.tdp-toc__title .tdp-icon { font-size: 18px; color: var(--tdp-orange); }
.tdp-toc .tdp-toc__list {
	max-height: max(180px, calc(100vh - var(--tdp-offset, 0px) - 360px));
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-width: thin;
}
.tdp-toc__list { margin: 0; padding: 0; list-style: none; counter-reset: tdp-toc; }
.tdp-toc__list li { margin: 0; counter-increment: tdp-toc; }
.tdp-toc__list li a {
	position: relative;
	display: flex;
	gap: 12px;
	padding: 9px 10px;
	border-radius: 12px;
	font: 400 16px/1.35 var(--tdp-font);
	color: var(--tdp-muted);
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}
.tdp-toc__list a::before {
	content: counter(tdp-toc, decimal-leading-zero);
	flex: none;
	min-width: 22px;
	padding-top: 2px;
	font: 700 12px/1.6 var(--tdp-font);
	letter-spacing: .04em;
	color: var(--tdp-orange);
	opacity: .7;
}
.tdp-toc__list li a:hover { background: var(--tdp-tint); color: var(--tdp-ink); }
.tdp-toc__list li a.is-active { background: var(--tdp-tint); color: var(--tdp-ink-900); font-weight: 700; }
.tdp-toc__list a.is-active::before { opacity: 1; }
.tdp-toc__list a.is-active::after {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	bottom: 9px;
	width: 3px;
	border-radius: 3px;
	background: var(--tdp-orange);
}

.tdp-cta-card {
	position: relative;
	overflow: hidden;
	padding: 28px 24px 22px;
	border-radius: var(--tdp-radius);
	background:
		radial-gradient(260px 200px at 100% 0%, rgba(241, 90, 36, .55), transparent 70%),
		radial-gradient(220px 180px at 0% 100%, rgba(125, 193, 4, .28), transparent 70%),
		var(--tdp-ink);
	color: #fff;
	box-shadow: var(--tdp-shadow-lg);
}
.tdp-cta-card__paw {
	position: absolute;
	right: -14px;
	bottom: -18px;
	font-size: 130px;
	line-height: 0;
	color: rgba(255, 255, 255, .06);
	transform: rotate(-18deg);
}
.tdp-cta-card__eyebrow {
	margin: 0 0 8px;
	font: 700 13px/1 var(--tdp-font);
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #ffb08f;
}
.tdp-cta-card__title { margin: 0 0 20px; font: 700 23px/1.25 var(--tdp-head); color: #fff; }
.tdp-cta-card__actions { position: relative; display: grid; gap: 10px; }
.tdp-cta-card__link.tdp-cta-card__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	font: 400 15px/1.2 var(--tdp-font);
	letter-spacing: .04em;
	color: #c8f07a;
	text-decoration: none;
}
.tdp-cta-card__link:hover { color: #fff; }

/* ---------- Author box (post) ---------- */
.tdp-authorbox-wrap { max-width: var(--tdp-wrap); margin: 0 auto; padding: 0 var(--tdp-gutter) clamp(40px, 5vw, 64px); }
.tdp-authorbox {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 148px minmax(0, 1fr);
	gap: clamp(20px, 3vw, 36px);
	align-items: start;
	padding: clamp(24px, 3.5vw, 40px);
	border-radius: 28px;
	background: #fff;
	box-shadow: var(--tdp-shadow-lg);
}
.tdp-authorbox::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 6px;
	background: linear-gradient(90deg, var(--tdp-orange), var(--tdp-green));
}
.tdp-authorbox::after {
	content: "";
	position: absolute;
	right: -30px;
	bottom: -40px;
	width: 220px;
	height: 220px;
	background-image: var(--tdp-paws);
	background-size: 160px;
	opacity: .9;
	pointer-events: none;
}
.tdp-authorbox__photo a { display: block; }
.tdp-authorbox__img {
	display: block;
	width: 132px;
	height: 132px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 6px var(--tdp-tint), 0 0 0 8px var(--tdp-orange);
	margin: 8px;
}
.tdp-authorbox__body { position: relative; z-index: 1; }
.tdp-authorbox__name { margin: 0 0 4px; font: 700 clamp(26px, 2.6vw, 32px)/1.15 var(--tdp-head); }
.tdp-authorbox .tdp-authorbox__name a { color: var(--tdp-ink-900); text-decoration: none; }
.tdp-authorbox .tdp-authorbox__name a:hover { color: var(--tdp-orange-700); }
.tdp-authorbox__role { margin: 0 0 12px; font: 400 16px/1.3 var(--tdp-font); letter-spacing: .06em; text-transform: uppercase; color: var(--tdp-green-700); }
.tdp-authorbox__bio { font: 400 18px/1.7 var(--tdp-font); color: var(--tdp-text); }
.tdp-authorbox__bio p { margin: 0 0 .8em; }
.tdp-authorbox__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 18px; }

/* ---------- Cards and grids ---------- */
.tdp-related { padding: clamp(48px, 6vw, 80px) 0; background: #fff; }
.tdp-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 2.4vw, 30px);
}
.tdp-card {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: var(--tdp-radius);
	background: var(--tdp-card);
	box-shadow: var(--tdp-shadow);
	transition: transform .25s ease, box-shadow .25s ease;
}
.tdp-related .tdp-card { box-shadow: 0 0 0 1px var(--tdp-line); }
.tdp-card:hover { transform: translateY(-6px); box-shadow: var(--tdp-shadow-lg); }
.tdp-card__media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--tdp-tint); }
.tdp-card__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.tdp-card:hover .tdp-card__img { transform: scale(1.05); }
.tdp-card__placeholder { display: grid; place-items: center; height: 100%; font-size: 56px; color: rgba(241, 90, 36, .35); }
.tdp-card__body { display: flex; flex: 1; flex-direction: column; padding: 22px 22px 24px; }
.tdp-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px;
	font: 400 14px/1.2 var(--tdp-font);
	letter-spacing: .04em;
	color: var(--tdp-muted);
}
.tdp-card__title { margin: 0 0 10px; font: 700 21px/1.28 var(--tdp-head); }
.tdp-card .tdp-card__title a { color: var(--tdp-ink-900); text-decoration: none; }
.tdp-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tdp-card:hover .tdp-card__title a { color: var(--tdp-orange-700); }
.tdp-card__title a:focus-visible { outline: none; }
.tdp-card:focus-within { outline: 3px solid var(--tdp-orange); outline-offset: 3px; }
.tdp-card__excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 18px;
	font: 300 16px/1.6 var(--tdp-font);
	color: var(--tdp-muted);
}
.tdp-card__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font: 700 14px/1 var(--tdp-font);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--tdp-orange-700);
}
.tdp-card__more .tdp-icon { transition: transform .2s ease; }
.tdp-card:hover .tdp-card__more .tdp-icon { transform: translateX(5px); }

/* ---------- Author hero ---------- */
.tdp-ahero {
	position: relative;
	overflow: hidden;
	padding: clamp(28px, 4vw, 48px) 0 clamp(56px, 7vw, 104px);
	background: #fff;
}
.tdp-ahero::before,
.tdp-ahero::after {
	content: "";
	position: absolute;
	top: -22%;
	right: -10%;
	width: min(64vw, 860px);
	aspect-ratio: 1;
	border-radius: 50%;
	pointer-events: none;
}
.tdp-ahero::before {
	background: radial-gradient(circle at 40% 45%, #ffd6c4 0%, var(--tdp-tint) 52%, rgba(255, 244, 238, 0) 71%);
}
.tdp-ahero::after {
	background-image: var(--tdp-paws);
	background-size: 160px;
	-webkit-mask-image: radial-gradient(circle, #000 40%, transparent 68%);
	mask-image: radial-gradient(circle, #000 40%, transparent 68%);
}
.tdp-ahero__inner { position: relative; z-index: 1; max-width: var(--tdp-wrap); margin: 0 auto; padding: 0 var(--tdp-gutter); }
.tdp-ahero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
	margin-top: clamp(8px, 2vw, 20px);
}
.tdp-ahero__kicker {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 16px;
	font: 700 13px/1.2 var(--tdp-font);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--tdp-green-700);
}
.tdp-ahero__kicker::before {
	content: "";
	flex: none;
	width: 44px;
	height: 3px;
	border-radius: 3px;
	background: var(--tdp-green);
}
.tdp-ahero__name {
	position: relative;
	display: inline-block;
	margin: 0 0 18px;
	padding-bottom: 16px;
	font: 700 clamp(44px, 6.2vw, 84px)/.98 var(--tdp-head);
	letter-spacing: -.02em;
	color: var(--tdp-ink-900);
}
.tdp-ahero__name span { position: relative; z-index: 1; }
.tdp-ahero__squiggle {
	position: absolute;
	left: 0;
	bottom: 0;
	width: min(100%, 360px);
	height: 18px;
	color: var(--tdp-orange);
}
.tdp-ahero__role {
	margin: 0 0 14px;
	font: 700 15px/1.3 var(--tdp-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--tdp-orange-700);
}
.tdp-ahero__bio { max-width: 60ch; font: 300 clamp(18px, 1.5vw, 21px)/1.7 var(--tdp-font); color: var(--tdp-text); }
.tdp-ahero__bio p { margin: 0 0 .8em; }
.tdp-ahero__text .tdp-actions { margin-top: 26px; }
.tdp-ahero__area {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 22px 0 0;
	font: 400 16px/1.4 var(--tdp-font);
	color: var(--tdp-muted);
}
.tdp-ahero__area .tdp-icon { font-size: 18px; color: var(--tdp-orange); }

.tdp-ahero__visual {
	position: relative;
	justify-self: center;
	width: min(100%, 410px);
	padding: 26px 30px 44px;
}
.tdp-ahero__visual::before {
	content: "";
	position: absolute;
	inset: 40px 20px 52px 40px;
	border-radius: 30px;
	background: var(--tdp-green);
	transform: rotate(-7deg);
}
.tdp-ahero__polaroid {
	position: relative;
	margin: 0;
	padding: 14px 14px 0;
	border-radius: 26px;
	background: #fff;
	box-shadow: var(--tdp-shadow-lg);
	transform: rotate(3deg);
	transition: transform .35s ease;
}
.tdp-ahero__visual:hover .tdp-ahero__polaroid { transform: rotate(0deg); }
.tdp-ahero__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 16px;
	background: var(--tdp-tint);
}
.tdp-ahero__polaroid figcaption {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 8px 16px;
	font: 700 22px/1.2 var(--tdp-head);
	color: var(--tdp-ink);
}
.tdp-ahero__polaroid figcaption .tdp-icon { font-size: 18px; color: var(--tdp-orange); }

.tdp-ahero__sticker { position: absolute; z-index: 2; box-shadow: var(--tdp-shadow-lg); }
.tdp-ahero__sticker--count {
	top: 0;
	left: 0;
	display: grid;
	place-content: center;
	gap: 4px;
	width: 112px;
	height: 112px;
	border: 4px solid #fff;
	border-radius: 50%;
	background: var(--tdp-orange);
	color: #fff;
	text-align: center;
	transform: rotate(-12deg);
}
.tdp-ahero__sticker--count strong { font: 700 36px/1 var(--tdp-head); }
.tdp-ahero__sticker--count span { font: 700 12px/1.2 var(--tdp-font); letter-spacing: .14em; text-transform: uppercase; }
.tdp-ahero__sticker--stamp {
	top: 44px;
	right: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 14px 9px 10px;
	border: 3px solid #fff;
	border-radius: 999px;
	background: var(--tdp-green);
	color: #fff;
	font: 700 13px/1 var(--tdp-font);
	letter-spacing: .14em;
	text-transform: uppercase;
	transform: rotate(8deg);
}
.tdp-ahero__sticker--stamp .tdp-icon { font-size: 16px; stroke-width: 3; }
.tdp-ahero__sticker--latest {
	left: 0;
	bottom: 150px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 18px;
	background: #fff;
	transform: rotate(-3deg);
}
.tdp-ahero__sticker--latest .tdp-icon { font-size: 24px; color: var(--tdp-orange); }
.tdp-ahero__sticker--latest span { display: flex; flex-direction: column; gap: 4px; }
.tdp-ahero__sticker--latest small { font: 700 11px/1 var(--tdp-font); letter-spacing: .14em; text-transform: uppercase; color: var(--tdp-muted); }
.tdp-ahero__sticker--latest strong { font: 700 18px/1.1 var(--tdp-head); color: var(--tdp-ink-900); }

/* ---------- Author articles ---------- */
.tdp-aposts { padding: clamp(48px, 6vw, 88px) 0; background: var(--tdp-page); scroll-margin-top: calc(max(var(--tdp-offset, 0px), 90px) + 12px); }
.tdp-empty { font: 400 18px/1.6 var(--tdp-font); color: var(--tdp-muted); }
.tdp-pagination { margin-top: clamp(32px, 4vw, 48px); }
.tdp-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	background: none;
	box-shadow: none;
}
.tdp-pagination li { margin: 0; }
.tdp-pagination a.page-numbers,
.tdp-pagination span.page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 48px;
	height: 48px;
	padding: 0 14px;
	border-radius: 14px;
	background: #fff;
	color: var(--tdp-ink);
	font: 700 17px/1 var(--tdp-font);
	text-decoration: none;
	box-shadow: var(--tdp-shadow);
	transition: background-color .2s ease, color .2s ease;
}
.tdp-pagination a.page-numbers:hover { background: var(--tdp-tint); color: var(--tdp-orange-700); }
.tdp-pagination span.page-numbers.current { background: var(--tdp-orange); color: #fff; }
.tdp-pagination span.page-numbers.dots { background: transparent; box-shadow: none; }
.tdp-pagination .prev .tdp-icon { transform: rotate(180deg); }
.tdp-pagination .tdp-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* ---------- Services ---------- */
.tdp-services { padding: clamp(48px, 6vw, 88px) 0; background: #fff; }
.tdp-svc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 18px; }
.tdp-svc.tdp-svc {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 26px 22px 24px;
	border: 1px solid var(--tdp-line);
	border-radius: var(--tdp-radius);
	background: #fff;
	color: var(--tdp-text);
	text-decoration: none;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.tdp-svc.tdp-svc:hover { transform: translateY(-6px); border-color: rgba(241, 90, 36, .4); box-shadow: var(--tdp-shadow-lg); color: var(--tdp-text); }
.tdp-svc__icon {
	display: inline-grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: 18px;
	border-radius: 18px;
	background: var(--tdp-tint);
	color: var(--tdp-orange);
	font-size: 28px;
	transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.tdp-svc:nth-child(even) .tdp-svc__icon { background: #f1f9e3; color: var(--tdp-green-700); }
.tdp-svc:hover .tdp-svc__icon { background: var(--tdp-orange); color: #fff; transform: rotate(-6deg); }
.tdp-svc__title { margin: 0 0 8px; font: 700 21px/1.2 var(--tdp-head); color: var(--tdp-ink-900); }
.tdp-svc__text { margin: 0 0 18px; font: 300 16px/1.6 var(--tdp-font); color: var(--tdp-muted); }
.tdp-svc__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font: 700 14px/1 var(--tdp-font);
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--tdp-orange-700);
}
.tdp-svc:hover .tdp-svc__more .tdp-icon { transform: translateX(5px); }
.tdp-svc__more .tdp-icon { transition: transform .2s ease; }

/* ---------- Closing band ---------- */
.tdp-band-wrap { padding: clamp(40px, 5vw, 72px) var(--tdp-gutter); background: #fff; }
.tdp-band {
	position: relative;
	overflow: hidden;
	max-width: calc(var(--tdp-wrap) - 2 * var(--tdp-gutter));
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 40px;
	padding: clamp(32px, 5vw, 56px);
	border-radius: 32px;
	background:
		radial-gradient(520px 300px at 100% 100%, rgba(125, 193, 4, .45), transparent 70%),
		linear-gradient(120deg, var(--tdp-orange), var(--tdp-orange-600));
	color: #fff;
	box-shadow: 0 30px 60px -30px rgba(241, 90, 36, .8);
}
.tdp-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--tdp-paws);
	background-size: 160px;
	filter: brightness(0) invert(1);
	opacity: .55;
	pointer-events: none;
}
.tdp-band__text, .tdp-band__actions { position: relative; }
.tdp-band .tdp-eyebrow--light { color: #fff2ea; }
.tdp-band__title { margin: 0 0 8px; font: 700 clamp(28px, 3.4vw, 42px)/1.12 var(--tdp-head); color: #fff; }
.tdp-band__sub { margin: 0; font: 300 19px/1.5 var(--tdp-font); color: rgba(255, 255, 255, .9); }
.tdp-band__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.tdp-band .tdp-btn.tdp-btn--primary { background: #fff; color: var(--tdp-orange-700); box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .35); }
.tdp-band .tdp-btn.tdp-btn--primary:hover { background: var(--tdp-ink); color: #fff; }
.tdp-band .tdp-btn.tdp-btn--ghost { border-color: rgba(255, 255, 255, .6); }
.tdp-band .tdp-btn.tdp-btn--ghost:hover { color: var(--tdp-orange-700); }

/* ---------- Toast ---------- */
.tdp-toast {
	position: fixed;
	left: 50%;
	bottom: 96px;
	z-index: 10000;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--tdp-ink-900);
	color: #fff;
	font: 400 16px/1 var(--tdp-font);
	letter-spacing: .04em;
	box-shadow: var(--tdp-shadow-lg);
	opacity: 0;
	transform: translate(-50%, 12px);
	transition: opacity .25s ease, transform .25s ease;
	pointer-events: none;
}
.tdp-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

/*
 * The child theme forces every p and li on single posts to 20px / 300 / #555 with !important
 * (.post-template-default.single.single-post p, li). Article text keeps that style. These rules use
 * the same selector plus one class to restore the template's own labels.
 */
.post-template-default.single.single-post .tdp-crumbs li { font-size: 15px !important; font-weight: 400; color: var(--tdp-muted) !important; }
.post-template-default.single.single-post .tdp-hero__lead { font-size: clamp(18px, 1.6vw, 21px) !important; font-weight: 300; color: rgba(255, 255, 255, .88) !important; }
.post-template-default.single.single-post .tdp-meta__list li { font-size: 16px !important; font-weight: 400; color: rgba(255, 255, 255, .85) !important; }
.post-template-default.single.single-post .tdp-ai__label { font-size: 13px !important; font-weight: 700; color: var(--tdp-ink) !important; }
.post-template-default.single.single-post .tdp-rail__label { font-size: 11px !important; font-weight: 700; color: var(--tdp-muted) !important; }
.post-template-default.single.single-post .tdp-toc__title { font-size: 13px !important; font-weight: 700; color: var(--tdp-ink) !important; }
.post-template-default.single.single-post .tdp-endshare__title { font-size: 20px !important; font-weight: 700; color: var(--tdp-ink) !important; }
.post-template-default.single.single-post .tdp-cta-card__eyebrow { font-size: 13px !important; font-weight: 700; color: #ffb08f !important; }
.post-template-default.single.single-post .tdp-cta-card__title { font-size: 23px !important; font-weight: 700; color: #fff !important; }
.post-template-default.single.single-post .tdp-eyebrow { font-size: 13px !important; font-weight: 700; color: var(--tdp-orange) !important; }
.post-template-default.single.single-post .tdp-authorbox__role { font-size: 16px !important; font-weight: 400; color: var(--tdp-green-700) !important; }
.post-template-default.single.single-post .tdp-authorbox__bio p { font-size: 18px !important; font-weight: 400; color: var(--tdp-text) !important; }
.post-template-default.single.single-post .tdp-card__meta { font-size: 14px !important; font-weight: 400; color: var(--tdp-muted) !important; }
.post-template-default.single.single-post .tdp-card__excerpt { font-size: 16px !important; font-weight: 300; color: var(--tdp-muted) !important; }
.post-template-default.single.single-post :is(.tdp-ai__list, .tdp-share, .tdp-toc__list) li { font-size: inherit !important; }

/* ---------- Focus ---------- */
.tdp-hero a:focus-visible, .tdp-body a:focus-visible, .tdp-body button:focus-visible, .tdp-body summary:focus-visible,
.tdp-authorbox-wrap a:focus-visible, .tdp-ahero a:focus-visible, .tdp-aposts a:focus-visible,
.tdp-services a:focus-visible, .tdp-band-wrap a:focus-visible, .tdp-related a:focus-visible {
	outline: 3px solid var(--tdp-orange);
	outline-offset: 3px;
	border-radius: 8px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1179px) {
	.tdp-body { grid-template-columns: minmax(0, 1fr) 300px; }
	.tdp-rail { display: none; }
}

@media (max-width: 991px) {
	.tdp-body { grid-template-columns: minmax(0, 1fr); }
	.tdp-toc-m { display: block; }
	.tdp-side .tdp-toc { display: none; }
	.tdp-side { align-self: start; }
	.tdp-side__sticky { position: static; }
	.tdp-cta-card { max-width: 560px; }
	.tdp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tdp-ahero__grid { grid-template-columns: minmax(0, 1fr); }
	.tdp-ahero__visual { justify-self: start; width: min(100%, 360px); }
	.tdp-ahero::before, .tdp-ahero::after { top: auto; bottom: -12%; right: -35%; width: 120vw; }
}

@media (max-width: 640px) {
	.tdp-hero__cover { min-height: 460px; border-radius: 22px; }
	.tdp-hero__content { padding: 24px 20px 64px; }
	.tdp-ai { margin: -36px 12px 0; padding: 14px 16px; }
	.tdp-crumbs [aria-current] span { max-width: 22ch; }
	.tdp-ai__label { width: 100%; }
	.tdp-meta__author.tdp-meta__author { padding-right: 0; border-right: 0; }
	.tdp-endshare { flex-direction: column; align-items: flex-start; }
	.tdp-authorbox { grid-template-columns: minmax(0, 1fr); justify-items: start; }
	.tdp-authorbox__img { width: 104px; height: 104px; }
	.tdp-grid { grid-template-columns: minmax(0, 1fr); }
	.tdp-ahero__sticker--count { width: 92px; height: 92px; }
	.tdp-ahero__sticker--count strong { font-size: 30px; }
	.tdp-ahero__sticker--latest { bottom: 130px; }
	.tdp-actions .tdp-btn, .tdp-band__actions .tdp-btn { flex: 1 1 100%; }
	.tdp-band__actions { width: 100%; }
	.tdp-toast { bottom: 88px; }
}

@media (prefers-reduced-motion: reduce) {
	.tdp-hero__img { animation: none; }
	.tdp-hero *, .tdp-body *, .tdp-authorbox-wrap *, .tdp-related *, .tdp-ahero *, .tdp-aposts *,
	.tdp-services *, .tdp-band-wrap *, .tdp-toast {
		transition: none !important;
	}
}

@media print {
	.tdp-progress, .tdp-rail, .tdp-side, .tdp-endshare, .tdp-toc-m, .tdp-ai, .tdp-toast { display: none !important; }
	.tdp-body { display: block; }
}
