.hidrota-footer { background: #ffffff; padding: 60px 40px; }
.hidrota-footer__grid {
	display: grid; grid-template-columns: 1fr 2fr; gap: 80px; align-items: start;
	max-width: 1280px; margin: 0 auto;
}
.hidrota-footer__title {
	margin: 0 0 22px; font-weight: 800; letter-spacing: .06em;
	color: #000; font-size: 14px; text-transform: uppercase;
}
.hidrota-footer__body { color: var(--hidrota-text-strong); line-height: 1.9; font-size: 14px; }
.hidrota-footer__body p { margin: 0; }

/* Social icons */
.hidrota-footer__social-wrap { margin-top: 24px; }
.hidrota-footer__social-heading {
	margin: 0 0 12px; font-weight: 700; font-size: 13px;
	letter-spacing: .06em; text-transform: uppercase; color: #000;
}
.hidrota-footer__social {
	list-style: none; margin: 0; padding: 0;
	display: flex; gap: 12px; flex-wrap: wrap;
}
.hidrota-footer__social a {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px;
	color: #3a3a3a; text-decoration: none;
	border: 1px solid currentColor; border-radius: 50%;
	transition: color .2s ease, transform .2s ease, background-color .2s ease;
}
.hidrota-footer__social a:hover { color: #d29464; transform: translateY(-2px); }
.hidrota-footer__social a i, .hidrota-footer__social a svg { font-size: 18px; width: 18px; height: 18px; }

/* Static row variant */
.hidrota-footer__certs {
	display: flex; flex-wrap: wrap; align-items: center; gap: 40px;
}
.hidrota-footer__cert img { display: block; height: 70px; width: auto; }

/* ----- Pure-CSS marquee (no Swiper, no flicker) ----- */
.hidrota-footer__marquee {
	width: 100%; overflow: hidden;
	mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%);
}
.hidrota-footer__marquee-track {
	display: flex; width: max-content;
	animation: hidrota-marquee var(--hidrota-marquee-duration, 30s) linear infinite;
}
.hidrota-footer__marquee:hover .hidrota-footer__marquee-track { animation-play-state: paused; }
.hidrota-footer__marquee-row {
	display: flex; align-items: center; gap: 48px; padding-right: 48px; flex-shrink: 0;
}
.hidrota-footer__marquee .hidrota-footer__cert {
	flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
}
.hidrota-footer__marquee .hidrota-footer__cert img {
	display: block; height: 70px; width: auto; max-width: none; object-fit: contain;
}

@keyframes hidrota-marquee {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.hidrota-footer__marquee-track { animation: none; }
}

/* Carousel variant */
.hidrota-footer__certs-carousel { width: 100%; min-width: 0; overflow: hidden; }
.hidrota-footer__certs-carousel .swiper { width: 100%; overflow: hidden; position: relative; }
.hidrota-footer__certs-carousel .swiper-wrapper {
	display: flex; align-items: center;
	/* Once Swiper initializes it will set transform + widths inline; the rules below are a safe fallback. */
}
.hidrota-footer__certs-carousel .swiper-slide {
	display: flex; align-items: center; justify-content: center;
	height: 90px; flex-shrink: 0;
}
.hidrota-footer__certs-carousel .swiper-slide img {
	display: block; height: 70px; width: auto; max-width: 100%; object-fit: contain;
}

/* Pre-init guard: hide the wrapper until Swiper has measured slide widths to
   avoid the brief moment where slides stack on top of each other. */
.hidrota-footer__certs-carousel:not([data-hidrota-certs-init]) .swiper-wrapper { visibility: hidden; }
.hidrota-footer__certs-carousel[data-hidrota-certs-init] .swiper-wrapper      { visibility: visible; }

@media (max-width: 768px) {
	.hidrota-footer { padding: 40px 20px; }
	.hidrota-footer__grid { grid-template-columns: 1fr; gap: 36px; }
	.hidrota-footer__certs { gap: 20px; }
	.hidrota-footer__cert img,
	.hidrota-footer__certs-carousel .swiper-slide img { height: 50px; }
	.hidrota-footer__certs-carousel .swiper-slide { height: 70px; }
}
