/* =======================================================================
   INTACT Single Post — css/single.css
   Scoped under .intact-single so it never leaks into the rest of the site.
   ======================================================================= */

.intact-single{
	--red:#BD1F08;
	--red-dark:#9C1A06;
	--black:#0E0E0E;
	--line-light:#E4E1D9;
	--gray-text:#5A5A57;
	--off-white:#F5F3EF;
	--off-white-2:#F0EEE7;
	--radius:10px;
	font-family:'Poppins',sans-serif;
	color:var(--black);
	background:#fff;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
	width:100%;
}
.intact-single *,
.intact-single *::before,
.intact-single *::after{ box-sizing:border-box; font-family:'Poppins',sans-serif; }
.intact-single img{ max-width:100%; display:block; border:0; }
.intact-single a{ text-decoration:none; color:inherit; }
.intact-single p{ margin:0 0 14px; color:var(--gray-text); }
.intact-single ul{ list-style:none; margin:0; padding:0; }

.intact-single-wrap{ max-width:1180px; margin:0 auto; padding:0 24px; width:100%; }

/* ---------- Buttons (shared look with blog.css) ---------- */
.intact-btn{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:13px 26px;
	border-radius:8px;
	font-weight:700;
	font-size:13.5px;
	letter-spacing:.02em;
	white-space:nowrap;
	border:none;
	cursor:pointer;
}
.intact-btn span{ display:inline-flex; }
.intact-btn-red{ background:var(--red); color:#fff; }
.intact-btn-red:hover{ background:var(--red-dark); }
.intact-btn-white{ background:#fff; color:var(--red); }
.intact-btn-white:hover{ background:var(--off-white); }
.intact-btn-black{ background:var(--black); color:#fff; }
.intact-btn-black:hover{ background:#000; }
.intact-btn-block{ width:100%; justify-content:center; }

/* ---------- Hero ---------- */
.intact-single-hero{
	background:var(--black);
	color:#fff;
	padding:24px 0 34px;
	border-radius:20px;
}
.intact-breadcrumb{
	font-size:12px;
	color:#C9C6BF;
	margin-bottom:18px;
	display:flex;
	gap:8px;
	flex-wrap:wrap;
}
.intact-breadcrumb a{ color:#C9C6BF; }
.intact-breadcrumb a:hover{ color:var(--red); }
.intact-breadcrumb span:last-child{ color:#fff; }

.intact-single-badge{
	display:inline-block;
	background:var(--red);
	color:#fff;
	font-size:11px;
	font-weight:700;
	letter-spacing:.06em;
	padding:6px 14px;
	border-radius:6px;
	margin-bottom:16px;
}
.intact-single-h1{
	font-size:clamp(24px,3.2vw,32px);
	font-weight:800;
	color:#fff;
	margin:0 0 16px;
	line-height:1.35;
	max-width:880px;
	text-transform:uppercase;
}
.intact-single-meta{
	display:flex;
	align-items:center;
	gap:20px;
	flex-wrap:wrap;
	font-size:13px;
	color:#C9C6BF;
}
.intact-single-meta span{ display:inline-flex; align-items:center; gap:6px; }
.intact-single-meta svg{ width:14px; height:14px; flex-shrink:0; }

/* ---------- Featured image ---------- */
.intact-single-feature{
	margin-top:10px;
	margin-bottom:30px;
	border-radius:var(--radius);
	overflow:hidden;
	box-shadow:0 20px 44px -22px rgba(14,14,14,.3);
	position:relative;
	z-index:2;
}
.intact-single-feature img{ width:100%; max-height:500px; object-fit:cover; }

/* ---------- Grid layout ---------- */
.intact-single-grid{
	display:grid;
	grid-template-columns:2fr 1fr;
	gap:36px;
	align-items:start;
	padding-bottom:56px;
}

/* ---------- Table of contents ---------- */
.intact-single-toc{
	background:var(--off-white);
	border-left:4px solid var(--red);
	border-radius:8px;
	padding:20px 24px;
	margin-bottom:32px;
}
.intact-single-toc-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:14px;
}
.intact-single-toc-title{
	display:inline-flex;
	align-items:center;
	gap:8px;
	font-weight:700;
	color:var(--black);
	font-size:15px;
}
.intact-single-toc-title svg{ width:16px; height:16px; color:var(--red); }
.intact-single-toc-toggle{
	border:none;
	background:none;
	color:var(--red);
	font-weight:600;
	font-size:13px;
	cursor:pointer;
}
.intact-single-toc-list{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px 24px;
}
.intact-single-toc-list a{
	display:flex;
	align-items:center;
	gap:10px;
	font-size:13.5px;
	color:var(--black);
	padding:4px 0;
}
.intact-single-toc-list a:hover{ color:var(--red); }
.intact-single-toc-num{
	flex-shrink:0;
	color:var(--red);
	font-weight:700;
	font-size:12.5px;
}

/* ---------- Article body ---------- */
.intact-single-content{ font-size:15px; color:var(--black); }
.intact-single-content h2{
	font-size:19px;
	font-weight:800;
	color:var(--black);
	margin:32px 0 12px;
	text-transform:uppercase;
	scroll-margin-top:24px;
}
.intact-single-content h2:first-child{ margin-top:0; }
.intact-single-content h3{
	font-size:16px;
	font-weight:700;
	color:var(--black);
	margin:22px 0 10px;
}
.intact-single-content p{ margin:0 0 16px; color:var(--gray-text); }
.intact-single-content ul,
.intact-single-content ol{ margin:0 0 18px; padding-left:0; }
.intact-single-content ul li{
	position:relative;
	padding-left:24px;
	margin-bottom:10px;
	color:var(--gray-text);
}
.intact-single-content ul li::before{
	content:"";
	position:absolute;
	left:0;
	top:8px;
	width:7px;
	height:7px;
	border-radius:2px;
	background:var(--red);
}
.intact-single-content ol{ counter-reset:intact-ol; }
.intact-single-content ol li{
	position:relative;
	padding-left:30px;
	margin-bottom:10px;
	color:var(--gray-text);
	counter-increment:intact-ol;
}
.intact-single-content ol li::before{
	content:counter(intact-ol);
	position:absolute;
	left:0;
	top:0;
	width:20px;
	height:20px;
	border-radius:5px;
	background:var(--red);
	color:#fff;
	font-size:11px;
	font-weight:700;
	display:flex;
	align-items:center;
	justify-content:center;
}
.intact-single-content img{ border-radius:8px; margin:18px 0; }
.intact-single-content a{ color:var(--red); font-weight:600; text-decoration:underline; }
.intact-single-content blockquote{
	border-left:4px solid var(--red);
	background:var(--off-white);
	padding:16px 20px;
	border-radius:6px;
	margin:20px 0;
	color:var(--black);
	font-style:italic;
}
.intact-single-content table{ width:100%; border-collapse:collapse; margin:20px 0; }
.intact-single-content table th{ background:var(--black); color:#fff; padding:12px 16px; text-align:left; font-size:13px; }
.intact-single-content table td{ padding:12px 16px; border-bottom:1px solid var(--line-light); font-size:13.5px; }

/* Optional inline CTA button inside article content (matches "Read Full
   Article" button in the reference design) — add this class to a
   button/link block in the editor if you want the same look. */
.intact-inline-cta{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:var(--red);
	color:#fff !important;
	font-weight:700;
	font-size:13.5px;
	padding:12px 24px;
	border-radius:8px;
	text-decoration:none !important;
	margin:8px 0 28px;
}
.intact-inline-cta:hover{ background:var(--red-dark); }

/* ---------- Share ---------- */
.intact-single-share{
	display:flex;
	align-items:center;
	gap:12px;
	margin:32px 0;
	padding-top:24px;
	border-top:1px solid var(--line-light);
	flex-wrap:wrap;
}
.intact-single-share-label{ font-weight:700; color:var(--black); font-size:14px; margin-right:4px; }
.intact-single-share a{
	width:34px;
	height:34px;
	border-radius:6px;
	background:var(--off-white);
	color:var(--black);
	display:flex;
	align-items:center;
	justify-content:center;
	transition:background .2s ease, color .2s ease;
}
.intact-single-share a svg{ width:15px; height:15px; }
.intact-single-share a:hover{ background:var(--red); color:#fff; }

/* ---------- Author box ---------- */
.intact-single-author{
	display:flex;
	gap:18px;
	align-items:flex-start;
	background:var(--off-white);
	border:1px solid var(--line-light);
	border-radius:var(--radius);
	padding:22px;
	margin-bottom:40px;
}
.intact-single-author-avatar{ border-radius:50%; width:60px; height:60px; flex-shrink:0; }
.intact-single-author-kicker{ display:block; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gray-text); margin-bottom:4px; }
.intact-single-author-name{ font-size:15px; font-weight:800; color:var(--red); margin:0 0 8px; }
.intact-single-author-bio{ font-size:13.5px; margin-bottom:0; }

/* ---------- Related articles ---------- */
.intact-single-related-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	margin-bottom:18px;
}
.intact-single-related-head h3{ font-size:17px; font-weight:800; color:var(--black); margin:0; text-transform:uppercase; }
.intact-single-related-nav{ display:flex; gap:8px; }
.intact-single-related-nav button{
	width:30px;
	height:30px;
	border-radius:6px;
	border:1px solid var(--line-light);
	background:#fff;
	color:var(--black);
	font-size:15px;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
}
.intact-single-related-nav button:hover{ border-color:var(--red); color:var(--red); }
.intact-single-related-track{
	display:grid;
	grid-auto-flow:column;
	grid-auto-columns:calc(25% - 15px);
	gap:20px;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	padding-bottom:6px;
	scrollbar-width:none;
}
.intact-single-related-track::-webkit-scrollbar{ display:none; }
.intact-single-related-card{
	scroll-snap-align:start;
	border:1px solid var(--line-light);
	border-radius:8px;
	overflow:hidden;
	background:#fff;
	display:flex;
	flex-direction:column;
}
.intact-single-related-media{ aspect-ratio:4/3; overflow:hidden; }
.intact-single-related-media img{ width:100%; height:100%; object-fit:cover; }
.intact-single-related-title{
	font-size:13px;
	font-weight:700;
	color:var(--black);
	padding:12px 14px 4px;
	line-height:1.4;
	text-transform:uppercase;
}
.intact-single-related-date{
	display:flex;
	align-items:center;
	gap:6px;
	font-size:11px;
	color:var(--gray-text);
	padding:0 14px 14px;
}
.intact-single-related-date svg{ width:12px; height:12px; }

/* ---------- Sidebar (shared with blog.css) ---------- */
.intact-single-sidebar{ display:flex; flex-direction:column; gap:22px; }
.intact-widget{
	background:#fff;
	border:1px solid var(--line-light);
	border-radius:var(--radius);
	padding:22px;
	margin-top:10px;
}
.intact-widget-title{
	font-size:14px;
	font-weight:800;
	letter-spacing:.03em;
	text-transform:uppercase;
	color:var(--black);
	margin:0 0 6px;
	padding-bottom:12px;
	border-bottom:2px solid var(--red);
	display:block;
}

.intact-cat-list{ margin-top:12px; }
.intact-cat-list li + li{ border-top:1px solid var(--line-light); }
.intact-cat-list a{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	padding:12px 2px;
	font-size:13.5px;
	font-weight:600;
	color:var(--black);
}
.intact-cat-list a:hover{ color:var(--red); }
.intact-cat-arrow{ color:var(--red); font-weight:700; }

.intact-enquiry-form :is(input[type="text"],input[type="email"],input[type="tel"],input[type="number"],textarea,select){
	width:100% !important;
	background:var(--off-white) !important;
	border:1px solid var(--line-light) !important;
	border-radius:8px !important;
	padding:12px 14px !important;
	font-size:13px !important;
	color:var(--black) !important;
	font-family:'Poppins',sans-serif !important;
}
.intact-enquiry-form textarea{ min-height:100px !important; resize:vertical; }
.intact-enquiry-form label{ font-size:12.5px !important; font-weight:600 !important; color:var(--black) !important; }
.intact-enquiry-form .forminator-row,
.intact-enquiry-form .forminator-field{ margin-bottom:14px !important; }
.intact-enquiry-form button[type="submit"],
.intact-enquiry-form .forminator-button-submit{
	width:100% !important;
	background:var(--red) !important;
	border:none !important;
	color:#fff !important;
	font-weight:700 !important;
	font-size:13.5px !important;
	padding:13px 24px !important;
	border-radius:8px !important;
	cursor:pointer;
	transition:background .2s ease;
}
.intact-enquiry-form button[type="submit"]:hover,
.intact-enquiry-form .forminator-button-submit:hover{ background:var(--red-dark) !important; }

.intact-recent-list{ margin-top:12px; }
.intact-recent-list li + li{ margin-top:14px; padding-top:14px; border-top:1px solid var(--line-light); }
.intact-recent-list a{ display:flex; gap:12px; align-items:flex-start; }
.intact-recent-thumb{ flex-shrink:0; width:58px; height:58px; border-radius:8px; overflow:hidden; }
.intact-recent-thumb img{ width:100%; height:100%; object-fit:cover; }
.intact-recent-body{ display:flex; flex-direction:column; gap:6px; }
.intact-recent-title{ font-size:12.5px; font-weight:700; color:var(--black); line-height:1.4; }
.intact-recent-date{ display:flex; align-items:center; gap:5px; font-size:11px; color:var(--gray-text); }
.intact-recent-date svg{ width:11px; height:11px; }

/* ---------- CTA banner ---------- */
.intact-cta{ background:var(--red); padding:30px 0; color:#fff; }
.intact-cta-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:24px;
	flex-wrap:wrap;
}
.intact-cta-copy{ display:flex; align-items:center; gap:16px; }
.intact-cta-icon{
	flex-shrink:0;
	width:46px;
	height:46px;
	border-radius:50%;
	background:rgba(255,255,255,.2);
	display:flex;
	align-items:center;
	justify-content:center;
}
.intact-cta-icon svg{ width:22px; height:22px; color:#fff; }
.intact-cta-title{ font-size:18px; font-weight:800; margin:0 0 4px; color:#fff; text-transform:uppercase; }
.intact-cta-sub{ margin:0; color:rgba(255,255,255,.9); font-size:13px; }
.intact-cta-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* =======================================================================
   Responsive
   ======================================================================= */
@media (max-width:960px){
	.intact-single-grid{ grid-template-columns:1fr; }
	.intact-single-related-track{ grid-auto-columns:calc(50% - 10px); }
}

@media (max-width:640px){
	.intact-single-wrap{ padding:0 18px; }
	.intact-single-hero{ padding:18px 0 28px; }
	.intact-single-h1{ font-size:20px; }
	.intact-single-meta{ gap:12px; font-size:12px; }
	.intact-single-feature{ margin-top:-20px; }
	.intact-single-feature img{ max-height:200px; }
	.intact-single-toc-list{ grid-template-columns:1fr; }
	.intact-single-content h2{ font-size:17px; }
	.intact-single-author{ flex-direction:column; text-align:center; align-items:center; }
	.intact-single-related-track{ grid-auto-columns:80%; }
	.intact-cta-inner{ flex-direction:column; text-align:center; }
	.intact-cta-copy{ flex-direction:column; text-align:center; }
	.intact-cta-actions{ width:100%; justify-content:center; }
	.intact-btn{ flex:1; justify-content:center; }
	.intact-single-share{ justify-content:center; }
	.intact-single-share-label{ width:100%; text-align:center; margin-bottom:6px; }
}

.intact-single-feature {
	aspect-ratio: 3 / 2;
	overflow: hidden;
}
.intact-single-feature img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}