/*
Theme Name:   10xEffect (Kadence Child)
Theme URI:    https://10xeffect.com.au
Description:  Child theme for Kadence with the 10xEffect design: brand fonts and colours, plus ready-made block patterns for the homepage, services and blog posts.
Author:       10xEffect
Template:     kadence
Version:      1.1.5
Requires at least: 6.4
Text Domain:  tenx-effect
*/

/* ---------- Brand tokens ---------- */
:root {
	--tx-green: #C8102E;
	--tx-green-soft: #F9E9EC;
	--tx-green-tint: #F3D3D9;
	--tx-navy: #0F1E2E;
	--tx-navy-2: #17293B;
	--tx-navy-line: #2A3D50;
	--tx-gold: #F2C14E;
	--tx-cream: #FBF3DE;
	--tx-ground: #F6F7F4;
	--tx-line: #E2E5DF;
	--tx-muted: #4A5763;
	--tx-on-dark: #C9D3DC;
	--tx-display: 'Bricolage Grotesque', Georgia, serif;
	--tx-body: 'Manrope', 'Segoe UI', system-ui, sans-serif;
}

/* ---------- Global typography ---------- */
html body,
.editor-styles-wrapper {
	font-family: var(--tx-body);
	color: var(--tx-navy);
}
body h1, body h2, body h3,
body .tx-display,
.editor-styles-wrapper h1, .editor-styles-wrapper h2, .editor-styles-wrapper h3 {
	font-family: var(--tx-display);
	font-weight: 800;
	letter-spacing: -0.02em;
}
body h3 { letter-spacing: -0.01em; }

/* Groups in themes without theme.json get an extra inner wrapper; let it pass layouts through. */
.wp-block-group[class*="tx-"] > .wp-block-group__inner-container { display: contents; }

/* ---------- Shared pieces ---------- */
.tx-section,
.tx-wrap {
	box-sizing: border-box;
	width: 100%;
	max-width: 1248px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px;
	padding-right: 24px;
}
.tx-section { padding-top: 80px; }
.tx-section > * { margin-top: 0; }

.tx-eyebrow {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tx-green);
}
.tx-section-title { margin: 0 0 10px; font-size: clamp(28px, 3.2vw, 36px); line-height: 1.1; }
.tx-section-lead { margin: 0 0 28px; font-size: 17px; color: var(--tx-muted); }
.tx-more { margin: 0 0 24px; font-weight: 700; }
.tx-more a { color: var(--tx-green); text-decoration: none; }

/* Buttons */
.wp-block-button.tx-btn .wp-block-button__link,
.wp-block-button.tx-btn-gold .wp-block-button__link,
.wp-block-button.tx-btn-outline .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	padding: 0 22px;
	border-radius: 12px;
	font-family: var(--tx-body);
	font-size: 16px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: none;
}
.wp-block-button.tx-btn .wp-block-button__link { background: var(--tx-green); color: #fff; border: 0; }
.wp-block-button.tx-btn .wp-block-button__link:hover { background: #174F3A; color: #fff; }
.wp-block-button.tx-btn-gold .wp-block-button__link { background: var(--tx-gold); color: var(--tx-navy); border: 0; }
.wp-block-button.tx-btn-gold .wp-block-button__link:hover { background: #E5B23A; color: var(--tx-navy); }
.wp-block-button.tx-btn-outline .wp-block-button__link { background: transparent; color: var(--tx-green); border: 2px solid var(--tx-green); }
.wp-block-button.tx-btn-outline .wp-block-button__link:hover { background: var(--tx-green-soft); color: var(--tx-green); }

/* Ad slots: invisible on the live site until you paste ad code in */
.tx-ad { margin: 56px auto 0; max-width: 1200px; text-align: center; }
.tx-ad:empty { display: none; }
.editor-styles-wrapper .tx-ad:empty {
	display: flex; align-items: center; justify-content: center; height: 120px;
	border: 1px dashed #B8BFB4; border-radius: 12px; color: #5E6A64;
}

/* ---------- Hero ---------- */
.tx-hero {
	background: var(--tx-navy);
	color: #fff;
	padding: 88px 0 96px;
	margin-top: 0 !important;
}
.tx-hero a { color: #fff; }
.tx-hero .tx-eyebrow { color: var(--tx-gold); }
.tx-hero-cols { gap: 56px !important; align-items: center !important; margin: 0 !important; }
.tx-hero-cols > .wp-block-column:first-child { flex: 1.45 1 0 !important; }
.tx-hero-cols > .wp-block-column:last-child { flex: 1 1 0 !important; }
.tx-hero .tx-hero-title {
	margin: 0;
	color: #fff;
	font-size: clamp(38px, 5vw, 64px);
	line-height: 1.03;
	letter-spacing: -0.025em;
}
.tx-hero-lead { margin: 24px 0 0; max-width: 580px; font-size: 19px; line-height: 1.6; color: var(--tx-on-dark); }

.tx-search { margin-top: 36px; max-width: 580px; }
.tx-search .wp-block-search__inside-wrapper { gap: 10px; border: 0 !important; padding: 0 !important; background: none; flex-wrap: wrap; }
.tx-search .wp-block-search__input {
	flex: 1 1 260px; min-width: 0; height: 54px; padding: 0 18px;
	border: 0; border-radius: 12px; background: #fff; color: var(--tx-navy);
	font-family: var(--tx-body); font-size: 16px;
}
.tx-search .wp-block-search__button {
	height: 54px; margin: 0; padding: 0 26px; border: 0; border-radius: 12px;
	background: var(--tx-gold); color: var(--tx-navy);
	font-family: var(--tx-body); font-size: 16px; font-weight: 800; cursor: pointer;
}
.tx-popular { margin: 20px 0 0; font-size: 14px; color: var(--tx-on-dark); line-height: 2; }
.tx-popular a { margin-left: 10px; color: #fff; text-decoration: none; border-bottom: 1px solid #5B6B7A; }

.tx-panel {
	background: var(--tx-navy-2);
	border: 1px solid var(--tx-navy-line);
	border-radius: 20px;
	padding: 32px;
}
.tx-panel .tx-panel-title { margin: 0 0 20px; color: #fff; font-size: 28px; line-height: 1.15; }
.tx-panel .tx-step { margin: 0 0 12px; }
.tx-panel .tx-step:last-child { margin-bottom: 0; }
.tx-panel .tx-step a {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	min-height: 56px; padding: 0 18px; box-sizing: border-box;
	border: 1px solid var(--tx-navy-line); border-radius: 12px; background: var(--tx-navy);
	color: #fff; font-weight: 700; font-size: 17px; text-decoration: none;
}
.tx-panel .tx-step a::after { content: "→"; color: var(--tx-gold); }
.tx-panel .tx-step a:hover { border-color: var(--tx-gold); }

/* ---------- Topic cards ---------- */
.tx-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
}
.tx-grid > * { margin: 0 !important; }
.tx-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--tx-line);
	border-radius: 16px;
	padding: 26px;
	transition: border-color .15s, transform .15s;
}
.tx-card:hover { border-color: var(--tx-green); transform: translateY(-2px); }
.tx-card::before {
	content: "";
	display: block;
	width: 48px; height: 48px;
	border-radius: 12px;
	background-color: var(--tx-green-soft);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 24px;
}
.tx-card h3 { margin: 16px 0 8px; font-family: var(--tx-body) !important; font-size: 19px; font-weight: 700; letter-spacing: 0; }
.tx-card h3 a { color: var(--tx-navy); text-decoration: none; }
.tx-card h3 a::after { content: ""; position: absolute; inset: 0; }
.tx-card p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--tx-muted); }
.tx-card.tx-card-highlight { background: var(--tx-cream); }
.tx-card.tx-card-highlight::before { background-color: #fff; }

.tx-ico-tax::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 8h6M9 12h6'/%3E%3C/svg%3E"); }
.tx-ico-company::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9l8-5 8 5v11'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E"); }
.tx-ico-close::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16v13H4z'/%3E%3Cpath d='M9 7V4h6v3M9 13h6'/%3E%3C/svg%3E"); }
.tx-ico-gst::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M8 7h8M8 11h2M12 11h2M8 15h2M12 15h2M8 19h8'/%3E%3C/svg%3E"); }
.tx-ico-abn::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1-4 4-6 8-6s7 2 8 6'/%3E%3C/svg%3E"); }
.tx-ico-payroll::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20c.8-3.5 3.2-5 6-5s5.2 1.5 6 5M15 15c2.6 0 4.6 1.4 5.4 4.5'/%3E%3C/svg%3E"); }
.tx-ico-finance::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='13' rx='2'/%3E%3Cpath d='M3 10h18M7 15h4'/%3E%3C/svg%3E"); }
.tx-ico-checklist::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l5 5v13H7z'/%3E%3Cpath d='M14 3v5h5M10 13l2 2 4-4'/%3E%3C/svg%3E"); }

/* ---------- Services ---------- */
.tx-services-box {
	background: #fff;
	border: 1px solid var(--tx-line);
	border-radius: 24px;
	padding: 48px;
}
.tx-services-box > * { margin-top: 0; }
.tx-services-head { display: flex !important; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; margin-bottom: 32px; }
.tx-services-head > .wp-block-group { flex: 1 1 480px; }
.tx-services-head .wp-block-buttons { margin: 0; }
.tx-service {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	background: var(--tx-ground);
	border-radius: 16px;
	padding: 24px;
}
.tx-service > * { margin: 0 !important; }
.tx-service h3 { font-family: var(--tx-body) !important; font-size: 19px; font-weight: 800; letter-spacing: 0; }
.tx-service .tx-service-desc { flex: 1; font-size: 15px; line-height: 1.55; color: var(--tx-muted); }
.tx-service .tx-price { margin-top: 6px !important; font-size: 18px; font-weight: 800; }
.tx-service .tx-service-link a { font-weight: 700; color: var(--tx-green); text-decoration: none; }
.tx-legal-line { margin: 24px 0 0; font-size: 14px; color: var(--tx-muted); }

/* ---------- Post listings ---------- */
ul.tx-post-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
	margin: 0; padding: 0; list-style: none;
}
.tx-post-grid > li {
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--tx-line);
	border-radius: 16px;
	overflow: hidden;
	padding-bottom: 24px;
}
.tx-post-grid .wp-block-post-featured-image { margin: 0 0 20px; }
.tx-post-grid .wp-block-post-featured-image img { width: 100%; height: 200px; object-fit: cover; display: block; }
.tx-post-grid .wp-block-post-terms,
.tx-post-grid .wp-block-post-title,
.tx-post-grid .wp-block-post-date { padding: 0 24px; }
.wp-block-post-terms.tx-terms,
.tx-terms a {
	font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--tx-green); text-decoration: none;
}
.tx-post-grid .wp-block-post-title { margin: 10px 0 !important; font-family: var(--tx-body) !important; font-size: 21px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }
.tx-post-grid .wp-block-post-title a,
.tx-post-list .wp-block-post-title a { color: var(--tx-navy); text-decoration: none; }
.tx-post-grid .wp-block-post-title a:hover,
.tx-post-list .wp-block-post-title a:hover { color: var(--tx-green); }
.tx-post-grid .wp-block-post-date { font-size: 14px; color: var(--tx-muted); }

ul.tx-post-list { margin: 0; padding: 0; list-style: none; border-bottom: 1px solid var(--tx-line); }
.tx-post-list > li {
	display: flex; gap: 20px; align-items: center;
	margin: 0 !important; padding: 20px 0;
	border-top: 1px solid var(--tx-line);
}
.tx-post-list .wp-block-post-featured-image { flex: none; width: 120px; margin: 0; }
.tx-post-list .wp-block-post-featured-image img { width: 120px; height: 84px; object-fit: cover; border-radius: 10px; display: block; }
.tx-post-list .wp-block-group { flex: 1; min-width: 0; }
.tx-post-list .wp-block-post-title { margin: 6px 0 0 !important; font-family: var(--tx-body) !important; font-size: 20px; font-weight: 700; line-height: 1.35; letter-spacing: 0; }

.tx-two-col { gap: 48px !important; margin-top: 0 !important; }
.tx-tools {
	background: #fff; border: 1px solid var(--tx-line); border-radius: 16px; padding: 26px;
}
.tx-tools h2 { margin: 0 0 16px; font-family: var(--tx-body) !important; font-size: 20px; font-weight: 800; letter-spacing: 0; }
.tx-tools p { margin: 0; }
.tx-tools p a {
	display: flex; justify-content: space-between; gap: 12px; padding: 14px 0;
	border-top: 1px solid var(--tx-line); color: var(--tx-navy); font-weight: 600; text-decoration: none;
}
.tx-tools p a::after { content: "→"; color: var(--tx-green); }

/* ---------- Newsletter band ---------- */
.tx-newsletter {
	display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px;
	margin-bottom: 80px;
	background: var(--tx-green); color: #fff;
	border-radius: 24px; padding: 56px 48px;
}
.tx-newsletter > * { margin: 0 !important; }
.tx-newsletter > .wp-block-group { flex: 1 1 380px; }
.tx-newsletter h2 { margin: 0; color: #fff; font-size: clamp(28px, 3vw, 38px); line-height: 1.1; }
.tx-newsletter p { color: #E3EFE9; font-size: 17px; line-height: 1.6; }
.tx-newsletter .tx-form-slot { padding: 18px; border: 1px dashed rgba(255,255,255,.5); border-radius: 12px; font-size: 15px; }

/* ---------- Blog post pieces ---------- */
.tx-reviewed { font-size: 15px; color: var(--tx-muted); }
.tx-answer {
	margin: 36px 0;
	background: #fff;
	border: 2px solid var(--tx-green);
	border-radius: 16px;
	padding: 26px 28px;
}
.tx-answer > * { margin: 0; }
.tx-answer .tx-eyebrow { margin-bottom: 10px; }
.tx-answer p:not(.tx-eyebrow) { font-size: 18px; line-height: 1.65; }

ul.tx-checklist {
	list-style: none;
	margin: 0 0 16px;
	padding: 8px 24px;
	background: #fff;
	border: 1px solid var(--tx-line);
	border-radius: 16px;
}
ul.tx-checklist > li {
	position: relative;
	margin: 0;
	padding: 16px 0 16px 36px;
	border-bottom: 1px solid var(--tx-line);
}
ul.tx-checklist > li:last-child { border-bottom: 0; }
ul.tx-checklist > li::before {
	content: "";
	position: absolute; left: 0; top: 20px;
	width: 22px; height: 22px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C8102E' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/22px no-repeat;
}

.tx-tip {
	margin: 36px 0;
	background: var(--tx-cream);
	border-radius: 14px;
	padding: 22px 26px;
	font-size: 16px;
	line-height: 1.6;
}
.tx-tip > * { margin: 0; }

.tx-cta {
	display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px;
	margin: 40px 0;
	background: var(--tx-navy); color: #fff;
	border-radius: 18px; padding: 30px;
}
.tx-cta > * { margin: 0 !important; }
.tx-cta > .wp-block-group { flex: 1 1 320px; }
.tx-cta .tx-cta-title { margin: 0; color: #fff; font-size: 24px; line-height: 1.2; }
.tx-cta p { margin: 8px 0 0; color: var(--tx-on-dark); font-size: 16px; line-height: 1.55; }

.tx-faq .wp-block-details {
	margin: 0 0 12px;
	background: #fff;
	border: 1px solid var(--tx-line);
	border-radius: 12px;
	padding: 18px 22px;
}
.tx-faq .wp-block-details summary { font-weight: 700; cursor: pointer; }
.tx-faq .wp-block-details p { margin: 10px 0 0; }

.tx-disclaimer { margin-top: 36px; font-size: 14px; line-height: 1.6; color: var(--tx-muted); }

.tx-side-cta {
	background: var(--tx-green); color: #fff;
	border-radius: 16px; padding: 24px;
}
.tx-side-cta > * { margin: 0 !important; }
.tx-side-cta .tx-side-title { color: #fff; font-size: 22px; line-height: 1.2; }
.tx-side-cta p { margin-top: 10px !important; color: #E3EFE9; font-size: 15px; line-height: 1.55; }
.tx-side-cta .wp-block-buttons { margin-top: 18px !important; }

/* ---------- Phones & tablets ---------- */
@media (max-width: 781px) {
	.tx-hero { padding: 40px 0 44px; }
	.tx-hero-lead { font-size: 16px; }
	.tx-hero-cols { gap: 32px !important; }
	.tx-panel { padding: 24px 20px; }
	.tx-panel .tx-panel-title { font-size: 23px; }
	.tx-section { padding-top: 48px; padding-left: 16px; padding-right: 16px; }
	.tx-wrap { padding-left: 20px; padding-right: 20px; }
	.tx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.tx-card { padding: 18px; }
	.tx-card::before { width: 40px; height: 40px; }
	.tx-card p { display: none; }
	.tx-card h3 { margin: 12px 0 0; font-size: 16px; }
	.tx-services-box { padding: 24px 18px; border-radius: 18px; }
	.tx-newsletter { padding: 28px 20px; border-radius: 18px; margin-bottom: 48px; }
	.tx-post-list .wp-block-post-featured-image { width: 88px; }
	.tx-post-list .wp-block-post-featured-image img { width: 88px; height: 64px; }
	.tx-post-list .wp-block-post-title { font-size: 17px; }
}

/* =========================================================
   v1.1 – Inner pages (About, Contact, Privacy, Disclaimer)
   ========================================================= */
.tx-page-hero {
	background: var(--tx-navy);
	color: #fff;
	padding: 72px 0 80px;
	margin-top: 0 !important;
}
.tx-page-hero .tx-eyebrow { color: var(--tx-gold); }
.tx-page-hero h1 {
	margin: 0;
	max-width: 820px;
	color: #fff;
	font-size: clamp(34px, 4.4vw, 54px);
	line-height: 1.06;
}
.tx-page-hero .tx-page-lead {
	margin: 20px 0 0;
	max-width: 640px;
	font-size: 19px;
	line-height: 1.6;
	color: var(--tx-on-dark);
}
.tx-page-hero.is-compact { padding: 56px 0 60px; }
.tx-page-hero .tx-meta { margin: 16px 0 0; font-size: 15px; color: var(--tx-on-dark); }

/* Two-column intro */
.tx-split { gap: 56px !important; margin: 0 !important; }
.tx-split h2 { margin: 0 0 14px; font-size: clamp(26px, 3vw, 32px); line-height: 1.15; }
.tx-split p { font-size: 17px; line-height: 1.75; }
.tx-box {
	background: #fff;
	border: 1px solid var(--tx-line);
	border-radius: 18px;
	padding: 28px;
}
.tx-box > * { margin-top: 0; }
.tx-box h3 { margin: 0 0 14px; font-family: var(--tx-body) !important; font-size: 19px; font-weight: 800; letter-spacing: 0; }
.tx-box ul { margin: 0; padding-left: 20px; }
.tx-box li { margin: 0 0 8px; line-height: 1.55; }

/* Value / feature cards (no icons) */
.tx-value {
	background: #fff;
	border: 1px solid var(--tx-line);
	border-radius: 16px;
	padding: 26px;
}
.tx-value > * { margin: 0; }
.tx-value .tx-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; margin-bottom: 16px;
	border-radius: 50%; background: var(--tx-gold); color: var(--tx-navy);
	font-weight: 800; font-size: 16px;
}
.tx-value h3 { margin-bottom: 8px; font-family: var(--tx-body) !important; font-size: 19px; font-weight: 800; letter-spacing: 0; }
.tx-value p { font-size: 15px; line-height: 1.6; color: var(--tx-muted); }

/* Person card */
.tx-person {
	display: flex !important; flex-wrap: wrap; gap: 24px; align-items: center;
	background: #fff; border: 1px solid var(--tx-line); border-radius: 18px; padding: 28px;
}
.tx-person > * { margin: 0 !important; }
.tx-person .tx-avatar {
	flex: none; display: inline-flex; align-items: center; justify-content: center;
	width: 88px; height: 88px; border-radius: 50%;
	background: var(--tx-green-tint); color: var(--tx-green); font-weight: 800; font-size: 26px;
}
.tx-person .tx-avatar img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.tx-person > .wp-block-group { flex: 1 1 320px; }
.tx-person h3 { margin: 0; font-family: var(--tx-body) !important; font-size: 20px; font-weight: 800; letter-spacing: 0; }
.tx-person .tx-role { margin: 2px 0 8px; font-size: 14px; font-weight: 700; color: var(--tx-green); }
.tx-person p:not(.tx-role) { margin: 0; color: var(--tx-muted); line-height: 1.6; }

/* Closing call-to-action band */
.tx-cta-band {
	display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px;
	margin: 80px auto !important;
	background: var(--tx-green); color: #fff; border-radius: 24px; padding: 48px;
}
.tx-cta-band > * { margin: 0 !important; }
.tx-cta-band > .wp-block-group { flex: 1 1 380px; }
.tx-cta-band h2 { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 34px); line-height: 1.12; }
.tx-cta-band p { margin: 10px 0 0 !important; color: #E3EFE9; font-size: 17px; line-height: 1.6; }
.tx-cta-band .wp-block-buttons { gap: 10px; }
.wp-block-button.tx-btn-light .wp-block-button__link {
	display: inline-flex; align-items: center; min-height: 50px; padding: 0 22px;
	border-radius: 12px; border: 2px solid rgba(255,255,255,.7); background: transparent; color: #fff;
	font-family: var(--tx-body); font-size: 16px; font-weight: 800; text-decoration: none;
}
.wp-block-button.tx-btn-light .wp-block-button__link:hover { background: rgba(255,255,255,.12); color: #fff; }

/* Contact */
.tx-contact-cols { gap: 40px !important; margin: 0 !important; align-items: flex-start !important; }
.tx-form-card {
	background: #fff; border: 1px solid var(--tx-line); border-radius: 18px; padding: 32px;
}
.tx-form-card > h2 { margin: 0 0 6px; font-size: 26px; }
.tx-form-card > p { margin: 0 0 20px; color: var(--tx-muted); }
.tx-form-card .wpforms-container { margin: 0 !important; }
.tx-form-card .wpforms-form input[type="text"],
.tx-form-card .wpforms-form input[type="email"],
.tx-form-card .wpforms-form textarea {
	border-radius: 10px !important; border: 1px solid #CDD3CB !important; min-height: 48px; font-family: var(--tx-body) !important;
}
.tx-form-card .wpforms-form button[type="submit"] {
	min-height: 50px !important; padding: 0 26px !important; border: 0 !important; border-radius: 12px !important;
	background: var(--tx-green) !important; color: #fff !important; font-family: var(--tx-body) !important; font-weight: 800 !important; font-size: 16px !important;
}
.tx-contact-list > * { margin: 0 0 14px !important; }
.tx-contact-item {
	display: block;
	background: #fff; border: 1px solid var(--tx-line); border-radius: 14px; padding: 18px 20px;
}
.tx-contact-item .tx-eyebrow { margin: 0 0 4px; font-size: 12px; }
.tx-contact-item p { margin: 0; }
.tx-contact-item .tx-contact-value { font-size: 18px; font-weight: 800; }
.tx-contact-item .tx-contact-value a { color: var(--tx-navy); text-decoration: none; }
.tx-contact-item .tx-contact-value a:hover { color: var(--tx-green); }
.tx-contact-item .tx-small { margin-top: 2px; font-size: 14px; color: var(--tx-muted); }
.tx-note {
	background: var(--tx-cream); border-radius: 14px; padding: 20px 22px; font-size: 15px; line-height: 1.6;
}
.tx-note > * { margin: 0; }
.tx-note > * + * { margin-top: 8px; }

/* Legal / long-form text */
.tx-prose {
	box-sizing: border-box;
	max-width: 820px !important;
	margin: 0 auto !important;
	padding: 64px 24px 24px;
	font-size: 17px;
	line-height: 1.75;
}
.tx-prose > * { margin-top: 0; margin-bottom: 18px; }
.tx-prose h2 {
	margin: 44px 0 12px;
	padding-top: 8px;
	font-size: 26px;
	line-height: 1.2;
	scroll-margin-top: 100px;
}
.tx-prose h3 { margin: 28px 0 8px; font-family: var(--tx-body) !important; font-size: 19px; font-weight: 800; letter-spacing: 0; }
.tx-prose ul { padding-left: 22px; }
.tx-prose li { margin-bottom: 6px; }
.tx-prose a { color: var(--tx-green); }
.tx-toc {
	margin-bottom: 36px !important;
	background: #fff; border: 1px solid var(--tx-line); border-radius: 16px; padding: 22px 26px;
	font-size: 15px;
}
.tx-toc > * { margin: 0; }
.tx-toc .tx-eyebrow { margin-bottom: 10px; color: var(--tx-muted); }
.tx-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.tx-toc li { margin: 0 0 6px; break-inside: avoid; }
.tx-toc a { color: var(--tx-navy); font-weight: 600; text-decoration: none; }
.tx-toc a:hover { color: var(--tx-green); }

/* =========================================================
   Category archive pages (Kadence)
   ========================================================= */
.archive .post-archive-hero-section,
.search .post-archive-hero-section {
	background: var(--tx-navy);
}
.archive .post-archive-hero-section .hero-container,
.search .post-archive-hero-section .hero-container { padding-top: 56px; padding-bottom: 56px; }
.archive .post-archive-title .archive-title,
.search .post-archive-title .search-title {
	margin: 0;
	color: #fff;
	font-family: var(--tx-display);
	font-weight: 800;
	font-size: clamp(32px, 4vw, 48px);
	letter-spacing: -0.02em;
}
.archive .post-archive-title::before {
	content: "Topic";
	display: block;
	margin-bottom: 10px;
	font-size: 13px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--tx-gold);
}
.archive .archive-description,
.archive .archive-description p {
	max-width: 680px;
	margin-top: 14px;
	font-size: 18px;
	line-height: 1.6;
	color: var(--tx-on-dark);
}
.archive .loop-entry,
.blog .loop-entry {
	border: 1px solid var(--tx-line);
	border-radius: 16px;
	box-shadow: none;
	overflow: hidden;
}
.archive .loop-entry .entry-title,
.blog .loop-entry .entry-title { font-family: var(--tx-body); font-weight: 700; letter-spacing: 0; }

@media (max-width: 781px) {
	.tx-page-hero { padding: 44px 0 48px; }
	.tx-page-hero .tx-page-lead { font-size: 16px; }
	.tx-split, .tx-contact-cols { gap: 28px !important; }
	.tx-cta-band { margin: 48px 16px !important; padding: 28px 20px; border-radius: 18px; }
	.tx-form-card { padding: 22px 18px; }
	.tx-prose { padding: 40px 20px 16px; font-size: 16px; }
	.tx-toc ol { columns: 1; }
	.tx-person { padding: 22px 18px; }
}
.tx-box a { color: var(--tx-green); font-weight: 600; text-decoration: none; }
.tx-box a:hover { text-decoration: underline; }
.tx-box ul.tx-checklist { margin: 0; padding: 0; border: 0; background: none; }
.tx-box ul.tx-checklist > li:first-child { padding-top: 4px; }
.tx-box ul.tx-checklist > li:first-child::before { top: 8px; }

/* ===== Blog template polish (added 2026-10-16) ===== */
/* Fix green remnant: red button hover */
.wp-block-button.tx-btn .wp-block-button__link:hover{background:#A50D27;}
/* Byline */
.single-post .tx-byline-extra{font-size:15px;color:var(--tx-muted);margin:0 0 26px;}
.tx-avatar-initials{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;flex:none;background:#C8102E;color:#fff;font-size:14px;font-weight:800;margin-right:8px;vertical-align:middle;}
.single-post .entry-meta .author,.single-post .entry-meta .posted-by{display:inline-flex;align-items:center;}
/* Quick answer + checklist + CTA */
.single-post .tx-answer{border:2px solid #C8102E;}
.single-post .tx-answer .tx-eyebrow{color:#C8102E;}
.single-post .tx-checklist + .wp-block-buttons{margin-top:6px;}
.single-post .tx-cta{background:#0F1E2E;}
.single-post .tx-cta .tx-cta-title{color:#fff;}
.single-post .tx-cta p{color:#C9D3DC;}
.single-post .tx-cta .tx-btn-gold .wp-block-button__link{background:#DDA62B;color:#0F1E2E;border:0;}
.single-post .tx-cta .tx-btn-gold .wp-block-button__link:hover{background:#C9931F;color:#0F1E2E;}
/* Sticky sidebar (desktop only) */
@media (min-width:1025px){.single-post #secondary,.single-post aside.widget-area,.single-post .sidebar-inner-wrap{position:sticky;top:100px;align-self:flex-start;}}
/* TOC card */
.tx-toc-side{margin:0 0 24px;background:#fff;border:1px solid var(--tx-line);border-radius:16px;padding:22px 24px;}
.tx-toc-side .tx-toc-title{margin:0 0 12px;font-size:13px;font-weight:800;letter-spacing:.14em;color:#0F1E2E;}
.tx-toc-side ol{margin:0;padding-left:22px;}
.tx-toc-side li{margin:0 0 8px;font-size:15px;line-height:1.45;}
.tx-toc-side li::marker{color:#C8102E;font-weight:800;}
.tx-toc-side a{color:#0F1E2E;font-weight:600;text-decoration:none;}
.tx-toc-side a:hover{color:#C8102E;}
/* Lead-magnet card */
.tx-side-cta{margin:0 0 24px;background:#C8102E;border-radius:16px;padding:26px 24px;}
.tx-side-cta>*{margin:0;}
.tx-side-cta .tx-side-title{color:#fff;font-size:22px;line-height:1.2;margin-bottom:8px;}
.tx-side-cta p{color:#fff;opacity:.92;font-size:15px;line-height:1.55;}
.tx-side-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;min-height:50px;padding:0 26px;background:#DDA62B;color:#0F1E2E;border-radius:12px;font-size:16px;font-weight:800;text-decoration:none;}
.tx-side-btn:hover{background:#C9931F;color:#0F1E2E;}
/* Ad placeholders */
.tx-ad-side{margin:0 0 24px;min-height:600px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:2px dashed #B9C2C9;border-radius:12px;background:#fff;color:#8A97A3;font-size:13px;font-weight:700;letter-spacing:.1em;text-align:center;}
.tx-ad-inarticle{margin:36px 0;min-height:120px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:2px dashed #B9C2C9;border-radius:12px;background:#fff;color:#8A97A3;font-size:13px;font-weight:700;letter-spacing:.1em;text-align:center;}
/* Archive hero: navy background so white titles are readable */
.archive .post-archive-hero-section,.archive .post-archive-hero-section .entry-hero-container-inner,.archive .post-archive-hero-section .hero-section-overlay,.search .post-archive-hero-section,.search .post-archive-hero-section .entry-hero-container-inner,.search .post-archive-hero-section .hero-section-overlay{background:#0F1E2E !important;}
/* ===== end blog template polish ===== */

/* ===== v1.1.2: professional extras — contact buttons, share, cookie notice, trust band ===== */
/* Floating WhatsApp button */
.tx-wa-float{position:fixed;right:22px;bottom:22px;z-index:9990;width:58px;height:58px;border-radius:50%;background:#0F1E2E;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(15,30,46,.35);transition:transform .2s ease,background .2s ease;}
.tx-wa-float:hover{background:#C8102E;transform:scale(1.06);}
.tx-wa-float svg{width:30px;height:30px;fill:#fff;}
/* Sticky mobile call bar (mobile only) */
.tx-call-bar{display:none;}
@media (max-width:768px){
	.tx-call-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9989;align-items:center;justify-content:center;gap:10px;background:#C8102E;color:#fff;text-decoration:none;font-weight:800;font-size:16px;padding:14px 16px;min-height:56px;box-shadow:0 -4px 16px rgba(0,0,0,.18);}
	.tx-call-bar:hover{color:#fff;}
	.tx-call-bar svg{width:22px;height:22px;fill:#fff;flex:none;}
	.tx-wa-float{bottom:76px;right:16px;width:52px;height:52px;}
	body{padding-bottom:56px;}
}
/* Share buttons (single posts) */
.tx-share{margin:40px 0 8px;padding:22px 24px;border:1px solid var(--tx-line);border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.tx-share-label{font-weight:800;font-size:15px;color:#0F1E2E;}
.tx-share-btns{display:flex;gap:10px;}
.tx-share-btns a,.tx-share-btns button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#F1F4F6;border:0;cursor:pointer;transition:background .2s ease,transform .2s ease;padding:0;}
.tx-share-btns a:hover,.tx-share-btns button:hover{background:#C8102E;transform:translateY(-2px);}
.tx-share-btns svg{width:19px;height:19px;fill:#0F1E2E;}
.tx-share-btns a:hover svg,.tx-share-btns button:hover svg{fill:#fff;}
.tx-share-copy.copied{background:#0F1E2E;}
.tx-share-copy.copied svg{fill:#fff;}
@media (max-width:600px){.tx-share{flex-direction:column;align-items:flex-start;}}
/* Cookie notice */
.tx-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:9995;background:#0F1E2E;color:#fff;border-radius:14px;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:0 12px 32px rgba(0,0,0,.3);max-width:720px;margin:0 auto;}
.tx-cookie[hidden]{display:none;}
.tx-cookie p{margin:0;font-size:14px;line-height:1.5;color:#D6DEE6;}
.tx-cookie a{color:#F2C14E;}
.tx-cookie-btns{display:flex;gap:10px;flex:none;}
.tx-cookie-btns button{background:#C8102E;color:#fff;border:0;border-radius:10px;padding:10px 20px;font-weight:800;font-size:14px;cursor:pointer;}
.tx-cookie-btns button:hover{background:#A50D27;}
.tx-cookie-btns .tx-cookie-decline{background:transparent;border:1px solid #5A6B7C;color:#D6DEE6;}
@media (max-width:768px){.tx-cookie{bottom:68px;left:12px;right:12px;flex-direction:column;align-items:flex-start;}}
/* Trust band ("Why 10x Effect") */
.tx-trust{background:#0F1E2E;border-radius:24px;padding:56px 40px;margin:64px 0;}
.tx-trust-title{color:#fff !important;margin:0 0 8px;}
.tx-trust-sub{color:#B9C4D0;text-align:center;margin:0 0 36px;font-size:16px;}
.tx-trust-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:28px 24px;text-align:center;height:100%;box-sizing:border-box;}
.tx-trust-icon{width:52px;height:52px;border-radius:50%;background:#C8102E;display:inline-flex;align-items:center;justify-content:center;margin-bottom:16px;}
.tx-trust-icon svg{width:26px;height:26px;fill:#fff;}
.tx-trust-card h3{color:#fff;font-size:18px;margin:0 0 8px;}
.tx-trust-card p{color:#B9C4D0;font-size:15px;margin:0;line-height:1.55;}
@media (max-width:768px){.tx-trust{padding:40px 24px;margin:48px 0;}}
/* ===== end v1.1.2 ===== */
/* Testimonials */
.tx-testimonials{margin:64px 0;}
.tx-testimonials-title{text-align:center;margin:0 0 8px;}
.tx-testimonials-sub{text-align:center;color:var(--tx-muted);margin:0 0 36px;font-size:16px;}
.tx-testimonial-card{background:#fff;border:1px solid var(--tx-line);border-radius:16px;padding:30px 28px;height:100%;box-sizing:border-box;}
.tx-testimonial-stars{color:#DDA62B;font-size:18px;letter-spacing:3px;margin-bottom:14px;}
.tx-testimonial-quote{font-size:16px;line-height:1.6;color:#0F1E2E;margin:0 0 18px;}
.tx-testimonial-name{font-weight:800;color:#0F1E2E;margin:0;}
.tx-testimonial-role{color:var(--tx-muted);font-size:14px;margin:4px 0 0;}

/* ===== v1.1.5: TOC card — professional single-column hanging-indent list ===== */
#tx-toc-list{columns:1;column-gap:0;list-style-position:outside;margin:0;padding-left:26px;}
#tx-toc-list li{margin:0 0 10px;padding-left:2px;font-size:15px;line-height:1.55;break-inside:avoid;list-style-position:outside;}
#tx-toc-list li::marker{color:#C8102E;font-weight:800;}
#tx-toc-list a{color:#0F1E2E;font-weight:600;text-decoration:none;}
#tx-toc-list a:hover{color:#C8102E;text-decoration:underline;}
/* ===== end v1.1.5 ===== */
