/*
Theme Name: AIM Publications
Theme URI: https://www.aim.co.zw/
Author: Africa Insurance Magazine
Description: Premium editorial publication theme for Africa Insurance Magazine.
Version: 1.1.0
Requires at least: 6.4
Requires PHP: 8.2
Text Domain: aim-publications
*/
:root{--aim-navy:#0d3763;--aim-dark:#061a32;--aim-red:#ed1c24;--aim-text:#152238;--aim-muted:#667085;--aim-soft:#f4f6f8;--aim-border:#dfe4ea;--aim-white:#fff;--aim-radius:6px;--aim-shadow:0 16px 40px rgba(6,26,50,.1);--aim-max:1320px;--aim-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--aim-text);font-family:var(--aim-font);font-size:16px;line-height:1.65;background:#fff}img{display:block;max-width:100%;height:auto}a{color:var(--aim-navy);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}.aim-container,.container{width:min(calc(100% - 40px),var(--aim-max));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-80px;z-index:9999;background:#fff;padding:12px 18px}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffbd00;outline-offset:3px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.98);border-bottom:1px solid var(--aim-border);backdrop-filter:blur(10px)}.header-inner{height:82px;display:flex;align-items:center;gap:30px}.site-branding{flex:0 0 auto}.custom-logo{max-height:58px;width:auto}.site-title{display:flex;align-items:center;gap:10px;color:var(--aim-dark);font-size:11px;font-weight:800;line-height:1.15;text-transform:uppercase;letter-spacing:.04em}.aim-wordmark{font-size:43px;line-height:1;color:var(--aim-navy);letter-spacing:-.08em;text-transform:lowercase}.primary-nav{margin-left:auto}.primary-nav ul,.mobile-menu ul{list-style:none;margin:0;padding:0}.primary-nav>ul{display:flex;align-items:center;gap:24px}.primary-nav a{display:block;color:var(--aim-dark);font-size:14px;font-weight:750}.primary-nav .current-menu-item>a{color:var(--aim-red)}.primary-nav li{position:relative}.primary-nav .sub-menu{display:none;position:absolute;left:-18px;top:100%;min-width:240px;background:#fff;border:1px solid var(--aim-border);box-shadow:var(--aim-shadow);padding:12px}.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:block}.primary-nav .sub-menu a{padding:8px}.header-actions{display:flex;align-items:center;gap:12px}.icon-link{font-size:30px;line-height:1}.menu-toggle{display:none;border:0;background:transparent;font-size:28px}.mobile-menu{padding:12px 20px 24px;border-top:1px solid var(--aim-border)}.mobile-menu a{display:block;padding:11px 0;border-bottom:1px solid var(--aim-border)}
.aim-button,.btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border:1px solid var(--aim-red);border-radius:3px;padding:11px 19px;background:var(--aim-red);color:#fff;font-weight:800;line-height:1.1;cursor:pointer}.aim-button:hover,.btn:hover{background:#c9131a;color:#fff;text-decoration:none}.aim-button.compact{min-height:40px;padding:8px 15px;font-size:14px}.btn-outline{border-color:#fff;background:transparent}.btn-outline:hover{background:#fff;color:var(--aim-dark)}.eyebrow,.card-kicker{display:block;margin:0 0 10px;color:var(--aim-red);font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.hero{position:relative;min-height:610px;display:flex;align-items:flex-end;background:linear-gradient(90deg,rgba(6,26,50,.95),rgba(6,26,50,.2)),var(--hero-image) center/cover no-repeat;color:#fff}.hero-content{max-width:770px;padding:110px 0 80px}.hero h1{margin:0 0 20px;font-size:clamp(2.6rem,5.6vw,5.1rem);line-height:.98;letter-spacing:-.04em}.hero p{max-width:670px;font-size:19px;color:#e8edf3}.section{padding:80px 0}.section-soft{background:var(--aim-soft)}.section-navy{background:var(--aim-dark);color:#fff}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px;border-bottom:1px solid var(--aim-border);padding-bottom:15px}.section-heading h2,.section h2{margin:0;font-size:clamp(2rem,3vw,3.1rem);line-height:1.05;letter-spacing:-.035em}.section-heading a{font-weight:800}.cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.news-layout{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(280px,.8fr);gap:52px}.card{background:#fff;border:1px solid var(--aim-border);overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:var(--aim-shadow)}.card-media{aspect-ratio:16/10;background:var(--aim-soft);overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover}.card-body{padding:22px}.card h3{margin:0 0 14px;font-size:21px;line-height:1.2}.card h3 a{color:var(--aim-dark)}.card-meta{color:var(--aim-muted);font-size:13px}.trending{border-top:4px solid var(--aim-red)}.trending h3{font-size:24px}.trending-item{display:grid;grid-template-columns:50px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--aim-border)}.trending-item a{color:var(--aim-dark);font-weight:800;line-height:1.3}.trending-num{color:var(--aim-red);font-size:26px;font-weight:900}.magazine-feature{display:grid;grid-template-columns:minmax(220px,.8fr) 1.5fr 1fr;align-items:center;gap:60px}.magazine-cover{width:100%;max-height:540px;object-fit:contain;filter:drop-shadow(0 18px 30px rgba(0,0,0,.3))}.section-navy .card-meta{color:#b8c6d4}.section-navy p{color:#d7e0e8}.interviews-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px}.report-card,.event-card{display:flex;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--aim-border)}
.page-hero{padding:90px 0 70px;background:var(--aim-dark);color:#fff}.page-hero h1{max-width:920px;margin:0 0 18px;font-size:clamp(2.7rem,5vw,5rem);line-height:1}.page-hero p{max-width:800px;color:#d9e2eb;font-size:19px}.content-shell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;padding:70px 0}.entry-content{max-width:780px}.entry-content>*{margin-top:0;margin-bottom:1.45em}.entry-content h2,.entry-content h3{line-height:1.16}.entry-content h2{font-size:2.2rem;margin-top:1.6em}.entry-content blockquote{margin-inline:0;padding:20px 30px;border-left:5px solid var(--aim-red);font-size:1.4rem;color:var(--aim-navy)}.entry-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.entry-content th,.entry-content td{padding:12px;border:1px solid var(--aim-border)}.breadcrumbs{display:flex;gap:10px;margin-bottom:25px;color:var(--aim-muted);font-size:13px}.article-deck{font-size:1.25rem;color:var(--aim-muted)}.article-meta{display:flex;flex-wrap:wrap;gap:12px 25px;padding:18px 0;border-block:1px solid var(--aim-border);font-size:14px}.article-featured{margin:40px 0}.share-links{display:flex;gap:8px}.share-links a{padding:8px 12px;border:1px solid var(--aim-border)}.author-box{padding:24px;background:var(--aim-soft)}.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:35px}.page-numbers{padding:9px 14px;border:1px solid var(--aim-border)}.page-numbers.current{background:var(--aim-navy);color:#fff}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.cover-grid .card-media{aspect-ratio:3/4}.filters{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:12px;padding:24px;margin-bottom:35px;background:var(--aim-soft)}.filters label{font-size:12px;font-weight:800}.filters input,.filters select,.aim-form input,.aim-form select,.aim-form textarea{width:100%;min-height:46px;border:1px solid #aab4c1;border-radius:3px;background:#fff;padding:10px 12px}.empty-state{padding:50px;text-align:center;background:var(--aim-soft)}
.aim-form{position:relative}.aim-form label{display:block;margin-bottom:16px;font-weight:700}.aim-form label span{font-weight:400;color:var(--aim-muted)}.aim-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.aim-check{font-weight:400!important}.aim-check input{width:auto;min-height:auto}.aim-hp{position:absolute;left:-9999px}.aim-notice{padding:12px 16px;border-left:4px solid var(--aim-navy);background:var(--aim-soft);margin-bottom:15px}.aim-notice-success{border-color:#198754}.aim-notice-error{border-color:var(--aim-red)}.newsletter-band{padding:58px 0;background:var(--aim-navy);color:#fff}.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.newsletter-band h2{margin:0;font-size:2.5rem}.newsletter-band p{color:#d4dfeb}.newsletter-band .aim-form{display:grid;grid-template-columns:1fr 1.4fr auto;gap:12px;align-items:end}.newsletter-band .aim-check{grid-column:1/-1}.newsletter-band label{margin:0}.site-footer{padding:70px 0 25px;background:var(--aim-dark);color:#b9c5d1}.site-footer a{color:#fff}.site-footer ul{list-style:none;margin:10px 0 0;padding:0}.site-footer li{margin:8px 0}.site-footer h2{font-size:15px;color:#fff;text-transform:uppercase;letter-spacing:.1em}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:50px}.footer-brand{color:#fff;font-size:68px;font-weight:900;letter-spacing:-.09em;line-height:1}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:50px;padding-top:22px;border-top:1px solid #26415e;font-size:13px}
@media(max-width:1050px){.primary-nav{display:none}.menu-toggle{display:block}.news-layout,.magazine-feature{grid-template-columns:1fr}.magazine-cover{max-height:450px}.interviews-grid{grid-template-columns:repeat(2,1fr)}.archive-grid{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.aim-container,.container{width:min(calc(100% - 28px),var(--aim-max))}.header-inner{height:68px;gap:12px}.site-title span:last-child{display:none}.aim-wordmark{font-size:38px}.header-actions .compact{padding:8px 10px}.hero{min-height:520px}.hero-content{padding:80px 0 55px}.section{padding:55px 0}.cards-grid,.interviews-grid,.two-col,.archive-grid,.content-shell,.newsletter-inner,.footer-grid{grid-template-columns:1fr}.news-layout{gap:35px}.magazine-feature{gap:32px}.filters,.aim-form-grid{grid-template-columns:1fr}.newsletter-band .aim-form{grid-template-columns:1fr}.newsletter-inner{gap:25px}.content-shell{gap:30px}.footer-bottom{flex-direction:column}.header-actions{gap:7px}.icon-link{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.site-header,.site-footer,.newsletter-band,.share-links,.sidebar{display:none!important}.content-shell{display:block}.entry-content{max-width:none}a{color:#000;text-decoration:none}.article-featured{max-width:75%}}

/* Homepage advertisements */
.aim-ad-section{padding:36px 0;background:#fff}.aim-ad-label{margin:0 0 10px;color:var(--aim-muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.aim-ad-slider{position:relative;overflow:hidden;background:var(--aim-soft);border:1px solid var(--aim-border)}.aim-ad-slide{display:none}.aim-ad-slide.is-active{display:block}.aim-ad-slide a,.aim-ad-slide>div{display:block}.aim-ad-slide img{width:100%;aspect-ratio:16/4.2;object-fit:cover}.aim-ad-controls{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:8px;padding:6px;border-radius:999px;background:rgba(6,26,50,.82)}.aim-ad-arrow,.aim-ad-dot{border:0;background:transparent;color:#fff;cursor:pointer}.aim-ad-arrow{width:34px;height:34px;font-size:22px;line-height:1}.aim-ad-dots{display:flex;gap:6px}.aim-ad-dot{width:10px;height:10px;padding:0;border:1px solid #fff;border-radius:50%}.aim-ad-dot.is-active{background:#fff}.aim-square-ads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.aim-square-ad{position:relative;overflow:hidden;border:1px solid var(--aim-border);background:var(--aim-soft)}.aim-square-ad a,.aim-square-ad>div{display:block}.aim-square-ad img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .25s ease}.aim-square-ad:hover img{transform:scale(1.025)}
@media(max-width:900px){.aim-square-ads{grid-template-columns:repeat(2,minmax(0,1fr))}.aim-ad-slide img{aspect-ratio:16/5.5}}
@media(max-width:520px){.aim-ad-section{padding:24px 0}.aim-square-ads{grid-template-columns:1fr}.aim-ad-slide img{aspect-ratio:16/7}.aim-ad-controls{right:8px;bottom:8px}}

.mobile-menu[hidden] {
	display: none !important;
}

.mobile-menu {
	background: var(--aim-white);
	max-height: calc(100vh - 68px);
	overflow-y: auto;
	box-shadow: 0 15px 30px rgba(6, 26, 50, 0.12);
}

.mobile-menu .aim-container {
	width: min(calc(100% - 28px), var(--aim-max));
}

.mobile-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-menu li {
	margin: 0;
}

.mobile-menu a {
	display: block;
	padding: 14px 0;
	color: var(--aim-dark);
	font-weight: 750;
	border-bottom: 1px solid var(--aim-border);
}

.mobile-menu .sub-menu {
	padding-left: 18px;
	background: var(--aim-soft);
}

.mobile-menu .sub-menu a {
	padding-left: 12px;
	font-size: 14px;
}

.menu-toggle {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--aim-dark);
}

body.mobile-menu-open {
	overflow: hidden;
}

@media (max-width: 1050px) {
	.menu-toggle {
		display: inline-flex;
	}
}

@media (min-width: 1051px) {
	.mobile-menu {
		display: none !important;
	}
}

.menu-toggle-icon {
	display: block;
	font-family: Arial, sans-serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	transition: transform 0.2s ease;
}

.menu-toggle[aria-expanded="true"] .menu-toggle-icon {
	transform: rotate(90deg);
}

.menu-toggle[aria-expanded="true"] {
	color: var(--aim-red);
	background: var(--aim-soft);
	border-radius: 50%;
}

@media (max-width: 1050px) {
	.mobile-menu:not([hidden]) {
		display: block;
	}
}

/* Mobile header alignment */
@media (max-width: 768px) {

	.site-header .header-inner,
	.site-header .container,
	.site-header .header-content {
		display: flex;
		align-items: center;
		width: 100%;
	}

	/* Keep logo on the left */
	.site-header .custom-logo-link,
	.site-header .site-branding {
		margin-right: auto;
		flex-shrink: 0;
	}

	/* Group search, subscribe and menu on the right */
	.site-header .header-actions,
	.site-header .mobile-header-actions {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 14px;
		margin-left: auto;
	}

	/* Prevent the logo from becoming too large */
	.site-header .custom-logo {
		display: block;
		width: auto;
		max-width: 155px;
		height: auto;
	}

	/* Keep the hamburger at the far right */
	.site-header .menu-toggle {
		margin-left: 0;
		flex-shrink: 0;
	}

	/* Match header edges with the page content */
	.header-inner {
		padding-inline: 24px;
	}
}

/* Article card captions */
.card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--aim-white);
	border: 1px solid var(--aim-border);
	overflow: hidden;
}

.card .card-media {
	display: block;
	width: 100%;
	flex-shrink: 0;
	aspect-ratio: 16 / 10;
	background: var(--aim-soft);
	overflow: hidden;
}

.card .card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.card .card-body {
	display: block;
	position: static;
	visibility: visible;
	opacity: 1;
	height: auto;
	max-height: none;
	overflow: visible;
	padding: 20px 22px 22px;
	background: var(--aim-white);
	color: var(--aim-text);
}

.card .card-kicker {
	display: block;
	margin: 0 0 9px;
	color: var(--aim-red);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: 0.13em;
	line-height: 1.3;
	text-transform: uppercase;
}

.card .card-body h3 {
	display: block;
	margin: 0 0 12px;
	font-size: 21px;
	line-height: 1.25;
}

.card .card-body h3 a {
	color: var(--aim-dark);
	text-decoration: none;
}

.card .card-body h3 a:hover {
	color: var(--aim-red);
	text-decoration: none;
}

.card .card-meta {
	display: block;
	color: var(--aim-muted);
	font-size: 13px;
	line-height: 1.4;
}

/* Executive interview cards */
.interviews-grid .card-media {
	aspect-ratio: 4 / 3;
}

.interviews-grid .card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 700px) {

	.card .card-body {
		padding: 17px 18px 20px;
	}

	.card .card-body h3 {
		font-size: 19px;
	}

	.card .card-kicker {
		font-size: 11px;
	}

	.card .card-meta {
		font-size: 12px;
	}
}
