/*
 Theme Name:   TAX DOCTOR Clean Text Child
 Theme URI:    https://jessieworks.com
 Description:  GeneratePress child theme – Clean Text UI, Paperlogy typography, image-free excerpts
 Author:       JessieWorks
 Author URI:   https://jessieworks.com
 Template:     generatepress
 Version:      2.0.1
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  tax-doctor-child
*/

/* ============================================================
   0. Paperlogy webfont @font-face (9 weights)
   ============================================================ */
@font-face {
	font-family: 'Paperlogy';
	font-weight: 100;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-1Thin.woff2') format('woff2');
}
@font-face {
	font-family: 'Paperlogy';
	font-weight: 200;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-2ExtraLight.woff2') format('woff2');
}
@font-face {
	font-family: 'Paperlogy';
	font-weight: 300;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-3Light.woff2') format('woff2');
}
@font-face {
	font-family: 'Paperlogy';
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-4Regular.woff2') format('woff2');
}
@font-face {
	font-family: 'Paperlogy';
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-5Medium.woff2') format('woff2');
}
@font-face {
	font-family: 'Paperlogy';
	font-weight: 600;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-6SemiBold.woff2') format('woff2');
}
@font-face {
	font-family: 'Paperlogy';
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-7Bold.woff2') format('woff2');
}
@font-face {
	font-family: 'Paperlogy';
	font-weight: 800;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-8ExtraBold.woff2') format('woff2');
}
@font-face {
	font-family: 'Paperlogy';
	font-weight: 900;
	font-style: normal;
	font-display: swap;
	src: url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/Paperlogy-9Black.woff2') format('woff2');
}

/* ============================================================
   1. CSS Variables (Design System)
   ============================================================ */
:root {
	--color-brand: #2563eb;
	--color-text-primary: #1a202c;
	--color-text-secondary: #4a5568;
	--color-text-tertiary: #a0aec0;
	--color-bg-page: #f8fafc;
	--color-bg-card: #ffffff;
	--color-border: #e2e8f0;
	--font-family: 'Paperlogy', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	--shadow-card: 0 1px 3px rgba(0,0,0,0.08);
	--shadow-card-hover: 0 4px 12px rgba(0,0,0,0.12);
	--radius-card: 12px;
	--gap-card: 24px;
	--padding-card: 24px;
	--section-gap: 64px;
	--container-max: 1200px;
	--container-padding: 24px;
}

/* ============================================================
   2. Global reset & typography
   ============================================================ */
html {
	font-size: 16px;
}

body {
	font-family: var(--font-family);
	font-weight: 400;
	line-height: 1.8;
	color: #333333;
	letter-spacing: -0.02em;
	word-break: keep-all;
	overflow-wrap: break-word;
	background: var(--color-bg-page);
}

/* Sticky Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(255,255,255,0.95);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--color-border);
}

/* Typography Scale */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-family);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.03em;
	color: var(--color-text-primary);
	margin-top: 0;
	margin-bottom: 0.7em;
}

h1 { font-size: 32px; font-weight: 800; line-height: 1.2; }
h2 { font-size: 24px; font-weight: 700; margin-top: 48px; margin-bottom: 16px; }
h3 { font-size: 20px; font-weight: 600; margin-top: 32px; margin-bottom: 12px; }
h4 { font-size: 18px; font-weight: 600; }
h5 { font-size: 16px; font-weight: 600; }
h6 { font-size: 14px; font-weight: 600; }

p {
	font-size: 17px;
	line-height: 1.8;
	margin-bottom: 24px;
}

a {
	color: var(--color-brand);
	text-decoration: none;
	transition: color 0.2s ease;
}
a:hover {
	color: #1e40af;
	text-decoration: underline;
}

/* Container */
.site-content {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

/* ============================================================
   3. Hero section
   ============================================================ */
.tb-hero {
	display: none !important;
}

.tax-doctor-hero {
	background: #f8fafc;
	border-bottom: 1px solid #e2e8f0;
	padding: 4rem 1.5rem 3.5rem;
	text-align: center;
	margin-bottom: var(--section-gap);
}

.tax-doctor-hero__inner {
	max-width: 720px;
	margin: 0 auto;
}

.tax-doctor-hero h1 {
	font-size: clamp(1.6rem, 4.5vw, 2.4rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.25;
	color: #0f172a;
	margin-bottom: 1rem;
}

.tax-doctor-hero .hero-sub {
	font-size: clamp(1rem, 2.2vw, 1.25rem);
	font-weight: 400;
	color: #475569;
	line-height: 1.65;
	margin-bottom: 1.75rem;
}

.tax-doctor-hero .hero-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.6rem;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	background: #0f172a;
	border-radius: 0.375rem;
	text-decoration: none;
	transition: background 0.2s ease;
}
.tax-doctor-hero .hero-cta:hover {
	background: #1e293b;
	color: #fff;
}

.tax-doctor-hero .hero-cats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.6rem;
	margin-top: 2rem;
}
.tax-doctor-hero .hero-cats a {
	padding: 0.45rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: #334155;
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 9999px;
	transition: all 0.2s ease;
}
.tax-doctor-hero .hero-cats a:hover {
	background: #0f172a;
	color: #fff;
	border-color: #0f172a;
	text-decoration: none;
}

/* ============================================================
   4. Card Component (Unified)
   ============================================================ */
.card {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-card);
	overflow: hidden;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.card:hover {
	box-shadow: var(--shadow-card-hover);
	transform: translateY(-4px);
}

.card__image {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.card:hover .card__image img {
	transform: scale(1.03);
}

.card__body {
	padding: var(--padding-card);
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.card__category {
	font-size: 12px;
	font-weight: 500;
	color: var(--color-text-tertiary);
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.card__title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: #222222;
	margin-bottom: 12px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.card__title a {
	color: #222222;
}
.card__title a:hover {
	color: var(--color-brand);
}

.card__excerpt {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: #666666;
	margin-bottom: 16px;
	flex-grow: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.card__readmore {
	font-size: 14px;
	font-weight: 500;
	color: var(--color-brand);
	text-align: right;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
	transition: gap 0.2s ease;
}
.card__readmore:hover {
	gap: 8px;
	text-decoration: none;
}

/* ============================================================
   5. Blog / Archive / Search Grid
   ============================================================ */
.blog .site-main,
.archive .site-main,
.search .site-main {
	display: block !important;
	padding-top: var(--section-gap);
	padding-bottom: var(--section-gap);
}

.generate-columns-container {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: var(--gap-card) !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.generate-columns-container .generate-columns {
	flex: 0 0 calc(33.333% - 16px) !important;
	max-width: calc(33.333% - 16px) !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-bottom: 0 !important;
}

.generate-columns-container .generate-columns .inside-article {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-card);
	overflow: hidden;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.generate-columns-container .generate-columns .inside-article:hover {
	box-shadow: var(--shadow-card-hover);
	transform: translateY(-4px);
}

.generate-columns-container .generate-columns .post-image {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.generate-columns-container .generate-columns .post-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.generate-columns-container .generate-columns .inside-article:hover .post-image img {
	transform: scale(1.03);
}

.generate-columns-container .generate-columns .entry-header {
	padding: var(--padding-card);
	padding-bottom: 0;
}

.generate-columns-container .generate-columns .entry-header h2 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: #222222;
	margin-bottom: 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.generate-columns-container .generate-columns .entry-header h2 a {
	color: #222222;
}
.generate-columns-container .generate-columns .entry-header h2 a:hover {
	color: var(--color-brand);
}

.generate-columns-container .generate-columns .entry-summary {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: #666666;
	padding: 0 var(--padding-card);
	margin-bottom: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.generate-columns-container .generate-columns .read-more {
	font-size: 14px;
	font-weight: 500;
	color: var(--color-brand);
	text-align: right;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
	padding: 0 var(--padding-card) var(--padding-card);
	transition: gap 0.2s ease;
}
.generate-columns-container .generate-columns .read-more:hover {
	gap: 8px;
	text-decoration: none;
}

/* ============================================================
   6. Query loop cards (main page)
   ============================================================ */

/* Placeholder for posts without featured image */
.wp-block-post:not(:has(.wp-block-post-featured-image))::before {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #e2e8f0;
	border: 1px dashed #cbd5e1;
	border-radius: 12px 12px 0 0;
}

/* ============================================================
   6. Query loop cards (main page)
   ============================================================ */
.wp-block-query .wp-block-post-template,
.wp-block-query .wp-block-post-template.is-flex-container {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: var(--gap-card) !important;
	padding-left: 0 !important;
	list-style: none !important;
	width: 100% !important;
}

.wp-block-query .wp-block-post-template .wp-block-post {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-card);
	box-shadow: var(--shadow-card);
	overflow: hidden;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.wp-block-query .wp-block-post-template .wp-block-post:hover {
	box-shadow: var(--shadow-card-hover);
	transform: translateY(-4px);
}

.wp-block-query .wp-block-post-featured-image {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.wp-block-query .wp-block-post-featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.wp-block-query .wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.03);
}

.wp-block-query .wp-block-post-title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: -0.03em;
	margin: 16px 24px 8px;
}
.wp-block-query .wp-block-post-title a {
	color: #222222;
}
.wp-block-query .wp-block-post-title a:hover {
	color: var(--color-brand);
}

.wp-block-query .wp-block-post-excerpt {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	color: #666666;
	margin: 0 24px 16px;
	flex-grow: 1;
}

.wp-block-query .wp-block-post-excerpt__more-text {
	margin-top: 0;
}
.wp-block-query .wp-block-post-excerpt__more-link {
	font-weight: 500;
	font-size: 14px;
	color: var(--color-brand);
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: gap 0.2s ease;
}
.wp-block-query .wp-block-post-excerpt__more-link:hover {
	gap: 8px;
}

/* ============================================================
   7. Latest tax column cards (flex container override)
   ============================================================ */
.wp-block-post-template.is-flex-container {
	gap: var(--gap-card) !important;
	display: grid !important;
	width: 100% !important;
}
.wp-block-post-template.is-flex-container.columns-3 > li {
	width: 100% !important;
	flex: none !important;
	max-width: 100% !important;
}

.wp-block-post-template .wp-block-post {
	width: 100% !important;
	height: auto !important;
	margin-bottom: 0 !important;
}

.wp-block-post-template .wp-block-post-excerpt {
	display: none !important;
}

.wp-block-post-template .wp-block-post-title {
	font-size: 15px !important;
	font-weight: 600 !important;
	margin: 10px 0 0 0 !important;
	padding: 0 4px !important;
	line-height: 1.4 !important;
	word-break: keep-all !important;
}
.wp-block-post-template .wp-block-post-title a {
	color: #0F1F3C !important;
	text-decoration: none !important;
}

.wp-block-post-template .wp-block-post-featured-image {
	width: 100% !important;
	height: 150px !important;
	min-height: 150px !important;
	max-height: 150px !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 6px !important;
}

.wp-block-post-template .wp-block-post-featured-image a {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wp-block-post-template .wp-block-post-featured-image img {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: cover !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 6px !important;
}

/* Force visible images for flex container cards */
body:not(.wp-admin) .wp-block-post-template .wp-block-post-featured-image img,
body:not(.wp-admin) .wp-block-post-template .wp-block-post-featured-image a img {
	height: 150px !important;
	width: 100% !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	object-fit: cover !important;
	max-width: 100% !important;
}
body:not(.wp-admin) .wp-block-post-template .wp-block-post-featured-image a {
	height: 150px !important;
	display: block !important;
}
body:not(.wp-admin) .wp-block-post-template .wp-block-post {
	min-height: 200px !important;
}

/* ============================================================
   8. Service icons
   ============================================================ */
.wp-block-paragraph img.emoji {
	width: 64px !important;
	height: 64px !important;
	display: inline-block !important;
}

/* ============================================================
   9. Footer
   ============================================================ */
.site-info {
	background: #0f172a;
	color: #cbd5e1;
	padding: 2.5rem 1.5rem;
	font-size: 0.9rem;
	margin-top: var(--section-gap);
}

.site-info .inside-site-info {
	max-width: var(--container-max);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.site-info .copyright-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0.75rem;
}

.site-info .copyright-bar .copyright {
	font-weight: 500;
	color: #f1f5f9;
}

.site-info .copyright-bar .footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-info .copyright-bar .footer-nav a {
	color: #94a3b8;
	font-size: 0.85rem;
}
.site-info .copyright-bar .footer-nav a:hover {
	color: #f1f5f9;
}

.site-info .copyright-bar .footer-desc {
	width: 100%;
	font-size: 0.8rem;
	color: #64748b;
	line-height: 1.6;
	margin-top: 0.5rem;
}

.generate-back-to-top {
	position: fixed;
	bottom: 1.5rem;
	right: 1.5rem;
	width: 2.75rem;
	height: 2.75rem;
	background: #0f172a;
	color: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	z-index: 999;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	transition: background 0.2s ease;
	text-decoration: none;
}
.generate-back-to-top::before {
	content: "↑";
	font-family: 'Paperlogy', sans-serif;
	font-weight: 700;
	line-height: 1;
}
.generate-back-to-top:hover {
	background: #1e293b;
	color: #fff;
}

/* ============================================================
   10. Single post – UNIFIED narrow width, center aligned
   ============================================================ */

/* Force entire single-post main area to 720px, centered */
.single .site-main {
	max-width: 720px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
	float: none !important;
	padding-left: 16px !important;
	padding-right: 16px !important;
	box-sizing: border-box !important;
}

.single .inside-article {
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
	float: none !important;
}

.single .entry-content {
	font-size: 17px;
	line-height: 1.8;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

/* Force ALL children to stay within bounds – ignores inline width styles */
.single .entry-content > * {
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Specific elements that often break layout */
.single .entry-content img,
.single .entry-content video,
.single .entry-content iframe,
.single .entry-content embed,
.single .entry-content object,
.single .entry-content table,
.single .entry-content pre,
.single .entry-content figure,
.single .entry-content .wp-block-image,
.single .entry-content .wp-block-media-text,
.single .entry-content .aligncenter,
.single .entry-content .alignwide,
.single .entry-content .alignfull,
.single .entry-content .se-viewer,
.single .entry-content .se-main-container,
.single .entry-content .se-contents,
.single .entry-content .se-documnet,
.single .entry-content .se-text-paragraph,
.single .entry-content div[class*="se-"] {
	max-width: 100% !important;
	width: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

/* Tables: force fixed layout so long content wraps */
.single .entry-content table {
	table-layout: fixed !important;
	word-break: break-all !important;
}

/* Preformatted text: wrap instead of horizontal scroll */
.single .entry-content pre {
	white-space: pre-wrap !important;
	word-break: break-all !important;
	overflow-x: auto !important;
}

.single .entry-content h2 {
	font-size: 24px;
	font-weight: 700;
	margin-top: 48px;
	margin-bottom: 16px;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid #e2e8f0;
}

.single .entry-content h3 {
	font-size: 20px;
	font-weight: 600;
	margin-top: 32px;
	margin-bottom: 12px;
	color: #1e293b;
}

.single .entry-content ul,
.single .entry-content ol {
	margin-bottom: 1.4em;
	padding-left: 1.5em;
}

.single .entry-content li {
	margin-bottom: 0.5em;
	line-height: 1.7;
}

.single .entry-content blockquote {
	border-left: 4px solid #0f172a;
	padding-left: 1.25rem;
	margin-left: 0;
	color: #475569;
	font-style: normal;
	font-weight: 500;
}

/* ============================================================
   11. Pagination
   ============================================================ */
.nav-links {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 2.5rem;
	flex-wrap: wrap;
}
.nav-links a,
.nav-links span {
	padding: 0.5rem 0.9rem;
	border: 1px solid #e2e8f0;
	border-radius: 0.375rem;
	font-size: 0.9rem;
	font-weight: 500;
	color: #334155;
}
.nav-links a:hover {
	background: #f1f5f9;
}
.nav-links span.current {
	background: #0f172a;
	color: #fff;
	border-color: #0f172a;
}

/* ============================================================
   12. Emoji hiding in excerpts
   ============================================================ */
.entry-summary img.emoji,
.entry-summary img[src*="emoji"] {
	display: none !important;
}

/* ============================================================
   13. Responsive
   ============================================================ */
@media (max-width: 1024px) {
	.generate-columns-container .generate-columns {
		flex: 0 0 calc(50% - 12px) !important;
		max-width: calc(50% - 12px) !important;
	}

	.wp-block-query .wp-block-post-template,
	.wp-block-query .wp-block-post-template.is-flex-container {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 768px) {
	:root {
		--container-padding: 16px;
		--gap-card: 16px;
		--padding-card: 16px;
		--section-gap: 40px;
	}

	html {
		font-size: 15px;
	}

	body {
		line-height: 1.7;
	}

	h1 { font-size: 28px; }
	h2 { font-size: 22px; margin-top: 36px; }
	h3 { font-size: 18px; margin-top: 24px; }

	.tax-doctor-hero {
		padding: 2.5rem 1rem 2rem;
	}

	.tax-doctor-hero h1 {
		font-size: 1.6rem;
	}

	/* Single post: full width on mobile */
	.single .site-main {
		max-width: 100% !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.single .entry-content h1 {
		font-size: 28px;
	}

	.generate-columns-container .generate-columns {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.wp-block-query .wp-block-post-template,
	.wp-block-query .wp-block-post-template.is-flex-container {
		grid-template-columns: 1fr !important;
	}

	.generate-columns-container .generate-columns .inside-article,
	.wp-block-query .wp-block-post-template .wp-block-post {
		padding: 0;
	}

	/* Query loop images: maintain aspect ratio */
	.wp-block-query .wp-block-post-featured-image {
		width: 100% !important;
		aspect-ratio: 16 / 9 !important;
	}

	.wp-block-query .wp-block-post-featured-image img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.site-info .copyright-bar {
		flex-direction: column;
		text-align: center;
	}

	body:not(.wp-admin) .wp-block-post-template .wp-block-post-featured-image img,
	body:not(.wp-admin) .wp-block-post-template .wp-block-post-featured-image a img {
		height: auto !important;
		min-height: unset !important;
	}
	body:not(.wp-admin) .wp-block-post-template .wp-block-post-featured-image a {
		height: auto !important;
	}
	.wp-block-post-template .wp-block-post-featured-image,
	.wp-block-post-template .wp-block-post-featured-image img,
	.wp-block-post-template .wp-block-post-featured-image a {
		height: auto !important;
		aspect-ratio: 16 / 9 !important;
	}
	.wp-block-post-template .wp-block-post-title {
		font-size: 15px !important;
	}

	p {
		font-size: 16px;
	}

	.single .entry-content {
		font-size: 16px;
	}

	/* Navigation mobile padding */
	.main-navigation {
		padding: 0 1rem;
	}
}

@media (max-width: 480px) {
	.tax-doctor-hero .hero-cats {
		gap: 0.4rem;
	}
	.tax-doctor-hero .hero-cats a {
		padding: 0.35rem 0.75rem;
		font-size: 0.8rem;
	}

	h1 { font-size: 26px; }

	.single .entry-content h1 {
		font-size: 26px;
	}
}
