/* HSD supplemental styles (filetime-versioned).
   The bulk of the design lives in the compiled style.css. */

.font-poppins { font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif; }
body { font-family: 'Poppins', ui-sans-serif, system-ui, sans-serif; }

/* Trusted partners marquee animation */
@keyframes logoScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.hsd-marquee-track { animation: 28s linear 0s infinite normal none running logoScroll; }

/* Fixed header offset under WP admin bar */
.admin-bar header.hsd-site-header { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar header.hsd-site-header { top: 46px; } }

/* Lock scroll while the mobile menu is open */
body.hsd-menu-open { overflow: hidden; }

/* Slick: match the design's arrow/dot colours */
.hsd-services-slider .slick-prev:before,
.hsd-services-slider .slick-next:before { color: #df562a; }
.hsd-services-slider .slick-dots li button:before { color: #df562a; font-size: 10px; }
.hsd-services-slider .slick-dots li.slick-active button:before { color: #df562a; }

/* WYSIWYG content styling to match the design's typography */
.hsd-prose p { color: #4b5563; line-height: 1.75; margin-bottom: 1.25rem; }
.hsd-prose h2 { font-size: 1.5rem; line-height: 2rem; font-weight: 700; color: #36454f; text-transform: uppercase; margin: 1.5rem 0 1rem; }
.hsd-prose h3 { font-size: 1.25rem; font-weight: 700; color: #36454f; margin: 1.25rem 0 .75rem; }
.hsd-prose ul { list-style: none; margin: 0 0 2rem; padding: 0; }
.hsd-prose ul li { position: relative; padding-left: 1.75rem; margin-bottom: .75rem; color: #374151; }
.hsd-prose ul li::before {
	content: ""; position: absolute; left: 0; top: .35rem; width: 1rem; height: 1rem;
	background-color: #df562a;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='10' fill='none' stroke='black' stroke-width='2'/><path d='m9 12 2 2 4-4' fill='none' stroke='black' stroke-width='2'/></svg>") center/contain no-repeat;
	        mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='12' cy='12' r='10' fill='none' stroke='black' stroke-width='2'/><path d='m9 12 2 2 4-4' fill='none' stroke='black' stroke-width='2'/></svg>") center/contain no-repeat;
}
.hsd-prose a { color: #df562a; text-decoration: underline; }

/* Contact Form 7 – inherit the design's field styling */
.hsd-cf7 .wpcf7-form-control-wrap { display: block; }
.hsd-cf7 input.wpcf7-form-control,
.hsd-cf7 textarea.wpcf7-form-control {
	width: 100%;
	border: 1px solid #d1d5db;
	border-radius: 0.375rem;
	padding: 0.75rem 1rem;
	color: #36454f;
	transition: border-color .2s;
}
.hsd-cf7 input.wpcf7-form-control:focus,
.hsd-cf7 textarea.wpcf7-form-control:focus { outline: none; border-color: #df562a; }
.hsd-cf7 label { display:block; font-size:.875rem; font-weight:600; color:#36454f; margin-bottom:.5rem; }
.hsd-cf7 .grid > div { margin-bottom: 0; }
.hsd-cf7 p { margin: 1.25rem 0 0; }
input.hsd-submit, .hsd-cf7 input.hsd-submit {
	background:#df562a; color:#fff; padding:1rem 2.5rem; border:0; border-radius:.375rem;
	font-weight:700; font-size:1.125rem; cursor:pointer; transition:opacity .2s;
}
input.hsd-submit:hover { opacity:.9; }
.hsd-cf7 .wpcf7-spinner { margin: 1rem 0 0 .5rem; }
