/* ==========================================================
   Insights Journal — Warm Neutral Editorial Styles
   ========================================================== */

:root{
	--ij-bg:#FBF7F2;
	--ij-card-bg:#FFFFFF;
	--ij-ink:#1E1B18;
	--ij-muted:#7A736C;
	--ij-accent:#A9764C;
	--ij-accent-light:#F1E4D6;
	--ij-border:#E9E1D8;
	--ij-radius-lg:20px;
	--ij-radius-md:14px;
	--ij-serif:'Playfair Display', 'Didot', 'Bodoni MT', 'Noto Serif', 'Georgia', serif;
	--ij-sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
}

/* -------------------- Hello Elementor Overrides -------------------- */
body.ij-insights-page,
body.ij-insights-page #page,
body.ij-insights-page .site {
	background-color: var(--ij-bg) !important;
}

body.ij-insights-page #page,
body.ij-insights-page .site,
body.ij-insights-page #content,
body.ij-insights-page .site-content,
body.ij-insights-page .site-content .container,
body.ij-insights-page #content.site-main,
body.ij-insights-page .site-main,
body.ij-insights-page main.site-main,
body.ij-insights-page #primary,
body.ij-insights-page .content-area {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.ij-insights-page .site-main article.ij-single,
body.ij-insights-page .site-main .ij-archive-wrap {
	background-color: var(--ij-bg) !important;
}

/* -------------------- Archive wrapper -------------------- */
.ij-archive-wrap{
	width:100%;
	background:var(--ij-bg);
	font-family:var(--ij-sans) !important;
	color:var(--ij-ink);
}

.ij-archive-container{
	max-width:1300px;
	margin:0 auto;
	padding:80px 40px 100px;
}

.ij-hero h1{
	font-family:var(--ij-serif) !important;
	font-weight:500 !important;
	font-size:clamp(36px,5vw,52px) !important;
	margin:0 0 16px;
	letter-spacing:-0.02em !important;
	line-height:1.15 !important;
}

.ij-hero p{
	max-width:620px;
	color:var(--ij-muted);
	font-size:16px;
	line-height:1.6;
	margin:0 0 40px;
}

/* -------------------- Controls -------------------- */
.ij-controls{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding-bottom:28px;
	border-bottom:1px solid var(--ij-border);
	margin-bottom:36px;
}

.ij-tabs{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}

.ij-tab{
	font-family:var(--ij-sans) !important;
	font-size:12.5px;
	font-weight:600;
	letter-spacing:.03em;
	padding:10px 18px;
	border-radius:999px;
	border:1px solid var(--ij-border);
	background:#fff;
	color:var(--ij-ink);
	cursor:pointer;
	transition:all .18s ease;
	white-space:nowrap;
}
.ij-tab:hover{ border-color:var(--ij-accent); }
.ij-tab.active{
	background:var(--ij-ink);
	border-color:var(--ij-ink);
	color:#fff;
}

.ij-search-sort{
	display:flex;
	gap:12px;
	flex-wrap:wrap;
	align-items:center;
}

.ij-search{
	display:flex;
	align-items:center;
	gap:8px;
	background:#fff;
	border:1px solid var(--ij-border);
	border-radius:999px;
	padding:10px 16px;
	min-width:230px;
	color:var(--ij-muted);
}
.ij-search input{
	border:none;
	outline:none;
	background:transparent;
	font-size:14px;
	font-family:var(--ij-sans) !important;
	color:var(--ij-ink);
	width:100%;
}
.ij-search input::placeholder{ color:var(--ij-muted); }

#ij-sort{
	border:1px solid var(--ij-border);
	border-radius:999px;
	padding:10px 16px;
	background:#fff;
	font-size:13px;
	font-family:var(--ij-sans) !important;
	color:var(--ij-ink);
	cursor:pointer;
}

/* -------------------- Results / Grid -------------------- */
#ij-results{
	transition:opacity .2s ease;
	min-height:200px;
}
#ij-results.ij-loading{ opacity:.4; pointer-events:none; }

.ij-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:28px;
}

.ij-card{
	background:var(--ij-card-bg);
	border-radius:var(--ij-radius-lg);
	overflow:hidden;
	display:flex;
	flex-direction:column;
	box-shadow:0 1px 2px rgba(20,15,10,.04);
	transition:transform .2s ease, box-shadow .2s ease;
}
.ij-card:hover{
	transform:translateY(-3px);
	box-shadow:0 12px 24px rgba(20,15,10,.08);
}

.ij-card-img{
	display:block;
	width:100%;
	aspect-ratio:4/3;
	background-size:cover;
	background-position:center;
}

.ij-card-body{
	padding:22px 22px 24px;
	position:relative;
}

.ij-card-meta{
	font-size:11.5px;
	font-weight:600;
	letter-spacing:.04em;
	color:var(--ij-accent);
	margin-bottom:10px;
}
.ij-card-meta .ij-dot{ margin:0 4px; color:var(--ij-muted); }

.ij-card-title{
	font-family:var(--ij-serif) !important;
	font-size:22px !important;
	font-weight:500 !important;
	line-height:1.3 !important;
	letter-spacing:-0.01em !important;
	margin:0 0 10px;
}
.ij-card-title a{ color:var(--ij-ink); text-decoration:none; }
.ij-card-title a:hover{ color:var(--ij-accent); }

.ij-card-excerpt{
	font-size:14px;
	line-height:1.6;
	color:var(--ij-muted);
	margin:0 0 18px;
	padding-right:36px;
}

.ij-card-arrow{
	position:absolute;
	right:22px;
	bottom:22px;
	width:36px;
	height:36px;
	border-radius:50%;
	border:1px solid var(--ij-accent);
	color:var(--ij-accent);
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	transition:all .18s ease;
}
.ij-card-arrow:hover{ background:var(--ij-accent); color:#fff; }

.ij-no-results{
	text-align:center;
	padding:60px 20px;
	color:var(--ij-muted);
	font-size:15px;
}

/* -------------------- Pagination -------------------- */
.ij-pagination{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:8px;
	margin-top:48px;
}
.ij-page-btn{
	min-width:38px;
	height:38px;
	border-radius:50%;
	border:1px solid var(--ij-border);
	background:#fff;
	color:var(--ij-ink);
	font-size:13px;
	font-family:var(--ij-sans) !important;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	transition:all .18s ease;
}
.ij-page-btn:hover:not(:disabled){ border-color:var(--ij-accent); color:var(--ij-accent); }
.ij-page-btn.active{ background:var(--ij-ink); border-color:var(--ij-ink); color:#fff; }
.ij-page-btn:disabled{ opacity:.35; cursor:not-allowed; }

/* ============================================================
   SINGLE POST TEMPLATE
   ============================================================ */
.ij-single{ background:var(--ij-bg); padding:80px 40px 120px; }
.ij-single-container{
	max-width:1300px !important;
	margin:0 auto;
	font-family:var(--ij-sans) !important;
	color:var(--ij-ink);
}

.ij-single-cat{
	font-size:11px !important;
	font-weight:600 !important;
	letter-spacing:0.12em !important;
	color:var(--ij-accent);
	text-transform:uppercase;
	margin:0 0 16px;
}

.ij-single-title{
	font-family:var(--ij-serif) !important;
	font-size:clamp(34px,4.5vw,45px) !important;
	font-weight:500 !important;
	line-height:1.15 !important;
	letter-spacing:-0.02em !important;
	margin:0 0 20px;
    max-width:1300px !important;
}

.ij-single-subtitle{
	font-family:var(--ij-serif) !important;
	font-size:18px !important;
	font-style:italic !important;
	color:var(--ij-muted) !important;
	line-height:1.65 !important;
	max-width:680px;
	margin:0 0 24px;
}

.ij-single-meta{
	display:flex;
	gap:20px;
	align-items:center;
	font-size:13.5px;
	color:var(--ij-muted);
	padding-bottom:28px;
	margin-bottom:32px;
	border-bottom:1px solid var(--ij-border);
}
.ij-single-meta span{ display:flex; align-items:center; gap:6px; }

.ij-single-featured-image{
	width:100%;
	aspect-ratio:16/9;
	border-radius:var(--ij-radius-lg);
	background-size:cover;
	background-position:center;
	margin-bottom:40px;
}

.ij-single-content{
	font-size:17.5px !important;
	line-height:1.85 !important;
	color:#2E2A25 !important;
	letter-spacing:-0.005em !important;
}
.ij-single-content p{ margin:0 0 28px; }
.ij-single-content h2{
	font-family:var(--ij-serif) !important;
	font-size:28px !important;
	font-weight:500 !important;
	letter-spacing:-0.015em !important;
	margin:44px 0 20px;
}
.ij-single-content img{ max-width:100%; border-radius:var(--ij-radius-md); }
.ij-single-content ol{ margin:0 0 28px; padding-left:0; list-style:none; counter-reset:ij-counter; }
.ij-single-content ol li{
	counter-increment:ij-counter;
	position:relative;
	padding-left:44px;
	margin-bottom:16px;
	line-height:1.5;
}
.ij-single-content ol li::before{
	content:counter(ij-counter);
	position:absolute;
	left:0; top:0;
	width:26px; height:26px;
	background:var(--ij-accent);
	color:#fff;
	border-radius:50%;
	font-size:12px;
	font-weight:700;
	display:flex; align-items:center; justify-content:center;
}

/* Drop cap on first paragraph */
.ij-single-content > p:first-of-type::first-letter{
	font-family:var(--ij-serif) !important;
	float:left;
	font-size:64px;
	line-height:.85;
	padding:6px 10px 0 0;
	font-weight:600;
	color:var(--ij-ink);
}

/* Pull quote block */
.ij-quote-block{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	background:var(--ij-accent-light);
	border-radius:var(--ij-radius-lg);
	padding:32px 36px;
	margin:36px 0;
}
.ij-quote-block blockquote{
	margin:0;
	font-family:var(--ij-serif) !important;
	font-style:italic;
	font-size:21px;
	line-height:1.5;
	color:var(--ij-ink);
	flex:1;
}
.ij-quote-img{
	width:110px;
	height:90px;
	border-radius:var(--ij-radius-md);
	background-size:cover;
	background-position:center;
	flex-shrink:0;
}

/* Share row */
.ij-single-share{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:28px 0;
	margin-top:20px;
	border-top:1px solid var(--ij-border);
	font-size:13.5px;
	color:var(--ij-muted);
}
.ij-share-icons{ display:flex; gap:10px; }
.ij-share-icons a{
	width:34px; height:34px;
	border-radius:50%;
	border:1px solid var(--ij-border);
	display:flex; align-items:center; justify-content:center;
	color:var(--ij-ink);
	text-decoration:none;
	transition:all .18s ease;
}
.ij-share-icons a:hover{ border-color:var(--ij-accent); color:var(--ij-accent); }

/* Related posts */
.ij-related{ max-width:1200px; margin:64px auto 0; padding:0 0; }
.ij-related h2{
	font-family:var(--ij-serif) !important;
	font-size:26px;
	margin:0 0 28px;
}

/* -------------------- Responsive -------------------- */
@media (max-width: 980px){
	.ij-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 680px){
	.ij-archive-container{ padding:48px 24px 80px; }
	.ij-grid{ grid-template-columns:1fr; }
	.ij-controls{ flex-direction:column; align-items:flex-start; }
	.ij-search-sort{ width:100%; }
	.ij-search{ flex:1; min-width:0; }
	#ij-sort{ flex:1; }
	.ij-single{ padding:48px 24px 80px; }
	.ij-quote-block{ flex-direction:column; text-align:center; }
	.ij-single-meta{ flex-wrap:wrap; gap:12px; }
}