/* ==========================================================================
   Single Post - Page Banner (title + breadcrumb + meta)
   ========================================================================== */
.page-banner{
	position:relative;
	padding-top:calc(var(--header-height) + 70px);
	padding-bottom:60px;
	background-color:var(--color-bg-soft);
	background-image:var(--page-banner-bg);
	background-size:cover;
	background-position:center;
	overflow:hidden;
}

.page-banner__overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg, rgba(255,255,255,0.82) 0%, rgba(255,255,255,0.9) 100%);
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
	z-index:1;
	opacity: 0.9;
}

.page-banner__inner{
	position:relative;
	z-index:2;
	max-width:1240px;
}

.page-banner__breadcrumb{
	font-family:var(--font-body);
	font-size:14px;
	margin-bottom:16px;
}

.page-banner__breadcrumb a{
	color:var(--color-text-muted);
	transition:color .25s ease;
}

.page-banner__breadcrumb a:hover{
	color:var(--color-gold-dark);
}

.page-banner__separator{
	margin:0 8px;
	color:var(--color-text-muted);
}

.page-banner__current{
	color:var(--color-gold-dark);
	font-weight:600;
}

.page-banner__title{
	font-family:var(--font-heading);
	font-size:clamp(30px, 4vw, 46px);
	font-weight:600;
	line-height:1.2;
	color:var(--color-black);
	margin:0 0 16px;
}

.page-banner__meta{
	display:flex;
	align-items:center;
	gap:8px;
	font-family:var(--font-body);
	font-size:14px;
	color:var(--color-text-muted);
}

/* When a background image is present, keep text dark/gold since the overlay is a light haze */
.page-banner[style*="--page-banner-bg"] .page-banner__breadcrumb a,
.page-banner[style*="--page-banner-bg"] .page-banner__separator,
.page-banner[style*="--page-banner-bg"] .page-banner__meta{
	color:var(--color-text-muted);
}

.page-banner[style*="--page-banner-bg"] .page-banner__current{
	color:var(--color-gold-dark);
}

.page-banner[style*="--page-banner-bg"] .page-banner__title{
	color:var(--color-black);
}

.page-banner[style*="--page-banner-bg"] .page-banner__meta-dot{
	color:var(--color-gold);
}

@media (max-width: 768px){

	.page-banner{
		padding-top:calc(var(--header-height) + 40px);
		padding-bottom:44px;
	}
}


/* ==========================================================================
   Single Post - Content + Sidebar
   ========================================================================== */
.single-post{
	background:var(--color-bg);
}

.single-post__grid{
	display:grid;
	grid-template-columns:1fr 340px;
	gap:64px;
	align-items:start;
	padding: 50px 12px;
}

/* ---- Post content typography ---- */
.single-post__content{
	font-family:var(--font-body);
	font-size:16.5px;
	line-height:1.85;
	color:var(--color-text);
	min-width:0;
}

.single-post__content > *:first-child{
	margin-top:0;
}

.single-post__content p{
	margin:0 0 24px;
}

.single-post__content h2{
	font-family:var(--font-heading);
	font-size:28px;
	font-weight:600;
	color:var(--color-black);
	margin:44px 0 18px;
	line-height:1.3;
}

.single-post__content h3{
	font-family:var(--font-heading);
	font-size:22px;
	font-weight:600;
	color:var(--color-black);
	margin:36px 0 16px;
	line-height:1.35;
}

.single-post__content img{
	width:100%;
	height:auto;
	border-radius:6px;
	margin:32px 0;
}

.single-post__content blockquote{
	margin:32px 0;
	padding:24px 28px;
	background:var(--color-bg-soft);
	border-left:3px solid var(--color-gold);
	border-radius:2px;
	font-family:var(--font-heading);
	font-size:19px;
	font-style:italic;
	font-weight:500;
	color:var(--color-black);
	line-height:1.5;
}

.single-post__content blockquote p{
	margin:0;
}

.single-post__content ul,
.single-post__content ol{
	margin:0 0 24px;
	padding-left:22px;
}

.single-post__content li{
	margin-bottom:10px;
}

.single-post__content a{
	color:var(--color-gold-dark);
	text-decoration:underline;
	text-underline-offset:2px;
}

.single-post__content a:hover{
	color:var(--color-black);
}

/* ---- Sidebar shared ---- */
.single-post__sidebar{
	position:sticky;
	top:calc(var(--header-height) + 32px);
	display:flex;
	flex-direction:column;
	gap:24px;
}

/* ---- WhatsApp CTA card ---- */
.sidebar-cta{
	position:relative;
	background:linear-gradient(150deg, var(--color-black) 0%, #262420 100%);
	border-radius:12px;
	padding:32px 26px 30px;
	overflow:hidden;
}

.sidebar-cta::before{
	content:'';
	position:absolute;
	top:-60px;
	right:-60px;
	width:160px;
	height:160px;
	border-radius:50%;
	background:radial-gradient(circle, rgba(201,162,75,0.25) 0%, transparent 70%);
}

.sidebar-cta__heading{
	position:relative;
	font-family:var(--font-heading);
	font-size:22px;
	font-weight:600;
	line-height:1.3;
	color:#fff;
	margin:0 0 12px;
}

.sidebar-cta__heading span{
	color:var(--color-gold);
}

.sidebar-cta__desc{
	position:relative;
	font-family:var(--font-body);
	font-size:14px;
	line-height:1.7;
	color:rgba(255,255,255,0.68);
	margin:0 0 24px;
}

.sidebar-cta__btn{
	position:relative;
	display:flex;
	align-items:center;
	gap:12px;
	background:var(--color-gold);
	border-radius:8px;
	padding:14px 18px;
	transition:background .3s ease, transform .3s ease;
}

.sidebar-cta__btn:hover{
	background:#fff;
	transform:translateY(-2px);
}

.sidebar-cta__icon{
	display:flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	border-radius:50%;
	background:var(--color-black);
	color:var(--color-gold);
	flex-shrink:0;
}

.sidebar-cta__number{
	font-family:var(--font-heading);
	font-size:15.5px;
	font-weight:700;
	color:var(--color-black);
	letter-spacing:0.01em;
}

/* ---- Related posts ---- */
.sidebar-related{
	background:var(--color-bg-soft);
	border:1px solid var(--color-border);
	border-radius:12px;
	padding:26px 24px;
}

.sidebar-related__heading{
	font-family:var(--font-heading);
	font-size:17px;
	font-weight:600;
	color:var(--color-black);
	margin:0 0 20px;
}

.sidebar-related__list{
	display:flex;
	flex-direction:column;
	gap:18px;
}

.related-item{
	display:flex;
	align-items:center;
	gap:14px;
}

.related-item__image{
	position:relative;
	flex-shrink:0;
	width:64px;
	height:64px;
	border-radius:6px;
	overflow:hidden;
	background:var(--color-bg);
}

.related-item__image img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .4s ease;
}

.related-item:hover .related-item__image img{
	transform:scale(1.08);
}

.related-item__body{
	min-width:0;
}

.related-item__date{
	display:block;
	font-family:var(--font-body);
	font-size:12px;
	color:var(--color-gold-dark);
	margin-bottom:4px;
}

.related-item__title{
	font-family:var(--font-heading);
	font-size:14.5px;
	font-weight:600;
	line-height:1.4;
	color:var(--color-black);
	margin:0;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	transition:color .25s ease;
}

.related-item:hover .related-item__title{
	color:var(--color-gold-dark);
}

/* ==========================================================================
   Responsive - Single Post
   ========================================================================== */
@media (max-width: 1024px){

	.single-post{
		padding:56px 0 80px;
	}

	.single-post__grid{
		gap:44px;
		grid-template-columns:1fr 300px;
	}
}

@media (max-width: 860px){

	.single-post__grid{
		grid-template-columns:1fr;
	}

	.single-post__sidebar{
		position:static;
		flex-direction:row;
		flex-wrap:wrap;
	}

	.sidebar-cta,
	.sidebar-related{
		flex:1 1 280px;
	}
}

@media (max-width: 600px){

	.single-post{
		padding:44px 0 64px;
	}

	.single-post__content{
		font-size:15.5px;
	}

	.single-post__content h2{
		font-size:24px;
	}

	.single-post__content h3{
		font-size:19px;
	}

	.single-post__sidebar{
		flex-direction:column;
	}
}