/* ==========================================================================
   Rib Marine – Footer
   ========================================================================== */

.rmf-hide-theme-footer .wp-site-blocks > footer.wp-block-template-part,
.rmf-hide-theme-footer #site-footer,
.rmf-hide-theme-footer .site-footer { display: none !important; }

.rmf {
	--rmf-ease: cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	width: 100%;
	color: var(--rmf-text, #fff);
	font-family: var(--rmf-font, inherit);
	line-height: 1.5;
	background: var(--rmf-bg, #1a1a1a);
}
.rmf *, .rmf *::before, .rmf *::after { box-sizing: border-box; }
.rmf__bg { position: absolute; inset: 0; z-index: -2; }
.rmf .rmf__bg-img { width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.rmf__shade { position: absolute; inset: 0; z-index: -1; background: var(--rmf-bg, #1a1a1a); opacity: var(--rmf-ov, 1); }

.rmf__inner {
	max-width: calc(var(--rmf-max, 1120px) + 48px);
	margin: 0 auto;
	padding: var(--rmf-pt, 96px) 24px var(--rmf-pb, 28px);
}

/* Top area */
.rmf__top { display: flex; flex-direction: column; align-items: center; gap: clamp(36px, 5vw, 64px); text-align: center; }
.rmf--spread .rmf__top {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 32px;
	text-align: left;
}
.rmf--spread .rmf__nav { justify-self: center; }

/* Logo */
.rmf .rmf__logo { display: inline-flex; color: var(--rmf-text, #fff); text-decoration: none; transition: opacity 0.3s ease; }
.rmf .rmf__logo:hover { opacity: 0.75; }
.rmf .rmf__logo-img { display: block; width: var(--rmf-logo, 140px); max-width: 100%; height: auto; }
.rmf__logo-text { font-size: 26px; font-weight: 600; letter-spacing: -0.01em; line-height: 1; }

/* Menu */
.rmf .rmf-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px var(--rmf-gap, 40px);
	margin: 0;
	padding: 0;
	list-style: none;
}
.rmf .rmf-menu li { margin: 0; padding: 0; }
.rmf .rmf-menu a {
	position: relative;
	display: inline-block;
	padding: 4px 0;
	color: var(--rmf-link, #fff);
	font-family: inherit;
	font-size: var(--rmf-fs, 15px);
	font-weight: var(--rmf-fw, 400);
	letter-spacing: 0.01em;
	line-height: 1.3;
	text-decoration: none;
	transition: color 0.3s ease;
}
.rmf--upper .rmf-menu a { text-transform: uppercase; }
.rmf .rmf-menu a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform 0.45s var(--rmf-ease);
}
.rmf .rmf-menu a:hover,
.rmf .rmf-menu a:focus-visible { color: var(--rmf-link-h, #b39b6e); }
.rmf .rmf-menu a:hover::after,
.rmf .rmf-menu a:focus-visible::after { transform: scaleX(1); transform-origin: left center; }

/* Social icons – 3 styles */
.rmf .rmf-social {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: calc(var(--rmf-so, 60px) * 0.27);
	margin: 0;
	padding: 0;
	list-style: none;
}
.rmf .rmf-social li { margin: 0; padding: 0; }
.rmf .rmf-social a {
	display: grid;
	place-items: center;
	width: var(--rmf-so, 60px);
	height: var(--rmf-so, 60px);
	color: var(--rmf-ic, #b39b6e);
	font-size: calc(var(--rmf-so, 60px) * 0.47);
	line-height: 0;
	text-decoration: none;
	border-radius: 50%;
	transition: color 0.3s ease, background-color 0.35s ease, border-color 0.35s ease, transform 0.45s var(--rmf-ease);
}
.rmf .rmf-social svg { width: 1em; height: 1em; display: block; }
.rmf .rmf-social a:hover,
.rmf .rmf-social a:focus-visible { transform: translateY(-3px); outline: none; }

/* 1. Circle outline: fills on hover */
.rmf--social-outline .rmf-social a { border: 2px solid var(--rmf-ring, #b39b6e); }
.rmf--social-outline .rmf-social a:hover,
.rmf--social-outline .rmf-social a:focus-visible { color: var(--rmf-ic-h, #1a1a1a); background-color: var(--rmf-ring-h, #b39b6e); border-color: var(--rmf-ring-h, #b39b6e); }

/* 2. No circle: just the icon, a little larger */

.rmf--social-plain .rmf-social a { width: auto; height: auto; padding: 4px; font-size: calc(var(--rmf-so, 60px) * 0.55); border-radius: 4px; }
.rmf--social-plain .rmf-social { gap: calc(var(--rmf-so, 60px) * 0.4); }
.rmf--social-plain .rmf-social a:hover,
.rmf--social-plain .rmf-social a:focus-visible { color: var(--rmf-ic-h, #fff); }

/* 3. Solid circle */
.rmf--social-solid .rmf-social a { background-color: var(--rmf-ring, #b39b6e); }
.rmf--social-solid .rmf-social a:hover,
.rmf--social-solid .rmf-social a:focus-visible { color: var(--rmf-ic-h, #1a1a1a); background-color: var(--rmf-ring-h, #fff); }

.rmf .rmf-social a:focus-visible { box-shadow: 0 0 0 2px var(--rmf-bg, #1a1a1a), 0 0 0 4px var(--rmf-ring-h, #b39b6e); }

/* Credits */
.rmf__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 28px;
	margin-top: clamp(40px, 5vw, 64px);
	padding-top: 22px;
	text-align: center;
}
.rmf__bottom--line { border-top: 1px solid var(--rmf-line, rgba(255, 255, 255, 0.55)); }
.rmf .rmf__credits { margin: 0; color: var(--rmf-cred, rgba(255, 255, 255, 0.85)); font-size: 14px; }
.rmf .rmf__credits a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; transition: border-color 0.3s ease; }
.rmf .rmf__credits a:hover { border-bottom-color: currentColor; }
.rmf--spread .rmf__bottom { justify-content: space-between; text-align: left; }

/* Responsive */
@media (max-width: 900px) {
	.rmf--spread .rmf__top { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 36px; }
	.rmf--spread .rmf__bottom { justify-content: center; text-align: center; }
}
@media (max-width: 767px) {
	.rmf__inner { padding: calc(var(--rmf-pt, 96px) * 0.7) 20px var(--rmf-pb, 28px); }
	.rmf__top { gap: 32px; }
	.rmf .rmf-menu { gap: 10px calc(var(--rmf-gap, 40px) * 0.6); }
	.rmf .rmf-social a { width: calc(var(--rmf-so, 60px) * 0.8); height: calc(var(--rmf-so, 60px) * 0.8); font-size: calc(var(--rmf-so, 60px) * 0.38); }
	.rmf--social-plain .rmf-social a { width: auto; height: auto; font-size: calc(var(--rmf-so, 60px) * 0.45); }
	.rmf .rmf__credits { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
	.rmf * { transition-duration: 0.01ms !important; }
}
