/* ── IMS CURRENT STOCK PAGE ── */
.ims-stock-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 48px 32px 60px;
}
.ims-stock-item {
	background: #ffffff !important;
	border: 1px solid #e8e8e8 !important;
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.2s, transform 0.2s;
}
.ims-stock-item:hover {
	box-shadow: 0 6px 24px rgba(0,0,0,0.1);
	transform: translateY(-2px);
}
.ims-stock-img-wrap {
	display: block !important;
	overflow: hidden !important;
	background: #ffffff !important;
	border-bottom: 1px solid #e8e8e8 !important;
}
.ims-stock-img-wrap img {
	width: 100% !important;
	height: 200px !important;
	object-fit: contain !important;
	display: block !important;
	padding: 20px !important;
	box-sizing: border-box !important;
	transition: transform 0.3s !important;
	background: #ffffff !important;
}
.ims-stock-item:hover .ims-stock-img-wrap img {
	transform: scale(1.03);
}
.ims-stock-info {
	padding: 20px;
}
.ims-stock-badge {
	color: #cc0000;
	font-family: 'Montserrat', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	margin: 0 0 8px;
}
.ims-stock-info h3 {
	font-family: 'Montserrat', sans-serif;
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 8px;
	line-height: 1.35;
	color: #1a1a1a;
}
.ims-stock-info h3 a {
	color: #1a1a1a;
	text-decoration: none;
}
.ims-stock-info h3 a:hover { color: #cc0000; }
.ims-stock-tagline {
	color: #666666;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 16px;
}
.ims-stock-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.ims-stock-btn-red {
	display: inline-block;
	background: #cc0000;
	color: #ffffff !important;
	padding: 9px 18px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	border-radius: 2px;
	transition: background 0.2s;
}
.ims-stock-btn-red:hover { background: #aa0000; }
.ims-stock-btn-outline {
	display: inline-block;
	background: transparent;
	color: #444444 !important;
	padding: 8px 18px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none !important;
	border: 1px solid #cccccc;
	border-radius: 2px;
	transition: border-color 0.2s, color 0.2s;
}
.ims-stock-btn-outline:hover {
	border-color: #cc0000;
	color: #cc0000 !important;
}
@media (max-width: 900px) {
	.ims-stock-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.ims-stock-grid {
		grid-template-columns: 1fr;
		padding: 0 16px;
	}
}

/* ── HEADER SEPARATION ── */
/* Subtle shadow under the sticky header so it reads as a distinct bar over the hero and content below */
#masthead {
	position: relative;
	z-index: 10;
	box-shadow: 0 1px 0 rgba(0,0,0,0.06), 0 4px 14px rgba(0,0,0,0.05);
}

/* ── CONTACT PAGE — centre the enquiry / details section ── */
/* These columns were "wide"-aligned inside a full-width band, so they spread to the screen edges.
   Constrain them to a centred container at the site's standard content width, as a clean 50/50 split. */
.page-id-41 .wp-block-columns.alignwide {
	max-width: 1160px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 40px;
}
/* Force an even 50/50 split at all widths (not gated to a desktop breakpoint, so it applies regardless of zoom / display scaling) */
body.page-id-41 .wp-block-columns.alignwide > .wp-block-column {
	flex: 1 1 0px !important;
	width: calc(50% - 20px) !important;
	min-width: 0 !important;
	max-width: none !important;
}
/* Stack them only on genuinely small screens */
@media (max-width: 600px) {
	body.page-id-41 .wp-block-columns.alignwide > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}
/* WPForms enquiry fields fill the column width instead of sitting short */
.page-id-41 .wpforms-field input[type="text"],
.page-id-41 .wpforms-field input[type="email"],
.page-id-41 .wpforms-field input[type="tel"],
.page-id-41 .wpforms-field input[type="url"],
.page-id-41 .wpforms-field input[type="number"],
.page-id-41 .wpforms-field textarea,
.page-id-41 .wpforms-field select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

/* ── PAGE HEADER BANDS — unify the coloured title strip across the main pages to the brand navy ── */
/* The band is always the first full-width group in the content; scoped per page so red buttons/accents elsewhere are untouched. */
.page-id-3  .entry-content > .wp-block-group.alignfull:first-child,
.page-id-39 .entry-content > .wp-block-group.alignfull:first-child,
.page-id-40 .entry-content > .wp-block-group.alignfull:first-child,
.page-id-41 .entry-content > .wp-block-group.alignfull:first-child,
.page-id-42 .entry-content > .wp-block-group.alignfull:first-child,
.page-id-43 .entry-content > .wp-block-group.alignfull:first-child,
.page-id-44 .entry-content > .wp-block-group.alignfull:first-child {
	background-color: #0d1b2a !important;
	padding-top: 72px !important;
	padding-bottom: 72px !important;
}

/* ── MEGA MENU DROPDOWN — thin grey divider between products (under each category heading) ── */
/* Double-ID prefix so Max Mega Menu's own styles can't override it. */
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-column .mega-sub-menu .mega-sub-menu li.mega-menu-item > a.mega-menu-link {
	border-bottom: 1px solid #e6e6e6 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	padding: 5px 0 !important;
}
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-column .mega-sub-menu .mega-sub-menu li.mega-menu-item:last-child > a.mega-menu-link {
	border-bottom: none !important;
}

/* ── MEGA MENU PANEL POSITION — re-anchor the (right-aligned) dropdown to the full-width header and centre it ── */
/* Desktop only; the mobile accordion keeps Max Mega Menu's own layout. */
@media (min-width: 769px) {
	#main-header { position: relative !important; }
	#mega-menu-wrap-primary,
	#mega-menu-wrap-primary #mega-menu-primary,
	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu,
	.site-header-main-section-right,
	.site-header-main-section-right .site-header-item,
	.site-header-main-section-right #site-navigation,
	.site-header-main-section-right .primary-menu-container {
		position: static !important;
	}
	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu {
		top: 100% !important;
		left: 50% !important;
		right: auto !important;
		transform: translateX(-50%) !important;
		width: min(1280px, calc(100vw - 56px)) !important;
		max-width: calc(100vw - 56px) !important;
		margin: 0 !important;
		padding: 16px 12px 20px !important;
	}
}
