/* ==========================================================================
   Business World Asia — "Asia Edition" skin
   Clean, editorial layout (Fortune India inspired) in dark navy.
   Loaded after SmartMag styles. Edit colours in :root below.
   ========================================================================== */

:root,
body {
	--bwa-navy: #0B1F3A;
	--bwa-navy-2: #14305A;
	--bwa-navy-3: #1E3F70;
	--bwa-accent: #0FA3A3;
	--bwa-ink: #111827;
	--bwa-muted: #5B6675;
	--bwa-line: #E5E9EF;
	--bwa-soft: #F4F6F9;
	--bwa-radius: 8px;
	--bwa-ease: cubic-bezier(.2, .7, .2, 1);

	/* SmartMag variables */
	--c-main: var(--bwa-navy);
	--c-main-rgb: 11, 31, 58;
	--title-font: "Source Serif 4", Georgia, "Times New Roman", serif;
	--h-font: "Source Serif 4", Georgia, serif;
	--body-font: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--ui-font: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--text-font: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--text-h-font: "Source Serif 4", Georgia, serif;
}

body {
	font-family: var(--body-font);
	color: var(--bwa-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* ---------- Typography ---------- */
.post-title,
.is-title,
.entry-title,
h1, h2, h3,
.elementor-widget-heading .elementor-heading-title,
.block-head .heading {
	font-family: var(--title-font) !important;
	letter-spacing: -0.01em;
}
.post-title a,
.is-title a { color: var(--bwa-ink); transition: color .25s var(--bwa-ease); }
.post-title a:hover,
.is-title a:hover { color: var(--bwa-navy-3); }

.post-meta, .meta-item, .post-meta .date-link,
.navigation, .ts-button, .cat-labels, .block-head .filters {
	font-family: var(--ui-font) !important;
}
.post-meta .meta-item,
.post-meta time { color: var(--bwa-muted); }

/* ---------- Header ---------- */
.smart-head-main .smart-head-top {
	background: var(--bwa-soft) !important;
	border-bottom: 1px solid var(--bwa-line);
}
.smart-head-main .smart-head-mid {
	background: #fff !important;
	border-bottom: 1px solid var(--bwa-line);
}
.smart-head-main .smart-head-bot,
.smart-head-main .smart-head-bot.s-dark {
	background: var(--bwa-navy) !important;
	background-image: none !important;
	border: 0 !important;
	box-shadow: 0 1px 0 rgba(255,255,255,.04) inset;
}
.smart-head-main .smart-head-bot .navigation-main .menu > li > a {
	color: #fff !important;
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .01em;
	position: relative;
}
.smart-head-main .smart-head-bot .navigation-main .menu > li > a::after {
	content: "";
	position: absolute;
	left: 50%;
	right: 50%;
	bottom: 8px;
	height: 2px;
	background: var(--bwa-accent);
	transition: left .3s var(--bwa-ease), right .3s var(--bwa-ease);
}
.smart-head-main .smart-head-bot .navigation-main .menu > li:hover > a::after,
.smart-head-main .smart-head-bot .navigation-main .menu > li.current-menu-item > a::after {
	left: 14px;
	right: 14px;
}
.navigation-main .sub-menu {
	border-top: 3px solid var(--bwa-accent) !important;
	border-radius: 0 0 var(--bwa-radius) var(--bwa-radius);
	box-shadow: 0 18px 40px -12px rgba(11,31,58,.25) !important;
}
.navigation-main .sub-menu a:hover { color: var(--bwa-accent) !important; }

/* Header buttons */
.smart-head .ts-button {
	border-radius: 999px !important;
	font-weight: 600;
	padding-left: 18px;
	padding-right: 18px;
	transition: transform .2s var(--bwa-ease), box-shadow .2s var(--bwa-ease), background .2s;
}
.smart-head .ts-button1 {
	background: var(--bwa-navy) !important;
	color: #fff !important;
	border-color: var(--bwa-navy) !important;
}
.smart-head .ts-button2 {
	background: transparent !important;
	color: var(--bwa-navy) !important;
	border: 1px solid var(--bwa-navy) !important;
}
.smart-head .ts-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px -6px rgba(11,31,58,.45);
}

/* Sticky header polish */
.smart-head-main.smart-head-sticky,
.smart-head-sticky .smart-head-bot { box-shadow: 0 6px 20px -10px rgba(11,31,58,.35); }

/* Mobile header */
.smart-head-mobile .smart-head-mid {
	background: #fff !important;
	border-bottom: 3px solid var(--bwa-navy) !important;
}
.off-canvas.s-dark,
.mobile-menu-container.s-dark { background: var(--bwa-navy) !important; }

/* ---------- Block headings ---------- */
.block-head .heading { color: var(--bwa-navy); font-weight: 700; }
.block-head-e3 .heading::after,
.block-head-e3::after { border-color: var(--bwa-navy) !important; }
.block-head .filters a { color: var(--bwa-muted); transition: color .2s; }
.block-head .filters a:hover,
.block-head .filters a.active { color: var(--bwa-navy) !important; }

/* ---------- Cards & images ---------- */
.l-post .media,
.l-post .image-link,
.overlay-post .media,
.grid-overlay .media {
	border-radius: var(--bwa-radius);
	overflow: hidden;
}
.l-post .image-link img,
.l-post .media img {
	transition: transform .6s var(--bwa-ease), filter .6s var(--bwa-ease);
	will-change: transform;
}
.l-post:hover .image-link img,
.l-post:hover .media img { transform: scale(1.045); }

.l-post .post-title { line-height: 1.28; }

/* Category labels */
.cat-labels .category,
.post-cat .category.cat-labels,
.cat-labels a {
	background: var(--bwa-navy) !important;
	color: #fff !important;
	border-radius: 3px;
	font-weight: 700;
	letter-spacing: .06em;
	font-size: 10px;
}
.post-meta .post-cat > a,
.meta-item.post-cat a { color: var(--bwa-accent); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 11px; }

/* Overlay hero */
.overlay-post .content,
.grid-overlay .content {
	background: linear-gradient(180deg, rgba(11,31,58,0) 0%, rgba(11,31,58,.85) 100%);
}
.overlay-post .post-title a,
.grid-overlay .post-title a { color: #fff !important; }

/* Numbered lists */
.l-post .post-number,
.post-number { color: var(--bwa-line) !important; font-family: var(--title-font); font-weight: 700; }

/* Links, buttons, pagination */
a { transition: color .2s var(--bwa-ease); }
.read-more-btn,
.main-pagination .load-button,
.pagination .page-numbers.current,
input[type="submit"],
button[type="submit"] {
	background: var(--bwa-navy) !important;
	border-color: var(--bwa-navy) !important;
	border-radius: 999px !important;
	transition: background .2s, transform .2s var(--bwa-ease);
}
.read-more-btn:hover,
.main-pagination .load-button:hover,
input[type="submit"]:hover,
button[type="submit"]:hover { background: var(--bwa-navy-3) !important; transform: translateY(-1px); }

/* ---------- Single article ---------- */
.the-post-header .post-title,
.single .entry-title {
	font-size: clamp(28px, 3.4vw, 44px) !important;
	line-height: 1.15 !important;
	font-weight: 700 !important;
	color: var(--bwa-ink);
}
.the-post-header .sub-title { font-family: var(--body-font); color: var(--bwa-muted); font-size: 18px; line-height: 1.55; }
.single .featured,
.single .single-featured .featured { border-radius: var(--bwa-radius); overflow: hidden; }

.entry-content {
	font-family: var(--text-font);
	font-size: 18px;
	line-height: 1.75;
	color: #1F2937;
}
.entry-content p { margin-bottom: 1.35em; }
.entry-content h2, .entry-content h3, .entry-content h4 {
	font-family: var(--title-font);
	color: var(--bwa-navy);
	margin-top: 1.6em;
}
.entry-content a { color: var(--bwa-navy-3); text-decoration: underline; text-decoration-color: rgba(15,163,163,.5); text-underline-offset: 3px; }
.entry-content a:hover { color: var(--bwa-accent); }
.entry-content blockquote {
	border-left: 4px solid var(--bwa-accent) !important;
	background: var(--bwa-soft);
	padding: 22px 26px;
	border-radius: 0 var(--bwa-radius) var(--bwa-radius) 0;
	font-family: var(--title-font);
	font-size: 22px;
	line-height: 1.5;
	color: var(--bwa-navy);
}
.post-share .service,
.post-share-b .service { border-radius: 999px !important; }
.single .post-tags a,
.tagcloud a {
	border-radius: 999px;
	border: 1px solid var(--bwa-line);
	padding: 5px 12px;
	transition: all .2s;
}
.single .post-tags a:hover,
.tagcloud a:hover { background: var(--bwa-navy); color: #fff; border-color: var(--bwa-navy); }

/* Archive headers */
.archive-head .heading,
.archive-head .archive-title { font-family: var(--title-font); color: var(--bwa-navy); }

/* Sidebar widgets */
.sidebar .widget-title .heading,
.widget-title .heading { color: var(--bwa-navy); }

/* ---------- Footer ---------- */
.main-footer .upper-footer,
.main-footer.s-dark .upper-footer {
	background: var(--bwa-navy) !important;
	color: #C9D6E3;
	border-top: 4px solid var(--bwa-accent);
}
.main-footer .lower-footer,
.s-dark .lower-footer {
	background: #07152A !important;
	color: #9FB0C4 !important;
}
.main-footer a { color: #E6EDF5; }
.main-footer a:hover { color: var(--bwa-accent) !important; }

/* ---------- Newsletter ---------- */
.spc-newsletter input[type="email"] {
	border-radius: 999px !important;
	padding-left: 18px !important;
}

/* ---------- Scroll-reveal animation ---------- */
.bwa-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .7s var(--bwa-ease), transform .7s var(--bwa-ease);
}
.bwa-reveal.bwa-in {
	opacity: 1;
	transform: none;
}

/* Back to top button */
.bwa-top {
	position: fixed;
	right: 20px;
	bottom: 24px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--bwa-navy);
	color: #fff;
	border: 0;
	display: grid;
	place-items: center;
	box-shadow: 0 10px 24px -8px rgba(11,31,58,.55);
	opacity: 0;
	transform: translateY(12px);
	pointer-events: none;
	transition: opacity .3s, transform .3s var(--bwa-ease), background .2s;
	z-index: 999;
	cursor: pointer;
}
.bwa-top.bwa-show { opacity: 1; transform: none; pointer-events: auto; }
.bwa-top:hover { background: var(--bwa-accent); }

/* Reading progress bar (single posts) */
.bwa-progress {
	position: fixed;
	top: 0;
	left: 0;
	height: 3px;
	width: 0;
	background: var(--bwa-accent);
	z-index: 100000;
	transition: width .1s linear;
}
body.admin-bar .bwa-progress { top: 32px; }

/* ---------- Responsive ---------- */
@media (max-width: 940px) {
	.entry-content { font-size: 17px; }
	.smart-head-main .smart-head-bot .navigation-main .menu > li > a { font-size: 13px; }
}
@media (max-width: 767px) {
	.entry-content { font-size: 16.5px; line-height: 1.7; }
	.entry-content blockquote { font-size: 19px; padding: 18px 20px; }
	.bwa-top { right: 14px; bottom: 16px; width: 40px; height: 40px; }
	body.admin-bar .bwa-progress { top: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	.bwa-reveal { opacity: 1; transform: none; transition: none; }
	.l-post .image-link img, .l-post .media img { transition: none; }
	.l-post:hover .image-link img, .l-post:hover .media img { transform: none; }
}
