/* HIDRO M Phase 1.5: scoped layout repairs after WPBakery migration. */
:root {
	--hidrom-content-width: 1180px;
	--hidrom-wide-width: 1320px;
	--hidrom-page-gutter: 32px;
	--hidrom-ink: #20262d;
	--hidrom-muted: #58636f;
	--hidrom-charcoal: #292e34;
	--hidrom-surface: #ffffff;
	--hidrom-soft: #f4f6f7;
	--hidrom-blue: #00a9e8;
	--hidrom-yellow: #f4c400;
	--hidrom-red: #d71920;
	--hidrom-border: #dce2e6;
	--hidrom-shadow: 0 10px 28px rgba(25, 37, 48, 0.08);
}

/* Homepage portfolio: parent CSS resets this component inside .roof-main-wrap. */
body.home .roof-main-wrap .roof-works {
	background: var(--hidrom-charcoal);
	color: #ffffff;
	margin: 0;
	max-width: none;
	overflow: hidden;
	padding: 52px var(--hidrom-page-gutter) 40px;
}

body.home .roof-works .filters-nav {
	display: flex;
	flex-wrap: wrap;
	float: none;
	gap: 8px;
	justify-content: center;
	margin: 0 auto 28px;
	max-width: var(--hidrom-content-width);
	min-height: 0;
	padding: 0;
}

body.home .roof-works .filters-nav > li {
	display: block;
	float: none;
	margin: 0;
}

body.home .roof-works .filters-nav > li > a {
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 4px;
	color: rgba(255, 255, 255, 0.92);
	display: block;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	padding: 10px 14px;
	text-transform: uppercase;
}

body.home .roof-works .filters-nav > li > a:hover,
body.home .roof-works .filters-nav > li > a:focus-visible,
body.home .roof-works .filters-nav > li > a.active {
	background: var(--hidrom-yellow);
	border-color: var(--hidrom-yellow);
	color: var(--hidrom-ink);
	outline: none;
}

body.home .roof-works .slick-horizontal {
	margin: 0 auto;
	max-width: var(--hidrom-wide-width);
	min-width: 0;
}

body.home .roof-works .slick-list {
	margin: 0 -10px;
}

body.home .roof-works .slick-slide {
	padding: 0 10px;
}

body.home .roof-works .work-list {
	background: #1f252b;
	height: 100%;
	overflow: hidden;
}

body.home .roof-works .work-list .roof-picture {
	aspect-ratio: 16 / 11;
	overflow: hidden;
}

body.home .roof-works .work-list .roof-picture img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

body.home .roof-works .slick-dots {
	display: flex !important;
	gap: 8px;
	justify-content: center;
	list-style: none;
	margin: 26px 0 0;
	padding: 0;
	position: static;
	width: 100%;
}

body.home .roof-works .slick-dots li {
	height: auto;
	margin: 0;
	width: auto;
}

body.home .roof-works .slick-dots li button {
	background: rgba(255, 255, 255, 0.35);
	border: 0;
	border-radius: 50%;
	display: block;
	font-size: 0;
	height: 9px;
	padding: 0;
	width: 9px;
}

body.home .roof-works .slick-dots li button::before {
	display: none;
}

body.home .roof-works .slick-dots li.slick-active button,
body.home .roof-works .slick-dots li button:hover,
body.home .roof-works .slick-dots li button:focus-visible {
	background: var(--hidrom-yellow);
	outline: 2px solid #ffffff;
	outline-offset: 3px;
}

body.home .roof-works .slick-prev,
body.home .roof-works .slick-next {
	background: rgba(32, 38, 45, 0.86);
	border: 1px solid rgba(255, 255, 255, 0.6);
	border-radius: 4px;
	font-size: 0;
	height: 38px;
	width: 38px;
	z-index: 2;
}

body.home .roof-works .slick-prev:hover,
body.home .roof-works .slick-next:hover,
body.home .roof-works .slick-prev:focus-visible,
body.home .roof-works .slick-next:focus-visible {
	background: var(--hidrom-yellow);
	border-color: var(--hidrom-yellow);
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* Saved VC row padding caused the expertise CTA to begin 122px below its cards. */
body.home .vc_custom_1497420445415 {
	margin-bottom: 0;
	padding-top: 72px !important;
}

body.home .vc_custom_1497420445415 + .wpbakery-row {
	margin-bottom: 0;
}

body.home .vc_custom_1497420445415 + .wpbakery-row .certification-item {
	height: 100%;
	padding: 0 8px;
}

/* About mission cards: each legacy service was restricted inside its column. */
.hidrom-about .wpbakery-column--1-3 > .vc_column-inner > .wpb_wrapper > .roof-services {
	display: block;
	margin: 0;
	max-width: none;
	min-width: 0;
	width: 100%;
}

.hidrom-about .wpbakery-column--1-3 .service-item {
	display: flex;
	flex-direction: column;
	height: 100%;
	max-width: none;
	min-width: 0;
	width: 100%;
}

.hidrom-about .wpbakery-column--1-3 .service-info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.hidrom-about .wpbakery-column--1-3 .service-info .read-more {
	margin-top: auto;
}

/* The About FAQ keeps its original two populated columns; no JavaScript moves them. */
.hidrom-about .wpbakery-row:has(.roof-questions) {
	align-items: stretch;
	margin-top: 28px;
}

.hidrom-about .wpbakery-row:has(.roof-questions) > .wpbakery-column:first-child > .vc_column-inner > .wpb_wrapper {
	background: var(--hidrom-charcoal);
	box-sizing: border-box;
	height: 100%;
	padding: 30px;
}

.hidrom-about .wpbakery-row:has(.roof-questions) > .wpbakery-column:first-child .wpbakery-heading:first-child {
	color: #ffffff !important;
	font-size: 26px;
	margin-bottom: 12px;
}

.hidrom-about .wpbakery-row:has(.roof-questions) > .wpbakery-column:first-child .wpbakery-heading:not(:first-child) {
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.6;
}

.hidrom-about .roof-questions {
	margin: 0;
	padding: 0;
}

.hidrom-about .roof-questions .panel {
	border: 1px solid var(--hidrom-border);
	border-radius: 4px;
	box-shadow: none;
	margin: 0 0 10px;
}

.hidrom-about .roof-questions .accordion-toggle {
	color: var(--hidrom-ink);
	display: block;
	font-size: 16px;
	line-height: 1.45;
	padding: 16px 42px 16px 16px;
	position: relative;
	text-align: left;
	width: 100%;
}

.hidrom-about .roof-questions .accordion-toggle::after {
	content: '+';
	font-size: 22px;
	font-weight: 400;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}

.hidrom-about .roof-questions .accordion-toggle[aria-expanded='true']::after {
	content: '−';
}

.hidrom-about .roof-questions .accordion-toggle:focus-visible {
	outline: 3px solid rgba(0, 169, 232, 0.45);
	outline-offset: -3px;
}

.hidrom-about .roof-questions .panel-content {
	color: var(--hidrom-muted);
	padding: 0 16px 18px;
}

.hidrom-about .roof-questions .panel-content > .wpbakery-heading {
	color: var(--hidrom-muted) !important;
	font-size: 18px !important;
	font-weight: 400;
	line-height: 1.65;
	margin: 0;
}

/* Product category widget: one native hierarchy, one injected accessible toggle. */
.hidrom-shop .widget_product_categories .product-categories,
.hidrom-shop .widget_product_categories .product-categories .children {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hidrom-shop .widget_product_categories .product-categories li {
	border-bottom: 1px solid var(--hidrom-border);
	padding: 0;
	position: relative;
}

.hidrom-shop .widget_product_categories .product-categories li a {
	color: var(--hidrom-ink);
	display: block;
	padding: 11px 38px 11px 0;
}

.hidrom-shop .widget_product_categories .product-categories li a::before,
.hidrom-shop .widget_product_categories .product-categories li a::after {
	content: none;
}

.hidrom-shop .widget_product_categories .product-categories .children {
	border-top: 1px solid var(--hidrom-border);
	padding-left: 14px;
}

.hidrom-shop .widget_product_categories .product-categories .children[hidden] {
	display: none;
}

.hidrom-category-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--hidrom-blue);
	display: inline-flex;
	font-size: 21px;
	height: 36px;
	justify-content: center;
	position: absolute;
	right: 0;
	top: 3px;
	width: 36px;
}

.hidrom-category-toggle:focus-visible {
	outline: 2px solid var(--hidrom-blue);
	outline-offset: 1px;
}

.hidrom-shop .widget_search .searchform {
	display: flex;
	gap: 8px;
}

.hidrom-shop .widget_search .searchform input[type='text'],
.hidrom-shop .widget_search .searchform input[type='search'] {
	border: 1px solid var(--hidrom-border);
	border-radius: 4px;
	flex: 1 1 auto;
	min-width: 0;
	padding: 11px 12px;
}

.hidrom-shop .widget_search .searchform input[type='submit'] {
	background: var(--hidrom-blue);
	border: 1px solid var(--hidrom-blue);
	border-radius: 4px;
	color: #ffffff;
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 700;
	height: auto;
	padding: 0 14px;
	position: static;
	transform: none;
	width: auto;
}

/* Existing WooCommerce actions are made visible; no duplicate action is created. */
.hidrom-shop .woocommerce ul.products {
	display: grid;
	gap: 26px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding-top: 28px;
}

.hidrom-shop .woocommerce ul.products li.product {
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column;
	margin: 0 !important;
	max-width: none;
	min-width: 0;
	text-align: left;
	width: auto !important;
}

.hidrom-shop .woocommerce ul.products li.product .woo-prdt-img {
	align-items: stretch;
	background: var(--hidrom-surface);
	border: 1px solid var(--hidrom-border);
	display: flex;
	flex-direction: column;
	margin-bottom: 14px;
	min-height: 250px;
	padding: 16px;
}

.hidrom-shop .woocommerce ul.products li.product .woo-prdt-img > a:first-child {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	justify-content: center;
}

.hidrom-shop .woocommerce ul.products li.product .woo-prdt-img img {
	height: 205px;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.hidrom-shop .woocommerce ul.products li.product .button {
	align-items: center;
	background: var(--hidrom-blue);
	border-radius: 4px;
	color: #ffffff;
	display: inline-flex;
	font-size: 12px;
	font-weight: 700;
	justify-content: center;
	margin-top: 12px;
	opacity: 1;
	padding: 10px 12px;
	position: static;
	text-align: center;
	text-transform: uppercase;
}

.hidrom-shop .woocommerce ul.products li.product .button:hover,
.hidrom-shop .woocommerce ul.products li.product .button:focus-visible {
	background: #007eb0;
	color: #ffffff;
	outline: 2px solid var(--hidrom-yellow);
	outline-offset: 2px;
}

.hidrom-shop .woocommerce .woocommerce-result-count,
.hidrom-shop .woocommerce .woocommerce-ordering {
	margin-top: 20px;
}

.hidrom-shop .woocommerce .woocommerce-ordering .orderby {
	border: 1px solid var(--hidrom-border);
	border-radius: 4px;
	color: var(--hidrom-ink);
	min-height: 40px;
	padding: 7px 10px;
}

@media (max-width: 991px) {
	:root { --hidrom-page-gutter: 28px; }

	.hidrom-about .wpbakery-column--1-3 {
		flex-basis: 50%;
		max-width: 50%;
	}

	.hidrom-shop .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	:root { --hidrom-page-gutter: 20px; }

	body.home .roof-main-wrap .roof-works {
		padding: 40px 20px 32px;
	}

	body.home .roof-works .filters-nav {
		justify-content: flex-start;
		margin-bottom: 20px;
		overflow-x: auto;
		padding-bottom: 4px;
		flex-wrap: nowrap;
	}

	body.home .roof-works .filters-nav > li {
		flex: 0 0 auto;
	}

	body.home .vc_custom_1497420445415 {
		padding-top: 48px !important;
	}

	.hidrom-about .wpbakery-column--1-3,
	.hidrom-about .wpbakery-row:has(.roof-questions) > .wpbakery-column {
		flex-basis: 100%;
		max-width: 100%;
	}

	.hidrom-about .wpbakery-row:has(.roof-questions) > .wpbakery-column:first-child > .vc_column-inner > .wpb_wrapper {
		padding: 24px;
	}

	.hidrom-shop .widget_search .searchform {
		flex-wrap: wrap;
	}

	.hidrom-shop .widget_search .searchform input[type='text'],
	.hidrom-shop .widget_search .searchform input[type='search'],
	.hidrom-shop .widget_search .searchform input[type='submit'] {
		width: 100%;
	}

	.hidrom-shop .woocommerce ul.products {
		gap: 18px;
		grid-template-columns: minmax(0, 1fr);
	}
}

/*
 * Phase 2 visual layer.  These rules own the legacy Roof components that are
 * still rendered by the shortcode fallback; they deliberately do not change
 * the fallback renderer itself or WooCommerce behaviour.
 */
:root {
	--hidrom-section-space: 68px;
	--hidrom-heading-line-height: 1.18;
	--hidrom-body-line-height: 1.65;
	--hidrom-radius-sm: 4px;
	--hidrom-radius: 6px;
}

.roof-main-wrap,
.roof-main-wrap .roof-primary,
.roof-main-wrap .wpbakery-column,
.roof-main-wrap .vc_column-inner,
.roof-main-wrap .wpb_wrapper {
	min-width: 0;
}

.roof-main-wrap .wpbakery-heading,
.roof-main-wrap .wpbakery-column-text {
	max-width: 100%;
}

.roof-main-wrap .wpbakery-column-text {
	font-size: 16px;
	line-height: var(--hidrom-body-line-height);
}

.roof-main-wrap a:focus-visible,
.roof-header a:focus-visible,
.roof-footer a:focus-visible,
.woocommerce a:focus-visible,
.woocommerce button:focus-visible,
.woocommerce input:focus-visible,
.wpcf7-form input:focus-visible,
.wpcf7-form textarea:focus-visible {
	outline: 3px solid rgba(0, 169, 232, 0.6);
	outline-offset: 3px;
}

/* Header: retain the Roof markup, but give its two information bands a stable grid. */
@media (min-width: 992px) {
	.roof-header .roof-add-section .container {
		align-items: center;
		display: flex;
		min-height: 104px;
	}

	.roof-header .roof-logo {
		flex: 0 0 auto;
		max-width: 34%;
	}

	.roof-header .roof-logo img {
		display: block;
		height: auto;
		max-height: 80px;
		width: auto;
	}

	.roof-header .header-right {
		margin-left: auto;
	}

	.roof-header .contact-details {
		align-items: center;
		display: flex;
		gap: 28px;
	}

	.roof-header .contact-details .contact-item {
		align-items: center;
		display: flex;
		margin: 0;
	}

	.roof-header .contact-details .contact-info {
		font-size: 14px;
		line-height: 1.45;
	}

	.roof-header .contact-details .contact-info span {
		color: var(--hidrom-muted);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: .04em;
	}

	.roof-header .contact-details .contact-info a,
	.roof-header .contact-details .contact-info p {
		color: var(--hidrom-ink);
		font-size: 14px;
		font-weight: 700;
		margin: 0;
	}

	.roof-header .roof-navigation {
		min-height: 52px;
		position: relative;
		z-index: 40;
	}

	.roof-header .roof-navigation .navbar-nav > .current-menu-item > a,
	.roof-header .roof-navigation .navbar-nav > .current_page_item > a,
	.roof-header .roof-navigation .navbar-nav > .active > a {
		box-shadow: inset 0 -3px 0 var(--hidrom-yellow);
	}
}

@media (max-width: 991px) {
	.roof-header .roof-add-section .container {
		padding-bottom: 14px;
		padding-top: 14px;
	}

	.roof-header .contact-details .contact-info a,
	.roof-header .contact-details .contact-info p {
		font-size: 14px;
	}

	.mean-container .meanmenu-reveal:focus-visible {
		outline: 3px solid var(--hidrom-yellow);
		outline-offset: 2px;
	}
}

/* Homepage: four migrated expert cards are columns in one saved VC row. */
body.home .vc_custom_1496907713702 {
	background: var(--hidrom-soft) !important;
	padding: 0 !important;
}

body.home .vc_custom_1496907713702 > .wpbakery-column {
	display: flex;
}

body.home .vc_custom_1496907713702 > .wpbakery-column > .vc_column-inner,
body.home .vc_custom_1496907713702 .wpb_wrapper,
body.home .vc_custom_1496907713702 .roof-expert {
	display: flex;
	width: 100%;
}

body.home .vc_custom_1496907713702 .expert-item {
	align-items: center;
	background: transparent;
	border-bottom: 0;
	border-right: 1px solid var(--hidrom-border);
	display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		justify-content: center;
		min-height: 288px;
		padding: 34px 26px;
		text-align: center;
		width: 100%;
}

body.home .vc_custom_1496907713702 .expert-item p,
body.home .vc_custom_1496907713702 .expert-item .view-more {
	opacity: 1;
}

body.home .vc_custom_1496907713702 .expert-item p {
	color: var(--hidrom-muted);
	font-size: 15px;
	line-height: 1.6;
	margin: 13px 0 0;
	max-width: 250px;
}

body.home .vc_custom_1496907713702 .expert-item .roof-icon {
	align-items: center;
	border: 1px solid rgba(244, 196, 0, .55);
	display: flex;
	height: 60px;
		justify-content: center;
		margin-bottom: 18px;
		width: 60px;
}

body.home .vc_custom_1496907713702 .expert-item .roof-icon img {
	max-height: 32px;
	max-width: 32px;
		object-fit: contain;
}

body.home .vc_custom_1496907713702 .expert-title,
body.home .vc_custom_1496907713702 .expert-title a {
	color: var(--hidrom-ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.35;
	margin: 0;
	text-transform: none;
}

body.home .vc_custom_1496907713702 .expert-item .view-more {
	margin-top: 16px;
	padding: 0;
}

body.home .vc_custom_1496907713702 .expert-item .view-more a,
body.home .roof-news .read-more a {
	color: var(--hidrom-red);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* The legacy testimonial is Bootstrap, not Slick; controls remain in its DOM. */
body.home .roof-testimonial {
	padding: 62px var(--hidrom-page-gutter);
}

body.home #quote-carousel {
	margin: 0 auto;
	max-width: 880px;
}

body.home #quote-carousel p {
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1.55;
}

body.home #quote-carousel .carousel-indicators {
	bottom: -28px;
	margin: 0;
}

body.home #quote-carousel .carousel-indicators li {
	background-color: rgba(255, 255, 255, .55);
	border: 0;
	border-radius: 50%;
	height: 8px;
	margin: 0 4px;
	width: 8px;
}

body.home #quote-carousel .carousel-indicators .active {
	background-color: var(--hidrom-yellow);
}

/* Latest articles use real links and preserve their original three article items. */
body.home .vc_custom_1497422400184 {
	padding-bottom: var(--hidrom-section-space) !important;
	padding-top: var(--hidrom-section-space) !important;
}

body.home .vc_custom_1497422400184 > .wpbakery-column > .vc_column-inner > .wpb_wrapper > .wpbakery-column-text {
	margin: 0 auto 26px;
	max-width: 720px;
	text-align: center;
}

body.home .roof-news {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-left: 0;
	margin-right: 0;
}

body.home .roof-news > [class*='col-'] {
	display: flex;
	padding: 0;
	width: auto;
}

body.home .roof-news .news-item {
	border: 1px solid var(--hidrom-border);
	display: flex;
	flex-direction: column;
	width: 100%;
}

body.home .roof-news .roof-picture,
body.home .roof-news .roof-picture a {
	display: block;
	overflow: hidden;
}

body.home .roof-news .roof-picture img {
	aspect-ratio: 16 / 10;
	display: block;
	object-fit: cover;
	transition: transform 180ms ease;
	width: 100%;
}

body.home .roof-news .news-item:hover .roof-picture img {
	transform: scale(1.025);
}

body.home .roof-news .news-info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 20px;
}

body.home .roof-news .news-meta {
	color: var(--hidrom-muted);
	font-size: 13px;
	margin: 0 0 10px;
}

body.home .roof-news .news-title,
body.home .roof-news .news-title a {
	color: var(--hidrom-ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.4;
	margin: 0;
}

body.home .roof-news .read-more {
	margin-top: auto;
	padding-top: 18px;
}

/* Shop/archive: sidebar remains a controlled secondary column and cards never depend on hover. */
.hidrom-shop .roof-main-wrap > .row {
	align-items: flex-start;
}

.hidrom-shop .roof-primary {
	min-width: 0;
}

.hidrom-shop .roof-secondary {
	max-width: 320px;
}

.hidrom-shop .roof-secondary .roof-widget {
	border-radius: var(--hidrom-radius);
}

.hidrom-shop .roof-secondary .widget-title {
	border-bottom: 2px solid var(--hidrom-yellow);
	padding-bottom: 10px;
}

.hidrom-shop .widget_product_categories .current-cat > a,
.hidrom-shop .widget_product_categories .current-cat-parent > a {
	color: var(--hidrom-red);
	font-weight: 800;
}

.hidrom-shop .woocommerce .woocommerce-result-count {
	color: var(--hidrom-muted);
	font-size: 14px;
	line-height: 40px;
}

.hidrom-shop .woocommerce .woocommerce-ordering {
	float: right;
}

.hidrom-shop .woocommerce ul.products li.product h2,
.hidrom-shop .woocommerce ul.products li.product h3,
.hidrom-product .related ul.products li.product h2,
.hidrom-product .related ul.products li.product h3 {
	color: var(--hidrom-ink);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.45;
	margin: 0;
	min-height: 44px;
	padding: 0;
}

.hidrom-shop .woocommerce ul.products li.product .price,
.hidrom-product .related ul.products li.product .price {
	color: var(--hidrom-red);
	font-size: 16px;
	font-weight: 800;
	margin: 8px 0 0;
}

.hidrom-shop .woocommerce ul.products li.product .added_to_cart,
.hidrom-product .related ul.products li.product .added_to_cart {
	color: var(--hidrom-ink);
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	margin-top: 10px;
}

/* Single product and related products use the same restrained card system. */
.hidrom-product .woocommerce div.product div.images {
	align-items: center;
	background: var(--hidrom-surface);
	border: 1px solid var(--hidrom-border);
	border-radius: var(--hidrom-radius);
	display: flex;
	justify-content: center;
	min-height: 420px;
	padding: 22px;
}

.hidrom-product .woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	width: 100%;
}

.hidrom-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
	border-radius: 0;
	box-shadow: none;
	max-height: 520px;
	object-fit: contain;
	width: 100%;
}

.hidrom-product .woocommerce div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 16px 0 0;
}

.hidrom-product .woocommerce div.product div.images .flex-control-thumbs li {
	float: none;
	margin: 0;
	width: 64px;
}

.hidrom-product .woocommerce div.product div.images .flex-control-thumbs li img {
	border: 1px solid var(--hidrom-border);
	opacity: 1;
	padding: 3px;
}

.hidrom-product .woocommerce div.product form.cart .variations select,
.hidrom-product .woocommerce .quantity .qty {
	border: 1px solid var(--hidrom-border);
	border-radius: var(--hidrom-radius-sm);
	color: var(--hidrom-ink);
	min-height: 44px;
	padding: 8px 12px;
}

.hidrom-product .woocommerce div.product form.cart .single_add_to_cart_button {
	border-radius: var(--hidrom-radius-sm);
	min-height: 48px;
}

.hidrom-product .woocommerce div.product .product_meta {
	border-top: 1px solid var(--hidrom-border);
	line-height: 1.65;
	margin-top: 22px;
	padding-top: 16px;
}

.hidrom-product .woocommerce div.product .woocommerce-tabs h2,
.hidrom-product .woocommerce div.product .woocommerce-tabs h3 {
	color: var(--hidrom-ink);
	line-height: var(--hidrom-heading-line-height);
}

.hidrom-product .woocommerce div.product .woocommerce-tabs table {
	border-collapse: collapse;
	max-width: 100%;
	width: 100%;
}

.hidrom-product .woocommerce div.product .woocommerce-tabs th,
.hidrom-product .woocommerce div.product .woocommerce-tabs td {
	border: 1px solid var(--hidrom-border);
	padding: 10px 12px;
	text-align: left;
}

.hidrom-product .related.products {
	clear: both;
	padding-top: 48px;
}

.hidrom-product .related ul.products {
	display: grid;
	gap: 24px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.hidrom-product .related ul.products li.product {
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	max-width: 280px;
	text-align: left;
	width: auto !important;
}

.hidrom-product .related ul.products li.product .woo-prdt-img {
	align-items: center;
	background: #fff;
	border: 1px solid var(--hidrom-border);
	display: flex;
	justify-content: center;
	margin-bottom: 14px;
	min-height: 200px;
	padding: 14px;
}

.hidrom-product .related ul.products li.product .woo-prdt-img img {
	height: 170px;
	object-fit: contain;
	width: 100%;
}

.hidrom-product .related ul.products li.product .button {
	align-items: center;
	background: var(--hidrom-blue);
	border-radius: var(--hidrom-radius-sm);
	color: #fff;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	justify-content: center;
	margin-top: 12px;
	opacity: 1;
	padding: 10px 12px;
	position: static;
	text-transform: uppercase;
}

/* Contact keeps Contact Form 7 controls intact while making its two columns legible. */
.hidrom-contact .roof-primary > .wpbakery-row:first-child {
	align-items: flex-start;
	border-radius: var(--hidrom-radius);
}

.hidrom-contact .wpcf7-form label {
	color: var(--hidrom-ink);
	display: block;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 7px;
}

.hidrom-contact .wpcf7-form input[type='text'],
.hidrom-contact .wpcf7-form input[type='email'],
.hidrom-contact .wpcf7-form textarea {
	border-radius: var(--hidrom-radius-sm);
	min-height: 46px;
}

.hidrom-contact .wpcf7-form textarea {
	min-height: 180px;
}

.hidrom-contact .wpcf7-not-valid-tip,
.hidrom-contact .wpcf7-response-output {
	font-size: 14px;
	line-height: 1.5;
}

.hidrom-contact .wpb_gmaps_widget iframe {
	border-radius: var(--hidrom-radius);
	min-height: 360px;
}

/* Portfolio detail remains semantic, contained, and independent of page-builder rows. */
.single-portfolio .roof-main-wrap,
.single-portfolio .portfolio {
	color: var(--hidrom-ink);
}

.single-portfolio .portfolio {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--hidrom-content-width);
}

.single-portfolio .portfolio .roof-picturee,
.single-portfolio .portfolio .roof-picturee img {
	display: block;
	max-width: 100%;
}

.single-portfolio .portfolio .roof-picturee img {
	height: auto;
	margin: 0 auto 30px;
}

.single-portfolio .portfolio .entry-content,
.single-portfolio .portfolio .portfolio-content {
	line-height: var(--hidrom-body-line-height);
	max-width: 820px;
}

.single-portfolio .portfolio .portfolio-controls {
	border-top: 1px solid var(--hidrom-border);
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 36px;
	padding-top: 20px;
}

.single-portfolio .portfolio .portfolio-controls a {
	border: 1px solid var(--hidrom-border);
	color: var(--hidrom-ink);
	font-weight: 700;
	padding: 10px 14px;
}

.single-portfolio .portfolio .portfolio-controls a:hover {
	border-color: var(--hidrom-red);
	color: var(--hidrom-red);
}

/* Footer retains its charcoal identity and gets restrained, readable spacing. */
.roof-footer {
	padding-bottom: 56px;
	padding-top: 72px;
}

.roof-footer .roof-picture img {
	height: auto;
	max-width: 220px;
}

.roof-footer .contact-details p,
.roof-footer p,
.roof-footer a {
	font-size: 14px;
	line-height: 1.6;
}

.roof-footer a:hover {
	color: var(--hidrom-yellow);
}

@media (max-width: 1199px) {
	body.home .vc_custom_1496907713702 .expert-item {
		min-height: 270px;
		padding-left: 18px;
		padding-right: 18px;
	}

	.hidrom-product .related ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	:root { --hidrom-section-space: 54px; }

	body.home .vc_custom_1496907713702 > .wpbakery-column {
		flex-basis: 50%;
		max-width: 50%;
	}

	body.home .roof-news {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hidrom-shop .roof-secondary {
		max-width: none;
	}

	.hidrom-product .related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	:root { --hidrom-section-space: 44px; }

	body.home .vc_custom_1496907713702 > .wpbakery-column {
		flex-basis: 100%;
		max-width: 100%;
	}

	body.home .vc_custom_1496907713702 .expert-item {
		border-bottom: 1px solid var(--hidrom-border);
		border-right: 0;
		min-height: 0;
	}

	body.home .roof-news,
	.hidrom-product .related ul.products {
		grid-template-columns: minmax(0, 1fr);
	}

	body.home .roof-testimonial {
		padding-left: 20px;
		padding-right: 20px;
	}

	.hidrom-shop .woocommerce .woocommerce-result-count,
	.hidrom-shop .woocommerce .woocommerce-ordering {
		float: none;
		margin-bottom: 12px;
		margin-top: 12px;
	}

	.hidrom-shop .woocommerce .woocommerce-ordering .orderby {
		max-width: 100%;
		width: 100%;
	}

	.hidrom-product .woocommerce div.product div.images {
		min-height: 300px;
		padding: 16px;
	}

	.hidrom-product .woocommerce div.product div.images .woocommerce-product-gallery__image img {
		max-height: 360px;
	}

	.hidrom-contact .roof-primary > .wpbakery-row:first-child {
		padding: 22px;
	}

	.hidrom-contact .wpb_gmaps_widget iframe {
		min-height: 280px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Layout repair: replace remaining Roof-demo presentation at the owning components. */
.roof-logo.hidrom-logo-wrap {
	float: left;
	padding: 12px 0;
}

.roof-logo.hidrom-logo-wrap .hidrom-logo-image {
	display: block !important;
	height: auto;
	max-height: 80px;
	max-width: 325px;
	width: min(325px, 100%);
}

.is-sticky .roof-logo.hidrom-logo-wrap .hidrom-logo-image {
	display: block !important;
	max-height: 54px;
}

/* Prevent older child rules from reintroducing a decorative homepage gradient. */
.hidrom-home-intro {
	background: var(--hidrom-charcoal);
}

/* Four saved one-quarter columns: neutral by default, purposeful on real interaction. */
body.home .vc_custom_1496907713702 .expert-item {
	background: #f7f7f7;
	border-color: rgba(42, 47, 53, .08);
	box-shadow: none;
	transition: background-color 160ms ease, color 160ms ease;
}

body.home .vc_custom_1496907713702 .expert-item.hover {
	background: #f7f7f7;
	color: var(--hidrom-ink);
}

body.home .vc_custom_1496907713702 .expert-item:hover,
body.home .vc_custom_1496907713702 .expert-item:focus-within {
	background: var(--hidrom-charcoal);
}

body.home .vc_custom_1496907713702 .expert-item:hover .expert-title,
body.home .vc_custom_1496907713702 .expert-item:hover .expert-title a,
body.home .vc_custom_1496907713702 .expert-item:hover p,
body.home .vc_custom_1496907713702 .expert-item:hover .view-more a,
body.home .vc_custom_1496907713702 .expert-item:focus-within .expert-title,
body.home .vc_custom_1496907713702 .expert-item:focus-within .expert-title a,
body.home .vc_custom_1496907713702 .expert-item:focus-within p,
body.home .vc_custom_1496907713702 .expert-item:focus-within .view-more a {
	color: #ffffff;
}

body.home .vc_custom_1496907713702 .expert-item:hover .roof-icon,
body.home .vc_custom_1496907713702 .expert-item:focus-within .roof-icon {
	border-color: var(--hidrom-yellow);
}

/* Portfolio is an image collage: filters, titles, and controls belong to one component. */
body.home .roof-main-wrap .roof-works {
	padding-bottom: 30px;
	padding-top: 42px;
}

body.home .roof-works .filters-nav {
	align-items: center;
	background: transparent;
	width: 100%;
}

body.home .roof-works .slick-list {
	margin: 0;
}

body.home .roof-works .slick-slide {
	padding: 0 1px;
}

body.home .roof-works .work-list {
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 0;
}

body.home .roof-works .work-info {
	align-items: flex-end;
	background: rgba(30, 35, 40, .88);
	bottom: 0;
	display: flex;
	left: 0;
	padding: 12px 14px;
	right: 0;
	top: auto;
}

body.home .roof-works .roof-table-container,
body.home .roof-works .roof-align-container {
	display: block;
	width: 100%;
}

body.home .roof-works .work-title,
body.home .roof-works .work-title a {
	color: #ffffff;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
	margin: 0;
	transform: none;
}

body.home .roof-works .work-info .view-more,
body.home .roof-works .work-info .view-more a {
	color: var(--hidrom-yellow);
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	margin-top: 5px;
	text-transform: uppercase;
	transform: none;
}

body.home .roof-works .work-list:hover .roof-picture img {
	transform: scale(1.02);
}

body.home .roof-works .roof-picture img {
	transition: transform 180ms ease;
}

.hidrom-slick-controls {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: center;
	margin: 20px auto 0;
	min-height: 34px;
}

.hidrom-slick-controls .slick-prev,
.hidrom-slick-controls .slick-next {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: 2px;
	flex: 0 0 32px;
	height: 32px;
	left: auto;
	position: static;
	right: auto;
	transform: none;
	width: 32px;
}

.hidrom-slick-controls .slick-prev::before,
.hidrom-slick-controls .slick-next::before {
	color: #ffffff;
	font-size: 20px;
	opacity: 1;
}

.hidrom-slick-controls .slick-prev:hover,
.hidrom-slick-controls .slick-next:hover,
.hidrom-slick-controls .slick-prev:focus-visible,
.hidrom-slick-controls .slick-next:focus-visible {
	background: var(--hidrom-yellow);
	border-color: var(--hidrom-yellow);
}

.hidrom-slick-controls .slick-prev:hover::before,
.hidrom-slick-controls .slick-next:hover::before,
.hidrom-slick-controls .slick-prev:focus-visible::before,
.hidrom-slick-controls .slick-next:focus-visible::before {
	color: var(--hidrom-ink);
}

.hidrom-slick-controls .slick-prev.slick-disabled,
.hidrom-slick-controls .slick-next.slick-disabled {
	opacity: .35;
}

.hidrom-slick-controls .slick-dots {
	align-items: center;
	display: flex !important;
	gap: 7px;
	justify-content: center;
	margin: 0;
	position: static;
	width: auto;
}

/* The VC converter removes the source padding; this component now owns spacing normally. */
body.home .vc_custom_1505362191425 {
	align-items: center;
	background: #f7f7f7;
	border-left: 4px solid var(--hidrom-yellow);
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 34px var(--hidrom-page-gutter);
}

body.home .vc_custom_1505362191425 [class*='parallax-'],
body.home .vc_custom_1505362191425 .col-md-6 {
	align-items: center;
	display: flex;
	justify-content: space-between;
	max-width: var(--hidrom-content-width);
	padding: 0;
	text-align: left;
	width: 100%;
}

body.home .vc_custom_1505362191425 .roof-btn,
body.home .vc_custom_1505362191425 .wpbakery-button {
	background: var(--hidrom-blue);
	border-radius: 3px;
	color: #ffffff;
	margin: 0 0 0 20px;
}

/* Grid ownership is the immediate shop row, not Bootstrap floats. */
@media (min-width: 992px) {
	.hidrom-shop .roof-main-wrap > .row {
		display: grid;
		gap: 32px;
		grid-template-columns: minmax(0, 1fr) 280px;
		margin-left: 0;
		margin-right: 0;
	}

	.hidrom-shop .roof-main-wrap > .row > .roof-primary,
	.hidrom-shop .roof-main-wrap > .row > .roof-secondary {
		float: none;
		max-width: none;
		padding-left: 0;
		padding-right: 0;
		width: auto;
	}
}

.hidrom-shop .widget_search .searchform {
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) auto;
}

.hidrom-shop .widget_search .searchform input[type='submit'] {
	min-height: 42px;
	position: static;
	transform: none;
	width: auto;
}

.hidrom-shop .woocommerce ul.products {
	align-items: start;
	clear: both;
	grid-auto-flow: row;
	justify-content: start;
}

.hidrom-shop .woocommerce ul.products > li.product {
	clear: none !important;
	float: none !important;
	justify-self: stretch;
}

.hidrom-shop .woocommerce ul.products > li.product .woo-prdt-img {
	border-radius: 0;
	min-height: 232px;
}

.hidrom-shop .roof-secondary .roof-widget,
.hidrom-shop .roof-secondary .roof-widget + .roof-widget {
	border-radius: 0;
	margin-top: 0;
}

.hidrom-shop .roof-secondary .roof-widget + .roof-widget {
	margin-top: 24px;
}

.hidrom-shop .woocommerce ul.product_list_widget li {
	align-items: flex-start;
	display: grid;
	gap: 10px;
	grid-template-columns: 54px minmax(0, 1fr);
}

.hidrom-shop .woocommerce ul.product_list_widget li a {
	min-width: 0;
}

.hidrom-shop .woocommerce ul.product_list_widget li a img {
	border-radius: 0;
	grid-row: span 2;
	height: 54px;
	object-fit: contain;
	width: 54px;
}

/* The CTA is now outside .summary, so it forms a low full-width support band. */
.hidrom-product .hidrom-product-help-cta {
	align-items: center;
	border-left: 4px solid var(--hidrom-yellow);
	border-radius: 0;
	box-shadow: none;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin: 28px 0;
	padding: 22px 28px;
}

.hidrom-product .hidrom-product-help-cta p {
	margin: 6px 0 0;
}

.hidrom-product .hidrom-product-help-cta__actions {
	justify-content: flex-end;
	margin-top: 0;
}

.hidrom-product .hidrom-product-links a:hover,
.hidrom-product .hidrom-product-links a:focus-visible {
	background: var(--hidrom-charcoal);
	border-color: var(--hidrom-charcoal);
	color: #ffffff;
	outline-color: var(--hidrom-blue);
}

.hidrom-product #review_form #respond {
	max-width: 760px;
}

.hidrom-product #review_form #respond label {
	color: var(--hidrom-ink);
	display: block;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 6px;
}

.hidrom-product #review_form #respond textarea,
.hidrom-product #review_form #respond input[type='text'],
.hidrom-product #review_form #respond input[type='email'] {
	border: 1px solid var(--hidrom-border);
	border-radius: 3px;
	box-sizing: border-box;
	min-height: 44px;
	padding: 10px 12px;
	width: 100%;
}

.hidrom-product #review_form #respond textarea {
	min-height: 150px;
}

@media (max-width: 991px) {
	body.home .vc_custom_1505362191425 [class*='parallax-'],
	body.home .vc_custom_1505362191425 .col-md-6,
	.hidrom-product .hidrom-product-help-cta {
		grid-template-columns: 1fr;
	}

	.hidrom-product .hidrom-product-help-cta__actions {
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {
	.roof-logo.hidrom-logo-wrap {
		padding: 8px 0;
	}

	.roof-logo.hidrom-logo-wrap .hidrom-logo-image {
		max-height: 52px;
		max-width: 220px;
	}

	body.home .vc_custom_1505362191425 {
		padding: 28px 20px;
	}

	body.home .vc_custom_1505362191425 [class*='parallax-'],
	body.home .vc_custom_1505362191425 .col-md-6 {
		align-items: flex-start;
		flex-direction: column;
		gap: 18px;
	}

	body.home .vc_custom_1505362191425 .roof-btn,
	body.home .vc_custom_1505362191425 .wpbakery-button {
		margin-left: 0;
	}

	.hidrom-shop .widget_search .searchform {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.hidrom-shop .widget_search .searchform input[type='submit'] {
		width: auto;
	}

	.hidrom-product .hidrom-product-help-cta {
		padding: 20px;
	}

	.hidrom-product .hidrom-product-help-cta__actions {
		align-items: stretch;
		width: 100%;
	}
}

/* Shared child-theme sections formerly split across the stylesheet. */
.hidrom-home-intro,
.hidrom-home-seo,
.hidrom-home-solutions,
.hidrom-b2b-band,
.hidrom-recommendation-cta,
.hidrom-shop-systems,
.hidrom-product-support,
.hidrom-contact-support {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--hidrom-content-width);
	padding-left: var(--hidrom-page-gutter);
	padding-right: var(--hidrom-page-gutter);
}

.hidrom-home-intro {
	color: #ffffff;
	margin-bottom: 48px;
	max-width: none;
	padding-bottom: 48px;
	padding-top: 58px;
}

.hidrom-home-intro__inner {
	margin: 0 auto;
	max-width: var(--hidrom-content-width);
}

.hidrom-eyebrow {
	color: var(--hidrom-red);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .05em;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.hidrom-home-intro .hidrom-eyebrow {
	color: var(--hidrom-yellow);
}

.hidrom-hero h1,
.hidrom-section-heading h2,
.hidrom-b2b-band h2,
.hidrom-recommendation-cta h2,
.hidrom-product-support h2,
.hidrom-contact-support h2 {
	color: var(--hidrom-ink);
	font-weight: 800;
	line-height: var(--hidrom-heading-line-height);
	margin: 0;
}

.hidrom-hero h1 {
	color: #ffffff;
	font-size: clamp(32px, 4vw, 50px);
	max-width: 850px;
}

.hidrom-hero__lead {
	font-size: 18px;
	line-height: 1.65;
	margin: 20px 0 0;
	max-width: 760px;
}

.hidrom-hero__actions,
.hidrom-b2b-band__actions,
.hidrom-recommendation-cta__actions,
.hidrom-product-help-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.hidrom-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 3px;
	display: inline-flex;
	font-size: 13px;
	font-weight: 800;
	justify-content: center;
	min-height: 44px;
	padding: 11px 16px;
	text-decoration: none;
	text-transform: uppercase;
}

.hidrom-button--primary {
	background: var(--hidrom-red);
	border-color: var(--hidrom-red);
	color: #ffffff;
}

.hidrom-button--secondary {
	background: var(--hidrom-yellow);
	border-color: var(--hidrom-yellow);
	color: var(--hidrom-ink);
}

.hidrom-button--ghost {
	border-color: currentColor;
	color: inherit;
}

.hidrom-home-intro .hidrom-button--ghost {
	color: #ffffff;
}

.hidrom-trust-grid {
	display: grid;
	gap: 1px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 32px;
}

.hidrom-trust-card {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .18);
	padding: 18px;
}

.hidrom-trust-card strong,
.hidrom-trust-card span {
	display: block;
}

.hidrom-trust-card span {
	font-size: 14px;
	margin-top: 6px;
}

.hidrom-section-heading {
	margin-bottom: 22px;
	max-width: 840px;
}

.hidrom-section-heading h2,
.hidrom-b2b-band h2,
.hidrom-recommendation-cta h2,
.hidrom-product-support h2,
.hidrom-contact-support h2 {
	font-size: clamp(26px, 3vw, 34px);
}

.hidrom-section-heading p:not(.hidrom-eyebrow),
.hidrom-b2b-band p,
.hidrom-recommendation-cta p,
.hidrom-info-card p,
.hidrom-docs-box p,
.hidrom-contact-support p {
	color: var(--hidrom-muted);
	line-height: var(--hidrom-body-line-height);
	margin: 12px 0 0;
}

.hidrom-solution-grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hidrom-solution-card {
	border: 1px solid var(--hidrom-border);
	color: var(--hidrom-ink);
	display: flex;
	gap: 14px;
	min-height: 184px;
	padding: 20px;
	text-decoration: none;
}

.hidrom-solution-card__icon {
	align-items: center;
	border: 1px solid rgba(244, 196, 0, .7);
	display: inline-flex;
	flex: 0 0 48px;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.hidrom-solution-card__icon svg {
	height: 28px;
	width: 28px;
}

.hidrom-solution-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.hidrom-solution-card__title,
.hidrom-info-card h3,
.hidrom-docs-box h3 {
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
}

.hidrom-solution-card__text {
	color: var(--hidrom-muted);
	font-size: 14px;
	line-height: 1.6;
	margin-top: 10px;
}

.hidrom-solution-card__cta {
	color: var(--hidrom-red);
	font-size: 12px;
	font-weight: 800;
	margin-top: auto;
	padding-top: 16px;
	text-transform: uppercase;
}

.hidrom-b2b-band,
.hidrom-recommendation-cta {
	align-items: center;
	border-left: 5px solid var(--hidrom-red);
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: 42px;
	margin-top: 42px;
	padding-bottom: 26px;
	padding-top: 26px;
}

.hidrom-recommendation-cta {
	background: #fff8d8;
	border-left-color: var(--hidrom-yellow);
}

.hidrom-shop-systems {
	background: var(--hidrom-soft);
	border: 1px solid var(--hidrom-border);
	margin-bottom: 34px;
	padding-bottom: 28px;
	padding-top: 28px;
}

.hidrom-product-support__grid {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 22px;
}

.hidrom-info-card,
.hidrom-docs-box,
.hidrom-contact-support {
	border: 1px solid var(--hidrom-border);
	border-radius: 0;
	padding: 22px;
}

.hidrom-product-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 18px;
}

.hidrom-product-links a {
	border: 1px solid var(--hidrom-border);
	border-radius: 3px;
	color: var(--hidrom-ink);
	font-size: 13px;
	font-weight: 800;
	padding: 10px 13px;
}

@media (max-width: 991px) {
	.hidrom-trust-grid,
	.hidrom-solution-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hidrom-b2b-band,
	.hidrom-recommendation-cta {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.hidrom-home-intro,
	.hidrom-home-seo,
	.hidrom-home-solutions,
	.hidrom-b2b-band,
	.hidrom-recommendation-cta,
	.hidrom-shop-systems,
	.hidrom-product-support,
	.hidrom-contact-support {
		padding-left: 20px;
		padding-right: 20px;
	}

	.hidrom-trust-grid,
	.hidrom-solution-grid,
	.hidrom-product-support__grid {
		grid-template-columns: 1fr;
	}

	.hidrom-hero__actions,
	.hidrom-b2b-band__actions,
	.hidrom-recommendation-cta__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.hidrom-button {
		width: 100%;
	}
}
