/* Original design values from the published site kit. Exported selectors live in original/. */
:root {
  --color-primary: #111111;
  --color-secondary: #222222;
  --color-background: #f4f4f4;
  --color-text: #c2c2c2;
  --color-accent: #00cccc;
  --color-purple: #6600ff;
  --color-border: #c2c2c2;
}
body { margin: 0; }
.img-fluid { max-width: 100%; height: auto; }
.funding-note { max-width: 1200px; margin: 0 auto; padding: 24px 20px; }
.funding-note__logos { display: flex; flex-direction: column; align-items: center; gap: 24px; }
.funding-note__text { margin: 16px 0 0; color: #6c757d; font-size: 14px; line-height: 1.5; text-align: center; }
@media (min-width: 992px) {
  .funding-note__logos { flex-direction: row; justify-content: space-between; }
}
.hfe-nav-menu__toggle, .hfe-flyout-close { border: 0; border-radius: 0; background: transparent; padding: 0; cursor: pointer; }
.hfe-nav-menu__toggle:hover, .hfe-nav-menu__toggle:focus, .hfe-flyout-close:hover, .hfe-flyout-close:focus { background: transparent; }
.hfe-flyout-wrapper { visibility: hidden; pointer-events: none; }
.hfe-flyout-wrapper.is-open { visibility: visible; pointer-events: auto; }
.hfe-flyout-wrapper.is-open .hfe-flyout-overlay { display: block; opacity: 1; visibility: visible; }
.hfe-flyout-wrapper.is-open .hfe-flyout-left { transform: translateX(0); left: 0; visibility: visible; }
.hfe-flyout-wrapper .hfe-flyout-container { max-width: 100vw; }
.hfe-flyout-wrapper .hfe-side { max-width: 100vw; }
.hfe-flyout-wrapper .hfe-flyout-close { display: block; }
body.menu-open { overflow: hidden; }
.swiper { overflow: hidden; touch-action: pan-y; }
.swiper-wrapper { display: flex; transition-property: transform; transition-timing-function: ease; }
.swiper-slide { flex: 0 0 var(--slide-width, 100%); width: var(--slide-width,100%); margin-right: var(--slide-gap,0px); }
.elementor-swiper-button { cursor: pointer; }
.contact-delivery-note { font-size: 14px; line-height: 1.6; margin-top: 16px; }
.post-password-form { max-width: 1200px; margin: 40px auto; padding: 20px; color: var(--color-primary); }
.site-lightbox { border: 0; padding: 52px 60px; width: 100vw; height: 100dvh; max-width: none; max-height: none; background: rgba(0,0,0,.9); color: white; }
.site-lightbox::backdrop { background: rgba(0,0,0,.8); }
.site-lightbox figure { margin: 0; height: 100%; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 12px; }
.site-lightbox img { max-width: 100%; max-height: calc(100% - 35px); object-fit: contain; }
.site-lightbox button { position: absolute; border: 0; color: white; background: transparent; font-size: 30px; cursor: pointer; }
.site-lightbox-close { top: 10px; right: 14px; }
.site-lightbox-prev { left: 4px; top: 48%; }
.site-lightbox-next { right: 4px; top: 48%; }
.site-fade { animation: site-fade 1.25s both; }
.site-fade.animated-slow { animation-duration: 2s; }
@keyframes site-fade { from { opacity:0; } to { opacity:1; } }
:focus-visible { outline: 2px solid var(--color-purple); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
.hfe-flyout-wrapper.is-open .hfe-side { display: block; }
@font-face { font-family: Inter; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/inter-latin-e1b9f0ecaaebb12c93064cd3c406f82b.woff2') format('woff2'); }
#join-widget { font-family: Inter, sans-serif; font-size: 14px; line-height: 20px; }
.elementor-motion-effects-container { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.elementor-motion-effects-layer { position: absolute; inset: 0; background-repeat: no-repeat; }

.cookie-consent [hidden] { display: none !important; }
.cookie-consent__dialog {
  position: fixed;
  z-index: 10000;
  right: 10px;
  bottom: 10px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: min(656px, calc(100vw - 20px));
  min-width: 0;
  max-height: calc(100vh - 20px);
  max-height: calc(100dvh - 20px);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 22px;
  border: 1px solid #dedede;
  border-radius: 12px;
  background: #fff;
  color: var(--color-primary);
  box-shadow: 0 8px 32px rgb(0 0 0 / 22%);
  font: inherit;
  overscroll-behavior: contain;
}
.cookie-consent__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.cookie-consent__header h2 { margin: 0 0 14px; color: var(--color-primary); font: inherit; font-size: 20px; font-weight: 700; line-height: 1.3; }
.cookie-consent__close { flex: 0 0 auto; min-width: 36px; min-height: 36px; margin: -7px -8px 0 0; border: 0; border-radius: 4px; background: transparent; color: var(--color-primary); font: inherit; font-size: 28px; line-height: 1; cursor: pointer; }
.cookie-consent__content { min-width: 0; overflow-wrap: anywhere; }
.cookie-consent__content > p { margin: 0 0 16px; color: var(--color-secondary); font-size: 14px; line-height: 1.55; }
.cookie-consent__settings { border-top: 1px solid #dedede; }
.cookie-consent__category { padding: 12px 0; border-bottom: 1px solid #dedede; }
.cookie-consent__category-heading { display: flex; align-items: center; gap: 12px; min-height: 28px; }
.cookie-consent__category-heading label { flex: 1; font-weight: 700; }
.cookie-consent__category-heading span { color: #555; font-size: 13px; }
.cookie-consent__category-heading input { width: 20px; height: 20px; margin: 0; accent-color: var(--color-purple); }
.cookie-consent__category-heading input:disabled { opacity: .7; }
.cookie-consent__category details { margin-top: 8px; color: #444; font-size: 13px; line-height: 1.5; }
.cookie-consent__category summary { width: fit-content; cursor: pointer; }
.cookie-consent__category details p { margin: 8px 0 0; }
.cookie-consent__actions { flex-shrink: 0; margin-top: auto; padding-top: 18px; }
.cookie-consent__initial-actions { display: flex; gap: 8px; }
.cookie-consent__button, .cookie-consent__manage { box-sizing: border-box; min-width: 0; min-height: 44px; padding: 10px 14px; border: 1px solid var(--color-primary); border-radius: 4px; background: #fff; color: var(--color-primary); font: inherit; font-size: 14px; font-weight: 600; line-height: 1.25; text-align: center; overflow-wrap: anywhere; cursor: pointer; }
.cookie-consent__button { flex: 1 1 0; }
.cookie-consent__button--primary { background: var(--color-primary); color: #fff; }
.cookie-consent__button:hover, .cookie-consent__manage:hover { background: #eee; color: var(--color-primary); }
.cookie-consent__button--primary:hover { background: var(--color-secondary); color: #fff; }
.cookie-consent__manage { position: fixed; z-index: 9999; right: 10px; bottom: 10px; max-width: calc(100vw - 20px); box-shadow: 0 2px 12px rgb(0 0 0 / 18%); }
.cookie-consent button:focus-visible, .cookie-consent input:focus-visible, .cookie-consent summary:focus-visible { outline: 2px solid var(--color-purple); outline-offset: 3px; }
@media (max-width: 767px) {
  .cookie-consent__dialog { right: env(safe-area-inset-right); bottom: 0; left: env(safe-area-inset-left); width: auto; max-height: calc(100vh - env(safe-area-inset-top)); max-height: calc(100dvh - env(safe-area-inset-top)); padding: 16px 14px calc(16px + env(safe-area-inset-bottom)); border-radius: 12px 12px 0 0; }
  .cookie-consent__initial-actions { flex-direction: column; }
  .cookie-consent__button { flex: 0 0 auto; width: 100%; }
  .cookie-consent__manage { right: max(10px, env(safe-area-inset-right)); bottom: calc(10px + env(safe-area-inset-bottom)); }
}
