/* Lippulaiva — center-specific branding overrides */

/* ── SharpGrotesk font faces ─────────────────────────────────────────────── */

@font-face {
	font-family: 'SharpGrotesk';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src:
		url('../fonts/SharpGroteskBook22.otf') format('opentype'),
		url('../fonts/SharpGroteskBook22.ttf') format('truetype');
}

@font-face {
	font-family: 'SharpGrotesk';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src:
		url('../fonts/SharpGroteskMedium20.otf') format('opentype'),
		url('../fonts/SharpGroteskMedium20.ttf') format('truetype');
}

@font-face {
	font-family: 'SharpGrotesk';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src:
		url('../fonts/SharpGroteskSmBold16.otf') format('opentype'),
		url('../fonts/SharpGroteskSmBold16.ttf') format('truetype');
}

@font-face {
	font-family: 'SharpGrotesk';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src:
		url('../fonts/SharpGroteskBold14.otf') format('opentype'),
		url('../fonts/SharpGroteskBold14.ttf') format('truetype');
}

/* ── CSS variable overrides ──────────────────────────────────────────────── */

:root {
	--body-text--fontFamily: 'SharpGrotesk', sans-serif;
}

body,
button,
input,
select,
textarea {
	font-family: 'SharpGrotesk', sans-serif !important;
}

/* ── Footer: dark green background ──────────────────────────────────────── */

footer {
	--ll-dark-green: #00483a;
	background-color: var(--ll-dark-green) !important;
	color: #ffffff;
}

footer a {
	color: #ffffff;
}

/* ── Footer logo: force white ────────────────────────────────────────────── */

.lippulaiva-footer-logo {
	transition: filter 0.2s ease;
}

footer a:hover .lippulaiva-footer-logo,
footer a:focus .lippulaiva-footer-logo {
	filter: brightness(0) invert(1) opacity(0.75);
}

/* ── Footer: triangle before first menu item ─────────────────────────────── */

.lippulaiva-menu-triangle {
	fill: rgb(0, 253, 205);
	cursor: pointer;
	width: 39px;
	display: inline-block;
	flex-shrink: 0;
	margin-bottom: 0rem;
}

.lippulaiva-menu-triangle--second-column {
	display: none;
}

@media only screen and (min-width: 640px) {
	.lippulaiva-menu-triangle--second-column {
		display: inline-block;
	}
}

@media only screen and (min-width: 992px) {
	.lippulaiva-menu-triangle {
		width: 25px;
	}
}

@media only screen and (min-width: 1200px) {
	.lippulaiva-menu-triangle {
		width: 25px;
	}
}

@media only screen and (min-width: 1400px) {
	.lippulaiva-menu-triangle {
		width: 25px;
	}
}

/* ── Footer: social media icons ─────────────────────────────────────────── */

footer .lippulaiva-social-icon {
	border-radius: 50%;
	background-color: rgb(0, 253, 205);
	color: #00483a;
	font-size: 20px;
	width: 60px;
	height: 60px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: opacity 0.2s ease;

	i {
		font-size: 2.5rem;
	}
}

footer .lippulaiva-social-icon:hover {
	opacity: 0.75;
}

/* ── Newsletter section: purple background, rounded button ──────────────── */

.newsletter-section {
	--button-bg-color: rgb(0, 253, 205);
	--button-color: #582aa4;
	background-color: #582aa4 !important;
	color: #ffffff;
}

.newsletter-section .newsletter-section__button,
.newsletter-section button[type='submit'],
.newsletter-section input[type='submit'] {
	background-color: #582aa4;
	color: white;
	font-stretch: 70%;
	font-variation-settings: 'wdth' 70;
	letter-spacing: 0.5px;
	padding: 6px 33px;
	border: 0;
	border-radius: 31px;
	font-weight: 700;
	text-transform: capitalize;
	font-size: 30px;
	line-height: 1.2;
	text-decoration: none;
	margin-top: 0.5rem;
	display: block;
	width: fit-content;
	transition: all 0.2s ease-in;
	clip-path: none;
}

.newsletter-section .newsletter-section__button::before,
.newsletter-section .newsletter-section__button::after {
	content: none;
}

.newsletter-section .newsletter-section__button:hover,
.newsletter-section button[type='submit']:hover,
.newsletter-section input[type='submit']:hover {
	color: inherit;
	opacity: 0.85;
}
.newsletter-section__image {
	height: 400px;
}

.newsletter-section__button {
	background-color: #582aa4;
	color: white;
	font-stretch: 70%;
	font-variation-settings: 'wdth' 70;
	letter-spacing: 0.5px;
	padding: 6px 33px;
	border: 0;
	border-radius: 31px;
	font-weight: 700;
	text-transform: capitalize;
	font-size: 30px;
	line-height: 1.2;
	text-decoration: none;
	margin-top: 0.5rem;
	display: block;
	width: fit-content;
	transition: all 0.2s ease-in;
	clip-path: none;
}

.newsletter-section__button:hover {
	color: white;
	opacity: 0.75;
}
.text-pink {
	color: rgb(205, 0, 92);
}

.placeholder-text-pink::placeholder {
	color: rgb(205, 0, 92);
}

.text-violet {
	color: #582aa4;
}
