/* =======================================================================
   INTACT Blog Listing — css/blog.css
   Scoped under .intact-blog so it never leaks into the rest of the site.
   ======================================================================= */

.intact-blog{
	--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.6;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
	width:100%;
}
.intact-blog *,
.intact-blog *::before,
.intact-blog *::after{ box-sizing:border-box; font-family:'Poppins',sans-serif; }
.intact-blog img{ max-width:100%; display:block; border:0; }
.intact-blog a{ text-decoration:none; color:inherit; }
.intact-blog p{ margin:0 0 14px; color:var(--gray-text); }
.intact-blog ul{ list-style:none; margin:0; padding:0; }

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

/* ---------- Buttons ---------- */
.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-blog-hero{
	position:relative;
	background:linear-gradient(180deg, rgba(14,14,14,.92) 0%, rgba(14,14,14,.85) 60%, rgba(14,14,14,.75) 100%), url('') center/cover no-repeat;
	background-color:var(--black);
	color:#fff;
	padding:34px 0 56px;
	overflow:hidden;
}
.intact-breadcrumb{
	font-size:12px;
	color:#C9C6BF;
	margin-bottom:24px;
	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-blog-h1{
	font-size:clamp(40px,7vw,72px);
	font-weight:800;
	color:#fff;
	margin:0 0 16px;
	line-height:1;
	letter-spacing:.01em;
}
.intact-accent{ color:var(--red); }
.intact-blog-hero-desc{
	max-width:460px;
	color:#D8D5CE;
	font-size:14.5px;
	margin-bottom:26px;
}

/* ---------- Layout ---------- */
.intact-blog-layout{
	display:grid;
	grid-template-columns:2.2fr 1fr;
	gap:36px;
	padding:48px 0 60px;
	align-items:start;
}

/* ---------- Grid ---------- */
.intact-blog-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}
.intact-blog-card{
	background:#fff;
	border:1px solid var(--line-light);
	border-radius:var(--radius);
	overflow:hidden;
	display:flex;
	flex-direction:column;
	transition:transform .2s ease, box-shadow .2s ease;
}
.intact-blog-card:hover{
	transform:translateY(-4px);
	box-shadow:0 18px 36px -20px rgba(14,14,14,.25);
}
.intact-blog-card-media{
	position:relative;
	aspect-ratio:4/3;
	overflow:hidden;
	background:var(--off-white);
	display:block;
}
.intact-blog-card-media img{ width:100%; height:100%; object-fit:cover; }
.intact-blog-num{
	position:absolute;
	top:12px;
	left:12px;
	min-width:30px;
	height:26px;
	padding:0 8px;
	border-radius:6px;
	background:var(--red);
	color:#fff;
	font-size:12px;
	font-weight:800;
	display:flex;
	align-items:center;
	justify-content:center;
}
.intact-blog-card-body{
	padding:18px 18px 20px;
	display:flex;
	flex-direction:column;
	flex-grow:1;
}
.intact-blog-cat{
	font-size:11px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:var(--red);
	margin-bottom:8px;
}
.intact-blog-title{
	font-size:15.5px;
	font-weight:800;
	color:var(--black);
	line-height:1.4;
	margin:0 0 10px;
	text-transform:uppercase;
}
.intact-blog-title a{ color:inherit; }
.intact-blog-title a:hover{ color:var(--red); }
.intact-blog-meta{
	display:flex;
	align-items:center;
	gap:12px;
	font-size:11.5px;
	color:var(--gray-text);
	margin-bottom:10px;
	flex-wrap:wrap;
}
.intact-blog-meta span{ display:inline-flex; align-items:center; gap:5px; }
.intact-blog-meta svg{ width:12px; height:12px; flex-shrink:0; }
.intact-blog-excerpt{ font-size:13px; color:var(--gray-text); margin-bottom:14px; flex-grow:1; }
.intact-blog-readmore{
	display:inline-flex;
	align-items:center;
	gap:6px;
	font-size:13px;
	font-weight:700;
	color:var(--red);
	margin-top:auto;
}
.intact-blog-readmore:hover{ color:var(--red-dark); }

.intact-blog-empty{ text-align:center; padding:60px 20px; color:var(--gray-text); }

/* ---------- Pagination ---------- */
.intact-blog-pagination{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:16px;
	margin-top:40px;
	flex-wrap:wrap;
}
.intact-blog-pagination-numbers{ display:flex; align-items:center; gap:8px; }
.intact-blog-pagination-numbers a,
.intact-blog-pagination-numbers span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:36px;
	height:36px;
	padding:0 10px;
	border-radius:6px;
	border:1px solid var(--line-light);
	font-size:13px;
	font-weight:600;
	color:var(--black);
	background:#fff;
}
.intact-blog-pagination-numbers a:hover{ border-color:var(--red); color:var(--red); }
.intact-page-current{ background:var(--red) !important; border-color:var(--red) !important; color:#fff !important; }
.intact-page-dots{ border:none !important; background:none !important; }
.intact-page-next{
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:10px 18px;
	border-radius:6px;
	background:var(--red);
	color:#fff;
	font-weight:700;
	font-size:13px;
}
.intact-page-next:hover{ background:var(--red-dark); }
.intact-page-next-disabled{ opacity:.4; pointer-events:none; }

/* ---------- Sidebar ---------- */
.intact-blog-sidebar{ display:flex; flex-direction:column; gap:22px; }
.intact-widget{
	background:#fff;
	border:1px solid var(--line-light);
	border-radius:var(--radius);
	padding:22px;
}
.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:inline-block;
}
.intact-widget > .intact-widget-title{ display:block; }

/* Product categories */
.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; }

/* Enquiry form (Forminator [forminator_form id="362"]) — generic
   overrides so the plugin's own markup matches the site design. */
.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; }

/* Recent posts */
.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:19px; 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-blog-layout{ grid-template-columns:1fr; }
	.intact-blog-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:640px){
	.intact-blog-wrap{ padding:0 18px; }
	.intact-blog-hero{ padding:26px 0 40px; }
	.intact-blog-h1{ font-size:44px; }
	.intact-blog-hero-desc{ font-size:13.5px; }
	.intact-blog-grid{ grid-template-columns:1fr; }
	.intact-blog-layout{ padding:36px 0 44px; gap:28px; }
	.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-blog-pagination{ gap:10px; }
}