* { margin: 0; padding: 0; box-sizing: border-box; }

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, sans-serif;
	color: #1a1a1a;
	background: #fafafa;
	line-height: 1.6;
	font-size: 16px;
}

a { color: inherit; text-decoration: none; }

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

/* ============================= HEADER ============================= */
.site-header {
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
	position: sticky;
	top: 0;
	z-index: 100;
}

.header-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 12px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.site-logo {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.site-logo .logo-mark {
	width: 34px;
	height: 34px;
	background: #1e40af;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 600;
	font-size: 16px;
}

.site-logo .logo-text {
	font-weight: 600;
	font-size: 17px;
	color: #1e40af;
	line-height: 1.2;
}

.site-logo .logo-tag {
	font-size: 11px;
	color: #666;
}

/* Hamburger toggle */
.menu-toggle {
	display: none;
	background: transparent;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 8px 10px;
	cursor: pointer;
	width: 40px;
	height: 40px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
}

.menu-toggle span {
	display: block;
	width: 18px;
	height: 2px;
	background: #333;
	border-radius: 1px;
	transition: all 0.2s;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.main-nav ul {
	list-style: none;
	display: flex;
	gap: 24px;
	align-items: center;
}

.main-nav li {
	position: relative;
	padding: 8px 0;
	font-size: 14px;
	font-weight: 500;
}

.main-nav li:hover > a { color: #1e40af; }

.main-nav a {
	color: #333;
	display: block;
}

/* Desktop caret for parent items */
@media (min-width: 901px) {
	.main-nav li.has-children > a::after {
		content: " \25BE";
		font-size: 10px;
		color: #888;
		margin-left: 2px;
	}
	.main-nav li.has-children:hover > a::after {
		color: #1e40af;
	}
}

.main-nav li.has-children > a {
	cursor: pointer;
}

.main-nav .sub-menu {
	display: none;
	position: absolute;
	top: calc(100% + 2px);
	left: -16px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 8px;
	min-width: 240px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.10);
	z-index: 1000;
	flex-direction: column;
}

/* Invisible hover bridge to prevent dropdown closing on mouse travel */
.main-nav li.has-children::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: 6px;
	background: transparent;
	display: none;
}

@media (min-width: 901px) {
	.main-nav li.has-children:hover::before { display: block; }
	.main-nav li.has-children:hover > .sub-menu { display: flex; }
}

.main-nav .sub-menu a {
	padding: 8px 12px;
	font-size: 13px;
	color: #444;
	border-radius: 4px;
	white-space: nowrap;
}

.main-nav .sub-menu a:hover {
	background: #f5f5f5;
	color: #1e40af;
}

.header-search-toggle {
	display: none;
	background: #f5f5f5;
	border: none;
	padding: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	cursor: pointer;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.header-search-toggle svg { width: 18px; height: 18px; stroke: #333; }

.search-box {
	display: flex;
	align-items: center;
	background: #f5f5f5;
	padding: 6px 14px;
	border-radius: 20px;
	width: 200px;
	flex-shrink: 0;
}

.search-box input {
	border: none;
	background: transparent;
	outline: none;
	width: 100%;
	font-size: 13px;
}

/* Mobile search drawer */
.mobile-search {
	display: none;
	padding: 12px 20px;
	background: #fff;
	border-bottom: 1px solid #e5e5e5;
}

.mobile-search.open { display: block; }

.mobile-search input {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #e5e5e5;
	border-radius: 20px;
	font-size: 14px;
	outline: none;
}

.mobile-search input:focus { border-color: #1e40af; }

/* MOBILE layout */
@media (max-width: 900px) {
	.menu-toggle { display: flex; }
	.header-search-toggle { display: flex; }
	.search-box { display: none; }

	.main-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #fff;
		border-bottom: 1px solid #e5e5e5;
		box-shadow: 0 8px 20px rgba(0,0,0,0.08);
		padding: 8px 0;
	}

	.main-nav.open { display: block; }

	.main-nav ul {
		flex-direction: column;
		gap: 0;
		align-items: stretch;
	}

	.main-nav li {
		padding: 0;
		border-bottom: 1px solid #f5f5f5;
	}

	.main-nav li:last-child { border-bottom: none; }

	.main-nav a {
		padding: 14px 20px;
		font-size: 15px;
	}

	.main-nav .sub-menu {
		display: none;
		position: static;
		border: none;
		box-shadow: none;
		padding: 0 0 10px 20px;
		background: #fafafa;
		border-radius: 0;
	}

	.main-nav li.has-children > a::after {
		content: "+";
		float: right;
		font-size: 18px;
		color: #888;
	}

	.main-nav li.open > .sub-menu { display: block; }

	.main-nav li.open > a::after { content: "−"; }

	.site-logo .logo-tag { display: none; }
}

@media (max-width: 500px) {
	.site-logo .logo-text { font-size: 15px; }
	.header-inner { padding: 10px 14px; }
}

/* ============================= PAGE WRAP ============================= */
.page {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 20px;
}

@media (max-width: 600px) {
	.page { padding: 16px 14px; }
}

/* ============================= HERO (ultra-slim, smart inline) ============================= */
.hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 20px;
	background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
	border-radius: 10px;
	margin-bottom: 14px;
	border: 1px solid #e5e5e5;
	flex-wrap: wrap;
}

.hero-text {
	flex: 1;
	min-width: 0;
}

.hero h1 {
	font-size: 18px;
	font-weight: 600;
	color: #1e40af;
	margin: 0 0 2px;
	letter-spacing: -0.01em;
	line-height: 1.25;
}

.hero p {
	font-size: 12px;
	color: #666;
	margin: 0;
	line-height: 1.4;
}

.trust-bar {
	display: flex;
	gap: 16px;
	font-size: 11px;
	color: #666;
	flex-wrap: wrap;
	align-items: center;
	white-space: nowrap;
}

.trust-bar > div {
	display: flex;
	align-items: center;
	gap: 4px;
}

.trust-bar strong { color: #1e40af; font-weight: 700; font-size: 14px; }

@media (max-width: 768px) {
	.hero { padding: 10px 14px; gap: 10px; }
	.hero h1 { font-size: 15px; }
	.hero p { font-size: 11px; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
	.trust-bar { gap: 10px; font-size: 10px; }
	.trust-bar strong { font-size: 12px; }
}

@media (max-width: 480px) {
	.hero p { display: none; }
	.trust-bar { width: 100%; justify-content: space-between; padding-top: 6px; border-top: 1px solid #e5e5e5; }
}

/* ============================= FEATURED BANNER ============================= */
.featured-banner {
	background: #fff;
	border-radius: 12px;
	border: 1px solid #e5e5e5;
	margin-bottom: 20px;
	overflow: hidden;
}

.featured-banner-inner {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 0;
	align-items: stretch;
}

.featured-banner-image {
	background: linear-gradient(135deg, #dbeafe 0%, #c8e6d7 100%);
	min-height: 300px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.featured-banner-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
}

.featured-banner-image .placeholder-ico {
	font-size: 72px;
	color: #1e40af;
	opacity: 0.35;
	font-weight: 700;
}

.featured-banner-content {
	padding: 32px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.featured-tag {
	display: inline-block;
	background: #fef3e2;
	color: #854f0b;
	font-size: 11px;
	padding: 4px 12px;
	border-radius: 12px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 14px;
	width: max-content;
}

.featured-banner h2 {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 12px;
	color: #1a1a1a;
	letter-spacing: -0.015em;
}

.featured-banner h2 a { color: inherit; }
.featured-banner h2 a:hover { color: #1e40af; }

.featured-banner p {
	font-size: 15px;
	color: #555;
	line-height: 1.6;
	margin-bottom: 16px;
}

.featured-banner-meta {
	display: flex;
	gap: 16px;
	font-size: 13px;
	color: #666;
	flex-wrap: wrap;
	padding-top: 14px;
	border-top: 1px solid #f0f0f0;
}

.featured-banner-meta strong { color: #1e40af; font-weight: 600; }

.featured-banner-read {
	margin-top: 16px;
	display: inline-block;
	padding: 10px 20px;
	background: #1e40af;
	color: #fff !important;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	width: max-content;
}

.featured-banner-read:hover { background: #0d5c48; }

@media (max-width: 800px) {
	.featured-banner-inner { grid-template-columns: 1fr; }
	.featured-banner-image { min-height: 200px; }
	.featured-banner-content { padding: 24px 20px; }
	.featured-banner h2 { font-size: 20px; }
	.featured-banner p { font-size: 14px; }
}

/* ============================= SECTIONS ============================= */
.section {
	background: #fff;
	border-radius: 12px;
	padding: 22px;
	margin-bottom: 20px;
	border: 1px solid #e5e5e5;
}

@media (max-width: 600px) { .section { padding: 16px 14px; } }

.section-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #f0f0f0;
	flex-wrap: wrap;
	gap: 8px;
}

.section h2 {
	font-size: 20px;
	font-weight: 600;
	color: #1a1a1a;
}

@media (max-width: 600px) { .section h2 { font-size: 17px; } }

.section-tag {
	font-size: 11px;
	background: #fef3e2;
	color: #854f0b;
	padding: 3px 10px;
	border-radius: 12px;
	font-weight: 500;
}

/* ============================= ARTICLE GRID ============================= */
.article-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 14px;
}

.article-card {
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 14px;
	transition: border-color 0.15s, transform 0.15s;
	background: #fff;
}

.article-card:hover {
	border-color: #1e40af;
	transform: translateY(-2px);
}

.article-card a { display: block; }

.article-category {
	display: inline-block;
	background: #dbeafe;
	color: #1e40af;
	font-size: 11px;
	padding: 3px 10px;
	border-radius: 10px;
	margin-bottom: 10px;
	font-weight: 500;
}

.article-card h3 {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 8px;
	color: #1a1a1a;
}

.article-card p {
	font-size: 13px;
	color: #666;
	line-height: 1.5;
	margin-bottom: 12px;
}

.article-meta {
	font-size: 11px;
	color: #888;
	display: flex;
	justify-content: space-between;
	padding-top: 10px;
	border-top: 1px solid #f0f0f0;
	gap: 8px;
}

/* ============================= TWO-COLUMN LAYOUT ============================= */
.two-col {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 24px;
}

@media (max-width: 1000px) {
	.two-col { grid-template-columns: 1fr; }
}

/* ============================= SIDEBAR ============================= */
.site-sidebar { display: flex; flex-direction: column; gap: 16px; }

.sidebar-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 16px;
}

.sidebar-card h4 {
	font-size: 12px;
	font-weight: 600;
	color: #1e40af;
	margin-bottom: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding-bottom: 10px;
	border-bottom: 1px solid #f0f0f0;
}

.sidebar-card ul { list-style: none; }

.sidebar-card li {
	padding: 10px 0;
	font-size: 13px;
	border-bottom: 1px solid #f5f5f5;
	line-height: 1.4;
}

.sidebar-card li:last-child { border-bottom: none; }

.sidebar-card li a { color: #333; display: block; }

.sidebar-card li a:hover { color: #1e40af; }

/* Recent posts compact layout: image LEFT, title + date RIGHT */
.sidebar-card li a.sidebar-recent-post,
a.sidebar-recent-post {
	display: flex !important;
	gap: 10px;
	align-items: flex-start;
	text-decoration: none;
}

.sidebar-recent-post-thumb {
	width: 64px;
	height: 64px;
	min-width: 64px;
	border-radius: 6px;
	background: #dbeafe;
	flex-shrink: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sidebar-recent-post-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sidebar-recent-post-thumb .ph {
	font-size: 20px;
	color: #1e40af;
	opacity: 0.4;
	font-weight: 600;
}

.sidebar-recent-post-body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.sidebar-recent-post-body .title {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
	color: #1a1a1a;
	margin-bottom: 3px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}

.sidebar-recent-post-body .date {
	font-size: 11px;
	color: #888;
	display: block;
}

.sidebar-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.sidebar-topics a {
	display: inline-block;
	padding: 5px 10px;
	background: #f5f5f5;
	border-radius: 12px;
	font-size: 12px;
	color: #444;
	transition: all 0.15s;
}

.sidebar-topics a:hover {
	background: #dbeafe;
	color: #1e40af;
}

.sidebar-doctor-mini {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f5f5f5;
}

.sidebar-doctor-mini:last-child { border-bottom: none; }

.sidebar-doctor-mini-avatar {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #dbeafe;
	color: #1e40af;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 12px;
	flex-shrink: 0;
	overflow: hidden;
}

.sidebar-doctor-mini-avatar img { width: 100%; height: 100%; object-fit: cover; }

.sidebar-doctor-mini-body { flex: 1; min-width: 0; }

.sidebar-doctor-mini-body .name {
	font-size: 13px;
	font-weight: 500;
	color: #1a1a1a;
	display: block;
	margin-bottom: 2px;
}

.sidebar-doctor-mini-body .role {
	font-size: 11px;
	color: #666;
}

/* ============================= ARTICLE PAGE ============================= */
.breadcrumb {
	font-size: 12px;
	color: #888;
	margin-bottom: 14px;
}

.breadcrumb a:hover { color: #1e40af; }

.article-page {
	background: #fff;
	border-radius: 12px;
	padding: 36px;
	border: 1px solid #e5e5e5;
}

@media (max-width: 600px) {
	.article-page { padding: 20px 16px; }
}

.article-page h1 {
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 12px;
	color: #1a1a1a;
	letter-spacing: -0.015em;
}

@media (max-width: 600px) { .article-page h1 { font-size: 22px; } }

.article-dek {
	font-size: 16px;
	color: #555;
	line-height: 1.55;
	margin-bottom: 22px;
	font-weight: 400;
}

/* Minimal meta strip - replaces heavy byline box */
.article-meta-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 12px 0 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #f0f0f0;
	font-size: 13px;
	color: #666;
}

.article-meta-strip .meta-item a {
	color: #1e40af;
	font-weight: 500;
}

.article-meta-strip .meta-item a:hover {
	text-decoration: underline;
}

.article-meta-strip .meta-separator {
	color: #ccc;
}

/* Byline */
.byline-box {
	background: #f8f9fa;
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 24px;
	border-left: 3px solid #1e40af;
}

.byline-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 0;
	flex-wrap: wrap;
}

.byline-row:not(:last-child) { border-bottom: 1px solid #e5e5e5; }

.byline-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #dbeafe;
	color: #1e40af;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 13px;
	flex-shrink: 0;
	overflow: hidden;
}

.byline-avatar img { width: 100%; height: 100%; object-fit: cover; }

.byline-avatar.reviewer { background: #e6f1fb; color: #0d9488; }

.byline-info { flex: 1; min-width: 180px; }

.byline-label {
	font-size: 11px;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 2px;
}

.byline-name {
	font-size: 14px;
	font-weight: 600;
	color: #1a1a1a;
}

.byline-name a { color: #1e40af; }

.byline-credential {
	font-size: 12px;
	color: #666;
}

.byline-date {
	font-size: 11px;
	color: #888;
	margin-left: auto;
	text-align: right;
}

/* Disclaimer (softened) */
.disclaimer {
	background: #f0fdfa;
	border-left: 3px solid #378add;
	padding: 12px 16px;
	font-size: 13px;
	color: #0c447c;
	border-radius: 0 8px 8px 0;
	margin-bottom: 26px;
	line-height: 1.55;
}

.disclaimer strong { font-weight: 600; }

/* Content */
.article-content h2 {
	font-size: 22px;
	font-weight: 600;
	margin: 28px 0 12px;
	color: #1a1a1a;
	letter-spacing: -0.01em;
}

@media (max-width: 600px) { .article-content h2 { font-size: 19px; } }

.article-content h3 {
	font-size: 18px;
	font-weight: 600;
	margin: 22px 0 10px;
	color: #1a1a1a;
}

.article-content p {
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 16px;
	color: #333;
}

@media (max-width: 600px) { .article-content p { font-size: 15px; } }

.article-content strong { font-weight: 600; color: #1a1a1a; }

.article-content ul, .article-content ol {
	padding-left: 24px;
	margin-bottom: 16px;
}

.article-content li {
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 6px;
	color: #333;
}

.article-content a {
	color: #0d9488;
	border-bottom: 1px dashed #85b7eb;
}

.article-content a:hover {
	color: #0c447c;
	border-bottom-style: solid;
}

/* In-content boxes */
.key-facts {
	background: #f0f9f5;
	border-radius: 10px;
	padding: 16px 18px;
	margin: 20px 0;
	border: 1px solid #c8e6d7;
}

.key-facts h4 {
	font-size: 13px;
	color: #1e40af;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
	font-weight: 600;
}

.key-facts ul { list-style: none; padding: 0; }

.key-facts li {
	font-size: 14px;
	padding: 6px 0;
	padding-left: 20px;
	position: relative;
	margin-bottom: 0;
}

.key-facts li::before {
	content: "";
	width: 6px;
	height: 6px;
	background: #1e40af;
	border-radius: 50%;
	position: absolute;
	left: 4px;
	top: 13px;
}

.quick-facts-box {
	background: #f0f9f5;
	border: 1px solid #c8e6d7;
	border-radius: 10px;
	padding: 16px 18px;
	margin-bottom: 22px;
}

.quick-facts-box h4 {
	font-size: 13px;
	color: #1e40af;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
	font-weight: 600;
}

.meta-card {
	background: #f8f9fa;
	border-radius: 8px;
	padding: 14px 16px;
	margin: 20px 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
}

.meta-card div strong {
	display: block;
	font-size: 11px;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 3px;
	font-weight: 600;
}

.meta-card div span {
	font-size: 14px;
	color: #333;
	font-weight: 500;
}

.related-block {
	background: #f8f9fa;
	border-radius: 10px;
	padding: 16px 18px;
	margin: 22px 0;
}

.related-block h4 {
	font-size: 13px;
	color: #1e40af;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 12px;
	font-weight: 600;
}

.related-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 8px;
}

.related-links a {
	display: block;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	font-size: 13px;
	color: #0d9488;
	transition: all 0.15s;
}

.related-links a:hover {
	border-color: #0d9488;
	background: #f0fdfa;
}

/* Author box — goes AFTER articles, full width, smaller */
.author-box {
	background: #f8f9fa;
	border-radius: 10px;
	padding: 20px;
	margin-top: 20px;
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	align-items: flex-start;
	border-left: 3px solid #1e40af;
}

.author-box.reviewer-box {
	border-left-color: #0d9488;
	background: #f0fdfa;
}

.author-box .author-label {
	display: block;
	font-size: 11px;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 600;
	margin-bottom: 4px;
}

.author-box.reviewer-box .author-label {
	color: #0d9488;
}

.author-box .avatar-lg {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #dbeafe;
	color: #1e40af;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 600;
	flex-shrink: 0;
	overflow: hidden;
}

.author-box .avatar-lg img { width: 100%; height: 100%; object-fit: cover; }

.author-box .author-info { flex: 1; min-width: 220px; }

.author-box h4 {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 4px;
}

.author-box .author-title {
	font-size: 13px;
	color: #1e40af;
	margin-bottom: 8px;
	font-weight: 500;
}

.author-box p {
	font-size: 14px;
	color: #555;
	line-height: 1.6;
	margin-bottom: 8px;
}

.author-box .author-link {
	font-size: 13px;
	color: #0d9488;
}

/* Sources */
.sources {
	font-size: 13px;
	color: #666;
	margin-top: 22px;
	padding: 16px 18px;
	background: #f8f9fa;
	border-radius: 8px;
}

.sources h4 {
	font-size: 13px;
	color: #1e40af;
	text-transform: uppercase;
	margin-bottom: 10px;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.sources ol { padding-left: 20px; }

.sources li {
	padding: 4px 0;
	line-height: 1.5;
}

.sources a { color: #0d9488; text-decoration: underline; }

/* ============================= DOCTOR PROFILE ============================= */
.doctor-profile {
	background: #fff;
	border-radius: 12px;
	padding: 36px;
	border: 1px solid #e5e5e5;
}

@media (max-width: 600px) { .doctor-profile { padding: 20px 16px; } }

.doctor-header {
	display: flex;
	gap: 24px;
	padding-bottom: 22px;
	border-bottom: 1px solid #f0f0f0;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.doctor-avatar-xl {
	width: 110px;
	height: 110px;
	border-radius: 50%;
	background: #dbeafe;
	color: #1e40af;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	font-weight: 600;
	flex-shrink: 0;
	overflow: hidden;
}

.doctor-avatar-xl img { width: 100%; height: 100%; object-fit: cover; }

.doctor-info { flex: 1; min-width: 220px; }

.doctor-info h1 {
	font-size: 26px;
	font-weight: 700;
	margin-bottom: 6px;
}

@media (max-width: 600px) { .doctor-info h1 { font-size: 20px; } }

.doctor-info .designation {
	font-size: 15px;
	color: #1e40af;
	font-weight: 500;
	margin-bottom: 8px;
}

.doctor-info .qualification {
	font-size: 13px;
	color: #666;
	margin-bottom: 14px;
}

.doctor-meta {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
}

.doctor-meta div { font-size: 13px; }

.doctor-meta strong {
	display: block;
	color: #888;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 2px;
	font-weight: 600;
}

.doctor-meta a { color: #0d9488; }

.doctor-bio {
	font-size: 15px;
	line-height: 1.7;
	color: #333;
	margin-bottom: 26px;
}

.doctor-bio p { margin-bottom: 12px; }

.doctor-articles h3 {
	font-size: 17px;
	font-weight: 600;
	margin-bottom: 14px;
}

/* ============================= TEAM PAGE ============================= */
.team-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 16px;
	margin-top: 20px;
}

.team-card {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 10px;
	padding: 18px;
	transition: all 0.15s;
}

.team-card:hover {
	border-color: #1e40af;
	transform: translateY(-2px);
}

.team-card-header {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 12px;
}

.team-card-avatar {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #dbeafe;
	color: #1e40af;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 600;
	flex-shrink: 0;
	overflow: hidden;
}

.team-card-avatar img { width: 100%; height: 100%; object-fit: cover; }

.team-card-name {
	font-size: 15px;
	font-weight: 600;
	color: #1a1a1a;
	margin-bottom: 3px;
}

.team-card-role {
	font-size: 12px;
	color: #1e40af;
	font-weight: 500;
}

.team-card-qual {
	font-size: 12px;
	color: #666;
	margin-bottom: 10px;
}

.team-card-bio {
	font-size: 13px;
	color: #555;
	line-height: 1.55;
	margin-bottom: 12px;
}

.team-card-footer {
	padding-top: 10px;
	border-top: 1px solid #f0f0f0;
	font-size: 12px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px;
}

.team-card-footer a { color: #0d9488; }

/* ============================= FOOTER ============================= */
.site-footer {
	background: #1a1a1a;
	color: #999;
	padding: 36px 20px 28px;
	margin-top: 40px;
	font-size: 13px;
}

.footer-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 28px;
}

.footer-col h5 {
	color: #fff;
	font-size: 12px;
	margin-bottom: 12px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-weight: 600;
}

.footer-col ul { list-style: none; }

.footer-col a {
	display: block;
	padding: 4px 0;
	font-size: 12px;
}

.footer-col a:hover { color: #fff; }

.footer-bottom {
	max-width: 1200px;
	margin: 28px auto 0;
	padding-top: 20px;
	border-top: 1px solid #333;
	text-align: center;
	font-size: 11px;
	line-height: 1.6;
}

/* ============================= ARCHIVE ============================= */
.archive-header {
	background: #fff;
	border-radius: 12px;
	padding: 24px 28px;
	margin-bottom: 18px;
	border: 1px solid #e5e5e5;
}

@media (max-width: 600px) { .archive-header { padding: 18px 16px; } }

.archive-header h1 {
	font-size: 24px;
	font-weight: 600;
	color: #1e40af;
	margin-bottom: 8px;
}

@media (max-width: 600px) { .archive-header h1 { font-size: 20px; } }

.archive-header p {
	font-size: 14px;
	color: #666;
	max-width: 700px;
}

.pagination {
	margin-top: 24px;
	display: flex;
	gap: 6px;
	justify-content: center;
	flex-wrap: wrap;
}

.pagination a, .pagination span {
	padding: 7px 12px;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	font-size: 13px;
	background: #fff;
	color: #333;
}

.pagination .current {
	background: #1e40af;
	color: #fff;
	border-color: #1e40af;
}

.pagination a:hover {
	border-color: #1e40af;
	color: #1e40af;
}

/* Table */
.wp-block-table, .article-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	font-size: 14px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	overflow: hidden;
}

.wp-block-table th, .article-content table th {
	background: #1e40af;
	color: #fff;
	padding: 10px 12px;
	text-align: left;
	font-weight: 600;
	font-size: 13px;
}

.wp-block-table td, .article-content table td {
	padding: 10px 12px;
	border-bottom: 1px solid #f0f0f0;
}

.wp-block-table tr:last-child td, .article-content table tr:last-child td { border-bottom: none; }
