@font-face {
	font-family: "Roslindale Variable Display";
	src: url("../fonts/Roslindale-VariableDisplay.woff2") format("woff2");
	font-weight: 200 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Light.woff2") format("woff2");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-LightItalic.woff2") format("woff2");
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Montaga";
	src: url("../fonts/Montaga-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

.coffilia-site { overflow-x: hidden; }
.coffilia-font-display { font-family: var(--coffilia-font-display); }
.coffilia-font-accent { font-family: var(--coffilia-font-accent); }
.coffilia-header__inner, .coffilia-footer__inner { width: min(1200px, calc(100% - 2rem)); margin-inline: auto; }
.coffilia-header__inner { display: flex; align-items: center; gap: 2rem; justify-content: space-between; width: min(64rem, calc(100% - 3rem)); max-width: none; min-height: 9.375rem; }
.coffilia-header .site-branding { flex: 0 0 6.25rem; }
.coffilia-header .custom-logo-link { display: block; width: 6.25rem; }
.coffilia-header a { color: inherit; }
.coffilia-header .custom-logo { display: block; width: 6.25rem; height: auto; visibility: visible; opacity: 1; transform-origin: center; animation: coffilia-globe-spin 16s linear infinite; }
.coffilia-header .site-title, .coffilia-header .site-description { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.coffilia-header .site-title { margin: 0; }
.coffilia-navigation { flex: 0 0 auto; width: auto; margin-inline-start: auto; }
.coffilia-navigation > ul { display: flex; gap: 1.5rem; align-items: center; margin: 0; padding: 0; list-style: none; }
.coffilia-navigation a, .coffilia-language-switcher a, .coffilia-language-switcher__button { display: block; padding: .75rem .25rem; }
.coffilia-navigation a, .coffilia-language-switcher a { color: inherit; text-decoration: none; }
.coffilia-header .current-menu-item > a { color: #009f77; font-weight: 700; }
.coffilia-header .menu-toggle { color: inherit; }
.menu-toggle { display: none; }
.coffilia-navigation .submenu-toggle { display: none; }
.coffilia-language-switcher { display: flex; gap: .5rem; }
.coffilia-language-switcher__button { border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; }
.coffilia-language-switcher__button.is-active { font-weight: 700; }
@media (min-width: 768px) {
	.coffilia-navigation > ul > li { position: relative; }
	.coffilia-navigation > ul ul { position: absolute; top: 100%; left: 0; z-index: 30; display: flex; flex-direction: column; min-width: 10rem; margin: 0; padding: .5rem 0; list-style: none; background: #fffef4; color: #042720; box-shadow: 0 1rem 2rem rgba(4, 39, 32, .16); opacity: 0; visibility: hidden; transform: translateY(-.375rem); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
	.coffilia-navigation > ul ul a { color: #042720; padding: .625rem 1.25rem; white-space: nowrap; }
	.coffilia-navigation > ul > li:hover > ul, .coffilia-navigation > ul > li:focus-within > ul { opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto; }
	.coffilia-navigation > ul ul .current-menu-item > a { color: #009f77; }
}
@media (min-width: 768px) and (prefers-reduced-motion: reduce) {
	.coffilia-navigation > ul ul { transition: none; }
}
.coffilia-google-translate { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
body { top: 0 !important; }
.skiptranslate iframe { display: none !important; }
.coffilia-footer { padding: 3rem 0 1rem; }
.coffilia-footer__inner { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr) auto; gap: 2rem; }
.coffilia-footer h2 { font-size: 1rem; margin: 0 0 .75rem; }
.coffilia-footer p, .coffilia-footer address { margin: 0 0 .75rem; font-style: normal; white-space: pre-line; }
.coffilia-footer__copyright { width: min(1200px, calc(100% - 2rem)); margin: 2rem auto 0; padding-top: 1rem; border-top: 1px solid currentColor; }
.coffilia-preloader { position: fixed; inset: 0; z-index: 99999; display: grid; place-content: center; gap: .25rem; background: #000; color: #fff; font-size: clamp(2rem, 7vw, 6rem); line-height: 1; text-align: center; transition: opacity 0.48s ease, visibility 0.48s ease; }
html.coffilia-preloader-seen-today .coffilia-preloader { display: none; }
html:not(.js) .coffilia-preloader { display: none; }
.coffilia-preloader__letter { display: inline-block; color: #fff; }
.coffilia-preloader.is-replaying .coffilia-preloader__letter { animation: coffilia-preloader-color 0.26s ease-in-out both; animation-delay: calc(var(--coffilia-letter-index) * 0.08s); }
.coffilia-preloader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes coffilia-preloader-color { from { color: #fff; } to { color: #009f77; } }
@keyframes coffilia-globe-spin { to { transform: rotate(360deg); } }
@media (max-width: 767px) {
	.coffilia-header { position: relative; }
	.coffilia-header__inner { flex-wrap: wrap; width: min(calc(100% - 2rem), 37.5rem); min-height: 0;}
	.coffilia-navigation { display: contents; }
	.coffilia-language-switcher { order: 1; margin-inline-start: auto; }
	.menu-toggle { order: 2; display: inline-flex; padding: .75rem; border: 1px solid currentColor; background: transparent; }
	.coffilia-navigation > ul { position: absolute; z-index: 20; top: 100%; right: 0; left: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; width: 100%; max-height: calc(100svh - 9rem); overflow-y: auto; box-sizing: border-box; padding: 1rem max(1rem, calc((100vw - 37.5rem) / 2)); background: #fffef4; color: #042720; box-shadow: 0 1rem 2rem rgba(4, 39, 32, .16); }
	.coffilia-navigation.has-mobile-menu > ul { visibility: hidden; opacity: 0; transform: translateY(-.75rem); pointer-events: none; transition: opacity .28s ease, transform .28s ease, visibility .28s; }
	.coffilia-navigation.has-mobile-menu.is-open > ul { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
	.coffilia-navigation > ul > li { border-bottom: 1px solid rgba(4, 39, 32, .16); }
	.coffilia-navigation > ul > li:last-child { border-bottom: 0; }
	.coffilia-header .coffilia-navigation > ul a { color: #042720; }
	.coffilia-header .coffilia-navigation > ul .current-menu-item > a { color: #009f77; }
	.coffilia-navigation a { padding: .875rem 0; }
	.coffilia-navigation > ul ul { position: static; float: none; display: block; width: 100%; margin: 0; padding: 0 0 .5rem 1rem; box-shadow: none; }
	.coffilia-navigation.has-mobile-menu > ul ul { display: none; }
	.coffilia-navigation.has-mobile-menu > ul li.is-submenu-open > ul { display: block; animation: coffilia-submenu-in .24s ease both; }
	.coffilia-navigation .submenu-toggle { position: absolute; top: .35rem; right: 0; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; padding: 0; border: 0; background: transparent; color: #042720; cursor: pointer; }
	.coffilia-navigation .submenu-toggle::before { content: "+"; font-size: 1.5rem; line-height: 1; }
	.coffilia-navigation .is-submenu-open > .submenu-toggle::before { content: "−"; }
	.coffilia-navigation > ul li:has(> .submenu-toggle) > a { padding-right: 3rem; }
	.coffilia-footer__inner { grid-template-columns: 1fr 1fr; }
}
@keyframes coffilia-submenu-in { from { opacity: 0; transform: translateY(-.375rem); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
	.coffilia-preloader__letter { animation: none !important; color: #009f77; }
	.coffilia-preloader { transition-duration: .01ms; }
	.coffilia-header .custom-logo { animation: none; }
	.coffilia-navigation.has-mobile-menu > ul { transition: none; }
	.coffilia-navigation.has-mobile-menu > ul li.is-submenu-open > ul { animation: none; }
}

.coffilia-footer {
	position: relative;
	height: 17.0625rem;
	min-height: 0;
	overflow: hidden;
	padding: 3.3125rem 0 0;
	border-radius: 0;
	background: #042720;
	color: #fff;
}
.coffilia-footer a { color: inherit; }
.coffilia-footer__pattern { position: absolute; inset: 0; pointer-events: none; }
.coffilia-footer__pattern img { width: 100%; height: 100%; object-fit: cover; opacity: .35; }
.coffilia-footer__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 17.6875rem 14.5625rem 16rem; align-items: start; justify-content: space-between; width: min(1024px, calc(100% - 3rem)); min-height: 8.125rem; margin-inline: auto; }
.coffilia-footer__contact { display: grid; row-gap: .35rem; margin: 0; font-size: .9375rem; line-height: 1.2; }
.coffilia-footer__contact h2 { margin: 0 0 .625rem; font-size: .875rem; font-weight: 400; line-height: 1.2; }
.coffilia-footer__contact-row { display: grid; grid-template-columns: 1.25rem minmax(0, 1fr); align-items: center; column-gap: 1.25rem; min-height: 1.8rem; text-decoration: none; }
.coffilia-footer__contact-row img { width: 1.25rem; height: 1.25rem; margin: 0; object-fit: contain; }
.coffilia-footer__contact-row--address > span { display: grid; gap: .35rem; }
.coffilia-footer__contact-row--address { align-items: center; }
.coffilia-footer__brand { display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: center; width: 14.5625rem; }
.coffilia-footer__brand img { display: block; width: auto; height: auto; max-width: 14.5625rem; max-height: 6.875rem; margin: 0 0 1.25rem; }
.coffilia-footer__hours { display: flex; gap: .35em; margin: 0; font-size: .68rem; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; white-space: nowrap; }
.coffilia-footer__hours span, .coffilia-footer__hours strong { flex-shrink: 0; white-space: nowrap; }
.coffilia-footer__hours span { font-weight: 300; }
.coffilia-footer__hours strong { font-weight: 500; }
.coffilia-footer__qr { width: 16rem; text-align: center; }
.coffilia-footer__qr-links { display: flex; justify-content: center; gap: .5rem; width: 14.625rem; height: 6.8125rem; margin: -.375rem auto 0; }
.coffilia-footer__qr-link { display: flex; flex-direction: column; width: 4.5rem; height: 6.8125rem; color: inherit; text-decoration: none; }
.coffilia-footer__qr-icon { position: relative; display: block; width: 4.5rem; height: 2rem; }
.coffilia-footer__qr-icon-image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; transition: opacity .25s ease; }
.coffilia-footer__qr-icon-image--color { opacity: 0; }
.coffilia-footer__qr-link:hover .coffilia-footer__qr-icon-image--bw,
.coffilia-footer__qr-link:focus-visible .coffilia-footer__qr-icon-image--bw,
.coffilia-footer__qr-link:active .coffilia-footer__qr-icon-image--bw { opacity: 0; }
.coffilia-footer__qr-link:hover .coffilia-footer__qr-icon-image--color,
.coffilia-footer__qr-link:focus-visible .coffilia-footer__qr-icon-image--color,
.coffilia-footer__qr-link:active .coffilia-footer__qr-icon-image--color { opacity: 1; }
.coffilia-footer__qr-code { display: block; width: 4.5rem; height: 4.4rem; object-fit: contain; }
.coffilia-footer__qr p { margin: .55rem 0 0; font-size: .7375rem; line-height: 1.2; }
.coffilia-footer__copyright { position: relative; z-index: 1; width: min(1024px, calc(100% - 3rem)); margin: 3rem auto 1rem; padding: 0; border: 0; font-size: .6875rem; line-height: 1.2; text-align: end; white-space: nowrap; }
@media (max-width: 767px) {
	.coffilia-footer { height: auto; min-height: 0; padding: 3rem 0 1.5rem; border-radius: 0; }
	.coffilia-footer__inner { grid-template-columns: 1fr; gap: 2rem; width: min(100% - 3rem, 31rem); }
	.coffilia-footer__contact, .coffilia-footer__brand, .coffilia-footer__qr { width: 100%; }
	.coffilia-footer__brand img { max-width: min(14.5625rem, 75vw); }
	.coffilia-footer__qr-links { width: min(14.625rem, 100%); }
	.coffilia-footer__copyright { width: min(100% - 3rem, 31rem); margin: 2rem auto 0; white-space: normal; text-align: start; }
}

.coffilia-back-to-top { position: fixed; z-index: 40; right: clamp(16px, 3vw, 40px); bottom: clamp(16px, 3vw, 40px); display: block; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #fffef4; color: #009f77; box-shadow: 0 .25rem 1rem rgba(4, 39, 32, .16); cursor: pointer; text-decoration: none; }
.coffilia-back-to-top svg { display: block; width: 100%; height: 100%; }
.coffilia-back-to-top:hover { transform: translateY(-2px); }
.coffilia-back-to-top:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
html.js .coffilia-back-to-top { opacity: 0; visibility: hidden; transform: translateY(.5rem); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
html.js .coffilia-back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
	html.js .coffilia-back-to-top { transition: none; }
	.coffilia-back-to-top:hover { transform: none; }
}
