/*!***************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/swiper.css ***!
  \***************************************************************************************************************************************************************************************************************************/
/**
 * Swiper 12.1.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2026 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 18, 2026
 */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
  .swiper-slide,
  .swiper-cube-shadow {
    transform-style: preserve-3d;
  }
}

/* CSS Mode */
.swiper-css-mode {
  > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none; /* For Firefox */
    -ms-overflow-style: none; /* For Internet Explorer and Edge */
    &::-webkit-scrollbar {
      display: none;
    }
  }
  > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  &.swiper-horizontal {
    > .swiper-wrapper {
      scroll-snap-type: x mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      -webkit-margin-start: var(--swiper-slides-offset-before);
              margin-inline-start: var(--swiper-slides-offset-before);
      scroll-margin-inline-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      -webkit-margin-end: var(--swiper-slides-offset-after);
              margin-inline-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-vertical {
    > .swiper-wrapper {
      scroll-snap-type: y mandatory;
    }
    > .swiper-wrapper > .swiper-slide:first-child {
      -webkit-margin-before: var(--swiper-slides-offset-before);
              margin-block-start: var(--swiper-slides-offset-before);
      scroll-margin-block-start: var(--swiper-slides-offset-before);
    }
    > .swiper-wrapper > .swiper-slide:last-child {
      -webkit-margin-after: var(--swiper-slides-offset-after);
              margin-block-end: var(--swiper-slides-offset-after);
    }
  }
  &.swiper-free-mode {
    > .swiper-wrapper {
      scroll-snap-type: none;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: none;
    }
  }
  &.swiper-centered {
    > .swiper-wrapper::before {
      content: "";
      flex-shrink: 0;
      order: 9999;
    }
    > .swiper-wrapper > .swiper-slide {
      scroll-snap-align: center center;
      scroll-snap-stop: always;
    }
  }
  &.swiper-centered.swiper-horizontal {
    > .swiper-wrapper > .swiper-slide:first-child {
      -webkit-margin-start: var(--swiper-centered-offset-before);
              margin-inline-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      height: 100%;
      min-height: 1px;
      width: var(--swiper-centered-offset-after);
    }
  }
  &.swiper-centered.swiper-vertical {
    > .swiper-wrapper > .swiper-slide:first-child {
      -webkit-margin-before: var(--swiper-centered-offset-before);
              margin-block-start: var(--swiper-centered-offset-before);
    }
    > .swiper-wrapper::before {
      width: 100%;
      min-width: 1px;
      height: var(--swiper-centered-offset-after);
    }
  }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom,
  .swiper-slide-shadow,
  .swiper-slide-shadow-left,
  .swiper-slide-shadow-right,
  .swiper-slide-shadow-top,
  .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
  .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/modules/pagination.css ***!
  \***************************************************************************************************************************************************************************************************************************************/
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
  &.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > &,
  &.swiper-pagination-disabled {
    display: none !important;
  }
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
  .swiper-pagination-bullet {
    transform: scale(0.33);
    position: relative;
  }
  .swiper-pagination-bullet-active {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-main {
    transform: scale(1);
  }
  .swiper-pagination-bullet-active-prev {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-prev-prev {
    transform: scale(0.33);
  }
  .swiper-pagination-bullet-active-next {
    transform: scale(0.66);
  }
  .swiper-pagination-bullet-active-next-next {
    transform: scale(0.33);
  }
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
  button& {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  .swiper-pagination-clickable & {
    cursor: pointer;
  }
  &:only-child {
    display: none !important;
  }
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
  .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block;
  }
  &.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    .swiper-pagination-bullet {
      display: inline-block;
      transition: 200ms transform, 200ms top;
    }
  }
}

.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-horizontal.swiper-pagination-bullets {
  .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
  }
  &.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    .swiper-pagination-bullet {
      transition: 200ms transform, 200ms left;
    }
  }
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
  .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl & .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > &,
  &.swiper-pagination-horizontal,
  .swiper-vertical > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-vertical > &,
  &.swiper-pagination-vertical,
  .swiper-horizontal > &.swiper-pagination-progressbar-opposite,
  &.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
}

.swiper-pagination-lock {
  display: none;
}
/*!***************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/swiper/modules/navigation.css ***!
  \***************************************************************************************************************************************************************************************************************************************/
:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  width: var(--swiper-navigation-size);
  height: var(--swiper-navigation-size);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  &.swiper-button-disabled {
    opacity: 0.35;
    cursor: auto;
    pointer-events: none;
  }
  &.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled & {
    display: none !important;
  }
  svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none;
  }
}

.swiper-button-lock {
  display: none;
}

.swiper-button-prev,
.swiper-button-next {
  top: var(--swiper-navigation-top-offset, 50%);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
}

.swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4px);
  right: auto;
  .swiper-navigation-icon {
    transform: rotate(180deg);
  }
}

.swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4px);
  left: auto;
}

.swiper-horizontal {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - var(--swiper-navigation-size) / 2);
    margin-left: 0;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;
  }
  .swiper-button-next,
  & ~ .swiper-button-next,
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
  }
  .swiper-button-prev,
  & ~ .swiper-button-prev,
  &.swiper-rtl .swiper-button-next,
  &.swiper-rtl ~ .swiper-button-next {
    .swiper-navigation-icon {
      transform: rotate(180deg);
    }
  }
  &.swiper-rtl .swiper-button-prev,
  &.swiper-rtl ~ .swiper-button-prev {
    .swiper-navigation-icon {
      transform: rotate(0deg);
    }
  }
}

.swiper-vertical {
  .swiper-button-prev,
  .swiper-button-next,
  ~ .swiper-button-prev,
  ~ .swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - var(--swiper-navigation-size) / 2);
    margin-top: 0;
  }
  .swiper-button-prev,
  ~ .swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto;
    .swiper-navigation-icon {
      transform: rotate(-90deg);
    }
  }
  .swiper-button-next,
  ~ .swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto;
    .swiper-navigation-icon {
      transform: rotate(90deg);
    }
  }
}
/*!****************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./node_modules/photoswipe/dist/photoswipe.css ***!
  \****************************************************************************************************************************************************************************************************************************************/
/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */
.pswp {
  --pswp-bg: #000;
  --pswp-placeholder-bg: #222;
  --pswp-root-z-index: 100000;
  --pswp-preloader-color: rgba(79, 79, 79, 0.4);
  --pswp-preloader-color-secondary: rgba(255, 255, 255, 0.9);
  /* defined via js:
  --pswp-transition-duration: 333ms; */
  --pswp-icon-color: #fff;
  --pswp-icon-color-secondary: #4f4f4f;
  --pswp-icon-stroke-color: #4f4f4f;
  --pswp-icon-stroke-width: 2px;
  --pswp-error-text-color: var(--pswp-icon-color);
}

/*
	Styles for basic PhotoSwipe (pswp) functionality (sliding area, open/close transitions)
*/
.pswp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--pswp-root-z-index);
  display: none;
  touch-action: none;
  outline: 0;
  opacity: 0.003;
  contain: layout style size;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Prevents focus outline on the root element,
  (it may be focused initially) */
.pswp:focus {
  outline: 0;
}

.pswp * {
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

.pswp--open {
  display: block;
}

.pswp,
.pswp__bg {
  transform: translateZ(0);
  will-change: opacity;
}

.pswp__bg {
  opacity: 0.005;
  background: var(--pswp-bg);
}

.pswp,
.pswp__scroll-wrap {
  overflow: hidden;
}

.pswp__scroll-wrap,
.pswp__bg,
.pswp__container,
.pswp__item,
.pswp__content,
.pswp__img,
.pswp__zoom-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.pswp__img,
.pswp__zoom-wrap {
  width: auto;
  height: auto;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img {
  cursor: zoom-in;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img {
  cursor: move;
  cursor: grab;
}

.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active {
  cursor: grabbing;
}

/* :active to override grabbing cursor */
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,
.pswp__img {
  cursor: zoom-out;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img,
.pswp__button,
.pswp__counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.pswp__item {
  /* z-index for fade transition */
  z-index: 1;
  overflow: hidden;
}

.pswp__hidden {
  display: none !important;
}

/* Allow to click through pswp__content element, but not its children */
.pswp__content {
  pointer-events: none;
}

.pswp__content > * {
  pointer-events: auto;
}

/*

  PhotoSwipe UI

*/
/*
	Error message appears when image is not loaded
	(JS option errorMsg controls markup)
*/
.pswp__error-msg-container {
  display: grid;
}

.pswp__error-msg {
  margin: auto;
  font-size: 1em;
  line-height: 1;
  color: var(--pswp-error-text-color);
}

/*
class pswp__hide-on-close is applied to elements that
should hide (for example fade out) when PhotoSwipe is closed
and show (for example fade in) when PhotoSwipe is opened
 */
.pswp .pswp__hide-on-close {
  opacity: 0.005;
  will-change: opacity;
  transition: opacity var(--pswp-transition-duration) cubic-bezier(0.4, 0, 0.22, 1);
  z-index: 10; /* always overlap slide content */
  pointer-events: none; /* hidden elements should not be clickable */
}

/* class pswp--ui-visible is added when opening or closing transition starts */
.pswp--ui-visible .pswp__hide-on-close {
  opacity: 1;
  pointer-events: auto;
}

/* <button> styles, including css reset */
.pswp__button {
  position: relative;
  display: block;
  width: 50px;
  height: 60px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  cursor: pointer;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 0.85;
  -webkit-appearance: none;
  -webkit-touch-callout: none;
}

.pswp__button:hover,
.pswp__button:active,
.pswp__button:focus {
  transition: none;
  padding: 0;
  background: none;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.pswp__button:disabled {
  opacity: 0.3;
  cursor: auto;
}

.pswp__icn {
  fill: var(--pswp-icon-color);
  color: var(--pswp-icon-color-secondary);
  position: absolute;
  top: 14px;
  left: 9px;
  width: 32px;
  height: 32px;
  overflow: hidden;
  pointer-events: none;
}

.pswp__icn-shadow {
  stroke: var(--pswp-icon-stroke-color);
  stroke-width: var(--pswp-icon-stroke-width);
  fill: none;
}

.pswp__icn:focus {
  outline: 0;
}

/*
	div element that matches size of large image,
	large image loads on top of it,
	used when msrc is not provided
*/
div.pswp__img--placeholder,
.pswp__img--with-bg {
  background: var(--pswp-placeholder-bg);
}

.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 10;
  /* allow events to pass through top bar itself */
  pointer-events: none !important;
}

.pswp__top-bar > * {
  pointer-events: auto;
  /* this makes transition significantly more smooth,
     even though inner elements are not animated */
  will-change: opacity;
}

/*

  Close button

*/
.pswp__button--close {
  margin-right: 6px;
}

/*

  Arrow buttons

*/
.pswp__button--arrow {
  position: absolute;
  top: 0;
  width: 75px;
  height: 100px;
  top: 50%;
  margin-top: -50px;
}

.pswp__button--arrow:disabled {
  display: none;
  cursor: default;
}

.pswp__button--arrow .pswp__icn {
  top: 50%;
  margin-top: -30px;
  width: 60px;
  height: 60px;
  background: none;
  border-radius: 0;
}

.pswp--one-slide .pswp__button--arrow {
  display: none;
}

/* hide arrows on touch screens */
.pswp--touch .pswp__button--arrow {
  visibility: hidden;
}

/* show arrows only after mouse was used */
.pswp--has_mouse .pswp__button--arrow {
  visibility: visible;
}

.pswp__button--arrow--prev {
  right: auto;
  left: 0px;
}

.pswp__button--arrow--next {
  right: 0px;
}

.pswp__button--arrow--next .pswp__icn {
  left: auto;
  right: 14px;
  /* flip horizontally */
  transform: scale(-1, 1);
}

/*

  Zoom button

*/
.pswp__button--zoom {
  display: none;
}

.pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

/* "+" => "-" */
.pswp--zoomed-in .pswp__zoom-icn-bar-v {
  display: none;
}

/*

  Loading indicator

*/
.pswp__preloader {
  position: relative;
  overflow: hidden;
  width: 50px;
  height: 60px;
  margin-right: auto;
}

.pswp__preloader .pswp__icn {
  opacity: 0;
  transition: opacity 0.2s linear;
  animation: pswp-clockwise 600ms linear infinite;
}

.pswp__preloader--active .pswp__icn {
  opacity: 0.85;
}

@keyframes pswp-clockwise {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/*

  "1 of 10" counter

*/
.pswp__counter {
  height: 30px;
  margin-top: 15px;
  -webkit-margin-start: 20px;
          margin-inline-start: 20px;
  font-size: 14px;
  line-height: 30px;
  color: var(--pswp-icon-color);
  text-shadow: 1px 1px 3px var(--pswp-icon-color-secondary);
  opacity: 0.85;
}

.pswp--one-slide .pswp__counter {
  display: none;
}
/*!***************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./assets/styles/scss/bundle.scss ***!
  \***************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * This file should only be used to import the files that need to be bundled and used in the frontend
 */
*, ::before, ::after{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop{
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
 */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.h-screen-smallest{
  height: 100vh;
}
.h-screen-largest{
  height: 100vh;
}
.h-screen-dynamic{
  height: 100vh;
}
.min-h-screen{
  min-height: 100vh;
}
.min-h-screen-smallest{
  min-height: 100vh;
}
.min-h-screen-largest{
  min-height: 100vh;
}
.min-h-screen-dynamic{
  min-height: 100vh;
}
.max-h-screen-smallest{
  max-height: 100vh;
}
.max-h-screen-largest{
  max-height: 100vh;
}
.max-h-screen-dynamic{
  max-height: 100vh;
}
.sr-only{
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.static{
  position: static;
}
.fixed{
  position: fixed;
}
.absolute{
  position: absolute;
}
.relative{
  position: relative;
}
.inset-0{
  inset: 0rem;
}
.-right-8{
  right: -0.5rem;
}
.-top-6{
  top: -0.375rem;
}
.right-12{
  right: 0.75rem;
}
.top-1\/2{
  top: 50%;
}
.m-0{
  margin: 0rem;
}
.mx-auto{
  margin-left: auto;
  margin-right: auto;
}
.mb-0{
  margin-bottom: 0rem;
}
.mb-120{
  margin-bottom: 7.5rem;
}
.mb-16{
  margin-bottom: 1rem;
}
.mb-18{
  margin-bottom: 1.125rem;
}
.mb-2{
  margin-bottom: 0.125rem;
}
.mb-24{
  margin-bottom: 1.5rem;
}
.mb-32{
  margin-bottom: 2rem;
}
.mb-4{
  margin-bottom: 0.25rem;
}
.mb-48{
  margin-bottom: 3rem;
}
.mb-80{
  margin-bottom: 5rem;
}
.ml-10{
  margin-left: 0.625rem;
}
.ml-auto{
  margin-left: auto;
}
.mr-auto{
  margin-right: auto;
}
.mt-0{
  margin-top: 0rem;
}
.mt-120{
  margin-top: 7.5rem;
}
.mt-24{
  margin-top: 1.5rem;
}
.mt-3{
  margin-top: 0.1875rem;
}
.mt-48{
  margin-top: 3rem;
}
.mt-80{
  margin-top: 5rem;
}
.mt-gutter-mobile{
  margin-top: 1.25rem;
}
.\!block{
  display: block !important;
}
.block{
  display: block;
}
.inline-block{
  display: inline-block;
}
.flex{
  display: flex;
}
.inline-flex{
  display: inline-flex;
}
.table{
  display: table;
}
.\!grid{
  display: grid !important;
}
.grid{
  display: grid;
}
.hidden{
  display: none;
}
.aspect-\[4\/3\]{
  aspect-ratio: 4/3;
}
.aspect-video{
  aspect-ratio: 16 / 9;
}
.size-full{
  width: 100%;
  height: 100%;
}
.\!h-full{
  height: 100% !important;
}
.h-16{
  height: 1rem;
}
.h-18{
  height: 1.125rem;
}
.h-40{
  height: 2.5rem;
}
.h-44{
  height: 2.75rem;
}
.h-\[2\.375rem\]{
  height: 2.375rem;
}
.h-auto{
  height: auto;
}
.h-full{
  height: 100%;
}
.h-header-height-mobile{
  height: 5rem;
}
.max-h-80{
  max-height: 5rem;
}
.min-h-screen{
  min-height: 100vh;
}
.w-16{
  width: 1rem;
}
.w-\[0\%\]{
  width: 0%;
}
.w-\[1\%\]{
  width: 1%;
}
.w-\[10\%\]{
  width: 10%;
}
.w-\[100\%\]{
  width: 100%;
}
.w-\[11\%\]{
  width: 11%;
}
.w-\[12\%\]{
  width: 12%;
}
.w-\[13\%\]{
  width: 13%;
}
.w-\[14\%\]{
  width: 14%;
}
.w-\[15\%\]{
  width: 15%;
}
.w-\[16\%\]{
  width: 16%;
}
.w-\[17\%\]{
  width: 17%;
}
.w-\[18\%\]{
  width: 18%;
}
.w-\[19\%\]{
  width: 19%;
}
.w-\[2\%\]{
  width: 2%;
}
.w-\[20\%\]{
  width: 20%;
}
.w-\[21\%\]{
  width: 21%;
}
.w-\[22\%\]{
  width: 22%;
}
.w-\[23\%\]{
  width: 23%;
}
.w-\[24\%\]{
  width: 24%;
}
.w-\[25\%\]{
  width: 25%;
}
.w-\[26\%\]{
  width: 26%;
}
.w-\[27\%\]{
  width: 27%;
}
.w-\[28\%\]{
  width: 28%;
}
.w-\[29\%\]{
  width: 29%;
}
.w-\[3\%\]{
  width: 3%;
}
.w-\[30\%\]{
  width: 30%;
}
.w-\[31\%\]{
  width: 31%;
}
.w-\[32\%\]{
  width: 32%;
}
.w-\[33\%\]{
  width: 33%;
}
.w-\[34\%\]{
  width: 34%;
}
.w-\[35\%\]{
  width: 35%;
}
.w-\[36\%\]{
  width: 36%;
}
.w-\[37\%\]{
  width: 37%;
}
.w-\[38\%\]{
  width: 38%;
}
.w-\[39\%\]{
  width: 39%;
}
.w-\[4\%\]{
  width: 4%;
}
.w-\[40\%\]{
  width: 40%;
}
.w-\[41\%\]{
  width: 41%;
}
.w-\[42\%\]{
  width: 42%;
}
.w-\[43\%\]{
  width: 43%;
}
.w-\[44\%\]{
  width: 44%;
}
.w-\[45\%\]{
  width: 45%;
}
.w-\[46\%\]{
  width: 46%;
}
.w-\[47\%\]{
  width: 47%;
}
.w-\[48\%\]{
  width: 48%;
}
.w-\[49\%\]{
  width: 49%;
}
.w-\[5\%\]{
  width: 5%;
}
.w-\[50\%\]{
  width: 50%;
}
.w-\[51\%\]{
  width: 51%;
}
.w-\[52\%\]{
  width: 52%;
}
.w-\[53\%\]{
  width: 53%;
}
.w-\[54\%\]{
  width: 54%;
}
.w-\[55\%\]{
  width: 55%;
}
.w-\[56\%\]{
  width: 56%;
}
.w-\[57\%\]{
  width: 57%;
}
.w-\[58\%\]{
  width: 58%;
}
.w-\[59\%\]{
  width: 59%;
}
.w-\[6\%\]{
  width: 6%;
}
.w-\[60\%\]{
  width: 60%;
}
.w-\[61\%\]{
  width: 61%;
}
.w-\[62\%\]{
  width: 62%;
}
.w-\[63\%\]{
  width: 63%;
}
.w-\[64\%\]{
  width: 64%;
}
.w-\[65\%\]{
  width: 65%;
}
.w-\[66\%\]{
  width: 66%;
}
.w-\[67\%\]{
  width: 67%;
}
.w-\[68\%\]{
  width: 68%;
}
.w-\[69\%\]{
  width: 69%;
}
.w-\[7\%\]{
  width: 7%;
}
.w-\[70\%\]{
  width: 70%;
}
.w-\[71\%\]{
  width: 71%;
}
.w-\[72\%\]{
  width: 72%;
}
.w-\[73\%\]{
  width: 73%;
}
.w-\[74\%\]{
  width: 74%;
}
.w-\[75\%\]{
  width: 75%;
}
.w-\[76\%\]{
  width: 76%;
}
.w-\[77\%\]{
  width: 77%;
}
.w-\[78\%\]{
  width: 78%;
}
.w-\[79\%\]{
  width: 79%;
}
.w-\[8\%\]{
  width: 8%;
}
.w-\[80\%\]{
  width: 80%;
}
.w-\[81\%\]{
  width: 81%;
}
.w-\[82\%\]{
  width: 82%;
}
.w-\[83\%\]{
  width: 83%;
}
.w-\[84\%\]{
  width: 84%;
}
.w-\[85\%\]{
  width: 85%;
}
.w-\[86\%\]{
  width: 86%;
}
.w-\[87\%\]{
  width: 87%;
}
.w-\[88\%\]{
  width: 88%;
}
.w-\[89\%\]{
  width: 89%;
}
.w-\[9\%\]{
  width: 9%;
}
.w-\[90\%\]{
  width: 90%;
}
.w-\[91\%\]{
  width: 91%;
}
.w-\[92\%\]{
  width: 92%;
}
.w-\[93\%\]{
  width: 93%;
}
.w-\[94\%\]{
  width: 94%;
}
.w-\[95\%\]{
  width: 95%;
}
.w-\[96\%\]{
  width: 96%;
}
.w-\[97\%\]{
  width: 97%;
}
.w-\[98\%\]{
  width: 98%;
}
.w-\[99\%\]{
  width: 99%;
}
.w-auto{
  width: auto;
}
.w-full{
  width: 100%;
}
.min-w-0{
  min-width: 0rem;
}
.min-w-18{
  min-width: 1.125rem;
}
.max-w-\[32rem\]{
  max-width: 32rem;
}
.max-w-\[9rem\]{
  max-width: 9rem;
}
.max-w-full{
  max-width: 100%;
}
.max-w-medium{
  max-width: 77.5rem;
}
.max-w-narrow{
  max-width: 50rem;
}
.max-w-wide{
  max-width: 100rem;
}
.flex-1{
  flex: 1 1 0%;
}
.shrink-0{
  flex-shrink: 0;
}
.table-auto{
  table-layout: auto;
}
.caption-top{
  caption-side: top;
}
.border-collapse{
  border-collapse: collapse;
}
.-translate-y-1\/2{
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.transform{
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.select-none{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize{
  resize: both;
}
.list-none{
  list-style-type: none;
}
.columns-1{
  -moz-columns: 1;
       columns: 1;
}
.columns-2{
  -moz-columns: 2;
       columns: 2;
}
.columns-3{
  -moz-columns: 3;
       columns: 3;
}
.columns-4{
  -moz-columns: 4;
       columns: 4;
}
.grid-cols-1{
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.flex-row{
  flex-direction: row;
}
.flex-col{
  flex-direction: column;
}
.flex-wrap{
  flex-wrap: wrap;
}
.items-end{
  align-items: flex-end;
}
.items-center{
  align-items: center;
}
.justify-start{
  justify-content: flex-start;
}
.justify-end{
  justify-content: flex-end;
}
.justify-center{
  justify-content: center;
}
.justify-between{
  justify-content: space-between;
}
.gap-12{
  gap: 0.75rem;
}
.gap-16{
  gap: 1rem;
}
.gap-20{
  gap: 1.25rem;
}
.gap-24{
  gap: 1.5rem;
}
.gap-32{
  gap: 2rem;
}
.gap-6{
  gap: 0.375rem;
}
.gap-8{
  gap: 0.5rem;
}
.overflow-hidden{
  overflow: hidden;
}
.overflow-x-auto{
  overflow-x: auto;
}
.truncate{
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rounded-full{
  border-radius: 9999px;
}
.rounded-lg{
  border-radius: 1.125rem;
}
.rounded-sm{
  border-radius: 0.25rem;
}
.border{
  border-width: 1px;
}
.border-b{
  border-bottom-width: 1px;
}
.border-t{
  border-top-width: 1px;
}
.border-on-primary\/20{
  border-color: rgb(255 255 255 / 0.2);
}
.border-outline{
  --tw-border-opacity: 1;
  border-color: rgb(234 223 206 / var(--tw-border-opacity, 1));
}
.border-outline-subtle{
  --tw-border-opacity: 1;
  border-color: rgb(216 216 216 / var(--tw-border-opacity, 1));
}
.bg-accent{
  --tw-bg-opacity: 1;
  background-color: rgb(145 214 172 / var(--tw-bg-opacity, 1));
}
.bg-accent-strong{
  --tw-bg-opacity: 1;
  background-color: rgb(40 125 99 / var(--tw-bg-opacity, 1));
}
.bg-background{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-black{
  --tw-bg-opacity: 1;
  background-color: rgb(17 17 17 / var(--tw-bg-opacity, 1));
}
.bg-on-primary{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-on-surface{
  --tw-bg-opacity: 1;
  background-color: rgb(8 43 78 / var(--tw-bg-opacity, 1));
}
.bg-primary{
  --tw-bg-opacity: 1;
  background-color: rgb(0 79 113 / var(--tw-bg-opacity, 1));
}
.bg-primary-dark{
  --tw-bg-opacity: 1;
  background-color: rgb(0 43 77 / var(--tw-bg-opacity, 1));
}
.bg-promo{
  --tw-bg-opacity: 1;
  background-color: rgb(40 125 99 / var(--tw-bg-opacity, 1));
}
.bg-secondary{
  --tw-bg-opacity: 1;
  background-color: rgb(0 125 145 / var(--tw-bg-opacity, 1));
}
.bg-surface{
  --tw-bg-opacity: 1;
  background-color: rgb(251 246 237 / var(--tw-bg-opacity, 1));
}
.bg-surface-alt{
  --tw-bg-opacity: 1;
  background-color: rgb(245 239 230 / var(--tw-bg-opacity, 1));
}
.bg-transparent{
  background-color: transparent;
}
.bg-white{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-opacity-40{
  --tw-bg-opacity: 0.4;
}
.bg-gradient-to-br{
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-r{
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.from-topbar-gradient-end{
  --tw-gradient-from: #073B5C var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/0{
  --tw-gradient-from: rgb(7 59 92 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/10{
  --tw-gradient-from: rgb(7 59 92 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/100{
  --tw-gradient-from: rgb(7 59 92 / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/15{
  --tw-gradient-from: rgb(7 59 92 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/20{
  --tw-gradient-from: rgb(7 59 92 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/25{
  --tw-gradient-from: rgb(7 59 92 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/30{
  --tw-gradient-from: rgb(7 59 92 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/35{
  --tw-gradient-from: rgb(7 59 92 / 0.35) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/40{
  --tw-gradient-from: rgb(7 59 92 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/45{
  --tw-gradient-from: rgb(7 59 92 / 0.45) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/5{
  --tw-gradient-from: rgb(7 59 92 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/50{
  --tw-gradient-from: rgb(7 59 92 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/55{
  --tw-gradient-from: rgb(7 59 92 / 0.55) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/60{
  --tw-gradient-from: rgb(7 59 92 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/65{
  --tw-gradient-from: rgb(7 59 92 / 0.65) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/70{
  --tw-gradient-from: rgb(7 59 92 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/75{
  --tw-gradient-from: rgb(7 59 92 / 0.75) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/80{
  --tw-gradient-from: rgb(7 59 92 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/85{
  --tw-gradient-from: rgb(7 59 92 / 0.85) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/90{
  --tw-gradient-from: rgb(7 59 92 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-end\/95{
  --tw-gradient-from: rgb(7 59 92 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start{
  --tw-gradient-from: #002846 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/0{
  --tw-gradient-from: rgb(0 40 70 / 0) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/10{
  --tw-gradient-from: rgb(0 40 70 / 0.1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/100{
  --tw-gradient-from: rgb(0 40 70 / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/15{
  --tw-gradient-from: rgb(0 40 70 / 0.15) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/20{
  --tw-gradient-from: rgb(0 40 70 / 0.2) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/25{
  --tw-gradient-from: rgb(0 40 70 / 0.25) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/30{
  --tw-gradient-from: rgb(0 40 70 / 0.3) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/35{
  --tw-gradient-from: rgb(0 40 70 / 0.35) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/40{
  --tw-gradient-from: rgb(0 40 70 / 0.4) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/45{
  --tw-gradient-from: rgb(0 40 70 / 0.45) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/5{
  --tw-gradient-from: rgb(0 40 70 / 0.05) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/50{
  --tw-gradient-from: rgb(0 40 70 / 0.5) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/55{
  --tw-gradient-from: rgb(0 40 70 / 0.55) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/60{
  --tw-gradient-from: rgb(0 40 70 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/65{
  --tw-gradient-from: rgb(0 40 70 / 0.65) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/70{
  --tw-gradient-from: rgb(0 40 70 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/75{
  --tw-gradient-from: rgb(0 40 70 / 0.75) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/80{
  --tw-gradient-from: rgb(0 40 70 / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/85{
  --tw-gradient-from: rgb(0 40 70 / 0.85) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/90{
  --tw-gradient-from: rgb(0 40 70 / 0.9) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-topbar-gradient-start\/95{
  --tw-gradient-from: rgb(0 40 70 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-primary-dark{
  --tw-gradient-to: #002B4D var(--tw-gradient-to-position);
}
.to-topbar-gradient-end{
  --tw-gradient-to: #073B5C var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/0{
  --tw-gradient-to: rgb(7 59 92 / 0) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/10{
  --tw-gradient-to: rgb(7 59 92 / 0.1) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/100{
  --tw-gradient-to: rgb(7 59 92 / 1) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/15{
  --tw-gradient-to: rgb(7 59 92 / 0.15) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/20{
  --tw-gradient-to: rgb(7 59 92 / 0.2) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/25{
  --tw-gradient-to: rgb(7 59 92 / 0.25) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/30{
  --tw-gradient-to: rgb(7 59 92 / 0.3) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/35{
  --tw-gradient-to: rgb(7 59 92 / 0.35) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/40{
  --tw-gradient-to: rgb(7 59 92 / 0.4) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/45{
  --tw-gradient-to: rgb(7 59 92 / 0.45) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/5{
  --tw-gradient-to: rgb(7 59 92 / 0.05) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/50{
  --tw-gradient-to: rgb(7 59 92 / 0.5) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/55{
  --tw-gradient-to: rgb(7 59 92 / 0.55) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/60{
  --tw-gradient-to: rgb(7 59 92 / 0.6) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/65{
  --tw-gradient-to: rgb(7 59 92 / 0.65) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/70{
  --tw-gradient-to: rgb(7 59 92 / 0.7) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/75{
  --tw-gradient-to: rgb(7 59 92 / 0.75) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/80{
  --tw-gradient-to: rgb(7 59 92 / 0.8) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/85{
  --tw-gradient-to: rgb(7 59 92 / 0.85) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/90{
  --tw-gradient-to: rgb(7 59 92 / 0.9) var(--tw-gradient-to-position);
}
.to-topbar-gradient-end\/95{
  --tw-gradient-to: rgb(7 59 92 / 0.95) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start{
  --tw-gradient-to: #002846 var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/0{
  --tw-gradient-to: rgb(0 40 70 / 0) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/10{
  --tw-gradient-to: rgb(0 40 70 / 0.1) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/100{
  --tw-gradient-to: rgb(0 40 70 / 1) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/15{
  --tw-gradient-to: rgb(0 40 70 / 0.15) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/20{
  --tw-gradient-to: rgb(0 40 70 / 0.2) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/25{
  --tw-gradient-to: rgb(0 40 70 / 0.25) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/30{
  --tw-gradient-to: rgb(0 40 70 / 0.3) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/35{
  --tw-gradient-to: rgb(0 40 70 / 0.35) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/40{
  --tw-gradient-to: rgb(0 40 70 / 0.4) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/45{
  --tw-gradient-to: rgb(0 40 70 / 0.45) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/5{
  --tw-gradient-to: rgb(0 40 70 / 0.05) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/50{
  --tw-gradient-to: rgb(0 40 70 / 0.5) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/55{
  --tw-gradient-to: rgb(0 40 70 / 0.55) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/60{
  --tw-gradient-to: rgb(0 40 70 / 0.6) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/65{
  --tw-gradient-to: rgb(0 40 70 / 0.65) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/70{
  --tw-gradient-to: rgb(0 40 70 / 0.7) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/75{
  --tw-gradient-to: rgb(0 40 70 / 0.75) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/80{
  --tw-gradient-to: rgb(0 40 70 / 0.8) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/85{
  --tw-gradient-to: rgb(0 40 70 / 0.85) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/90{
  --tw-gradient-to: rgb(0 40 70 / 0.9) var(--tw-gradient-to-position);
}
.to-topbar-gradient-start\/95{
  --tw-gradient-to: rgb(0 40 70 / 0.95) var(--tw-gradient-to-position);
}
.object-contain{
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover{
  -o-object-fit: cover;
     object-fit: cover;
}
.p-0{
  padding: 0rem;
}
.p-16{
  padding: 1rem;
}
.p-8{
  padding: 0.5rem;
}
.px-16{
  padding-left: 1rem;
  padding-right: 1rem;
}
.px-4{
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-gutter{
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.py-12{
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-2{
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-48{
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.py-5{
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
}
.pb-0{
  padding-bottom: 0rem;
}
.pb-12{
  padding-bottom: 0.75rem;
}
.pb-120{
  padding-bottom: 7.5rem;
}
.pb-16{
  padding-bottom: 1rem;
}
.pb-24{
  padding-bottom: 1.5rem;
}
.pb-48{
  padding-bottom: 3rem;
}
.pb-80{
  padding-bottom: 5rem;
}
.pb-woo-page-bottom{
  padding-bottom: 3rem;
}
.pl-16{
  padding-left: 1rem;
}
.pr-48{
  padding-right: 3rem;
}
.pt-0{
  padding-top: 0rem;
}
.pt-120{
  padding-top: 7.5rem;
}
.pt-2{
  padding-top: 0.125rem;
}
.pt-24{
  padding-top: 1.5rem;
}
.pt-48{
  padding-top: 3rem;
}
.pt-80{
  padding-top: 5rem;
}
.pt-\[15vh\]{
  padding-top: 15vh;
}
.pt-woo-page-top{
  padding-top: 1.5rem;
}
.text-left{
  text-align: left;
}
.text-center{
  text-align: center;
}
.text-right{
  text-align: right;
}
.font-title{
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
}
.text-100{
  font-size: 6.25rem;
}
.text-12{
  font-size: 0.75rem;
}
.text-16{
  font-size: 1rem;
}
.text-body-md{
  font-size: 1rem;
}
.text-body-sm{
  font-size: 0.875rem;
}
.text-caption{
  font-size: 0.75rem;
}
.text-display-md{
  font-size: 1.6875rem;
}
.text-headline-sm{
  font-size: 1.25rem;
}
.text-label-caps{
  font-size: 0.6875rem;
}
.font-bold{
  font-weight: 700;
}
.font-extrabold{
  font-weight: 800;
}
.font-semibold{
  font-weight: 600;
}
.uppercase{
  text-transform: uppercase;
}
.italic{
  font-style: italic;
}
.leading-145{
  line-height: 1.45;
}
.tracking-caps{
  letter-spacing: 0.06em;
}
.text-accent{
  --tw-text-opacity: 1;
  color: rgb(145 214 172 / var(--tw-text-opacity, 1));
}
.text-accent-strong{
  --tw-text-opacity: 1;
  color: rgb(40 125 99 / var(--tw-text-opacity, 1));
}
.text-background{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-black{
  --tw-text-opacity: 1;
  color: rgb(17 17 17 / var(--tw-text-opacity, 1));
}
.text-on-primary{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-on-primary\/80{
  color: rgb(255 255 255 / 0.8);
}
.text-on-primary\/90{
  color: rgb(255 255 255 / 0.9);
}
.text-on-surface{
  --tw-text-opacity: 1;
  color: rgb(8 43 78 / var(--tw-text-opacity, 1));
}
.text-on-surface-muted{
  --tw-text-opacity: 1;
  color: rgb(107 115 120 / var(--tw-text-opacity, 1));
}
.text-primary{
  --tw-text-opacity: 1;
  color: rgb(0 79 113 / var(--tw-text-opacity, 1));
}
.text-primary-dark{
  --tw-text-opacity: 1;
  color: rgb(0 43 77 / var(--tw-text-opacity, 1));
}
.text-promo{
  --tw-text-opacity: 1;
  color: rgb(40 125 99 / var(--tw-text-opacity, 1));
}
.text-secondary{
  --tw-text-opacity: 1;
  color: rgb(0 125 145 / var(--tw-text-opacity, 1));
}
.text-surface{
  --tw-text-opacity: 1;
  color: rgb(251 246 237 / var(--tw-text-opacity, 1));
}
.text-surface-alt{
  --tw-text-opacity: 1;
  color: rgb(245 239 230 / var(--tw-text-opacity, 1));
}
.text-transparent{
  color: transparent;
}
.text-white{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.underline{
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.no-underline{
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
}
.opacity-0{
  opacity: 0;
}
.opacity-100{
  opacity: 1;
}
.opacity-80{
  opacity: 0.8;
}
.shadow{
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.filter{
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.transition{
  transition-property: color, background-color, border-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-text-decoration-color, -webkit-backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.transition-colors{
  transition-property: color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.transition-transform{
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.duration-default{
  transition-duration: 300ms;
}
.duration-short{
  transition-duration: 200ms;
}
/**
 * Tokens globaux du thème — échelle typo, espacement et mixins partagés.
 * Source de vérité : theme.js + DESIGN.md (display-lg → label-caps).
 */
:root {
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --text-2xs: 0.6875rem;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.25rem;
  --text-xl: 1.6875rem;
  --text-2xl: 2.25rem;
  --text-h1: var(--text-2xl);
  --text-h2: var(--text-xl);
  --text-h3: var(--text-lg);
  --text-h4: var(--text-md);
  --text-h5: 1.5rem;
  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.45;
  --leading-relaxed: 1.5;
  --heading-margin-top: var(--space-md);
  --heading-margin-bottom: var(--space-sm);
  --control-height: 2.5rem;
}
@media screen and (min-width: 768px) {
  :root {
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
  }
}

@font-face {
  font-family: "SuisseIntl";
  src: url(../7328f724fa58bdc7a3a7.woff2) format("woff2"), url(../817642b2a06e9f9ff51e.woff) format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SuisseIntl";
  src: url(../9c7dfd0036f7bd24b053.woff2) format("woff2"), url(../2211c49456cd07331ea9.woff) format("woff");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
*,
*:before,
*:after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

:root {
  font-size: 16px;
}
@media screen and (min-width: 1920px) {
  :root {
    font-size: 18px;
  }
}

body {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-weight: 400;
}

h1, .style-h1 {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-weight: 400;
}

h2, .style-h2 {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-weight: 400;
}

h3, .style-h3 {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-weight: 400;
}

h4, .style-h4 {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-weight: 400;
}

html {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

/* put footer always at the bottom */
html > body {
  position: relative;
  min-height: 100vh;
}
html > body > footer {
  position: -webkit-sticky;
  position: sticky;
  top: 100%;
}

#cmplz-manage-consent .cmplz-btn.cmplz-manage-consent.cmplz-show {
  display: none;
}

.grecaptcha-badge {
  visibility: hidden;
}

.otgs-development-site-front-end {
  display: none;
}

body.cmplz-document #cmplz-document,
.legal-page-template .content-page {
  width: 100%;
  max-width: none;
  margin-bottom: 100px;
  padding-top: calc(2rem + 14.25rem);
}
@media screen and (min-width: 640px) {
  body.cmplz-document #cmplz-document,
  .legal-page-template .content-page {
    padding-top: calc(3rem + 10.75rem);
  }
}
body.cmplz-document #cmplz-document > *:not(section),
.legal-page-template .content-page > *:not(section) {
  width: calc(100% - 2 * 1.25rem);
  margin-left: auto;
  margin-right: auto;
  max-width: 77.5rem;
}
@media screen and (min-width: 640px) {
  body.cmplz-document #cmplz-document > *:not(section),
  .legal-page-template .content-page > *:not(section) {
    width: calc(100% - 2 * 6.25rem);
  }
}
body.cmplz-document #cmplz-document > h1, body.cmplz-document #cmplz-document h2,
.legal-page-template .content-page > h1,
.legal-page-template .content-page h2 {
  margin-top: 1.875rem;
  margin-bottom: 0.25rem;
  font-size: 1.25rem;
}
body.cmplz-document #cmplz-document .screen-reader-text,
.legal-page-template .content-page .screen-reader-text {
  display: none;
}

/**
 * Point d'entrée des tokens WooCommerce — exposé via bundle.scss.
 */
/**
 * Tokens WooCommerce — alias et mixins contextuels basés sur l'échelle globale.
 */
:root {
  --woo-space-xs: var(--space-xs);
  --woo-space-sm: var(--space-sm);
  --woo-space-md: var(--space-md);
  --woo-space-lg: var(--space-lg);
  --woo-space-xl: var(--space-xl);
  --woo-text-xs: var(--text-xs);
  --woo-text-sm: var(--text-sm);
  --woo-text-base: var(--text-base);
  --woo-text-lg: var(--text-lg);
  --woo-text-xl: var(--text-xl);
  --woo-text-2xl: var(--text-2xl);
  --woo-control-md: var(--control-height);
  --woo-control-height: var(--control-height);
}

.site-envelope {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 100%;
  background: #FFFFFF;
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.5s ease, box-shadow 0.3s ease;
}
.site-envelope.scrolled {
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.12);
}

.topbar__message {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}
.topbar__message-text {
  min-width: 0;
}
.topbar__flag {
  display: inline-flex;
  flex-shrink: 0;
  width: 0.875rem;
  height: 0.875rem;
}
.topbar__flag svg {
  display: block;
  width: 100%;
  height: 100%;
}

.nav-primary__inner {
  padding-block: 0.5rem;
}
.nav-primary .menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  padding-top: 25dvh;
  background-color: #002B4D;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.15);
  transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s ease 0.1s;
  flex: 0 0 auto;
}
.nav-primary .menu.is-active {
  right: 0;
  opacity: 1;
  visibility: visible;
}
.nav-primary .menu .menu-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}
.nav-primary .menu .menu-inner li {
  width: 100%;
  text-align: center;
  position: relative;
}
.nav-primary .menu .menu-inner li.has-submenu {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.nav-primary .menu .menu-inner li.menu-item-promo > .menu-link {
  color: #287D63;
  font-weight: 700;
}
.nav-primary .menu .menu-link {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-transform: none;
  color: #FFFFFF;
  transition: color 0.3s ease;
  text-decoration: none;
  display: inline-block;
  padding: 0.5rem 1rem;
}
.nav-primary .menu .menu-link:hover, .nav-primary .menu .menu-link:focus-visible {
  color: #91D6AC;
}
.nav-primary .menu .submenu,
.nav-primary .menu .sub-submenu {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .nav-primary .menu .submenu,
  .nav-primary .menu .sub-submenu {
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100vh;
    background: #002B4D;
    overflow-y: auto;
    padding-top: 1rem;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 101;
  }
  .nav-primary .menu .submenu.is-active,
  .nav-primary .menu .sub-submenu.is-active {
    right: 0;
  }
}
.nav-primary .menu .submenu .menu-link,
.nav-primary .menu .sub-submenu .menu-link {
  font-size: 0.875rem;
  color: #FFFFFF;
}
.nav-primary .menu .submenu-back {
  display: none;
}
@media only screen and (max-width: calc(768px - 1px)) {
  .nav-primary .menu .submenu-back {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    width: 100%;
    padding: 1rem 1.5rem;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    font-size: 1rem;
    font-weight: 500;
    color: #FFFFFF;
    cursor: pointer;
  }
}
.nav-primary .menu .submenu-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  margin-left: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
}
.nav-primary .menu .submenu-toggle svg {
  width: 12px;
  height: 8px;
  transition: transform 0.3s ease;
  transform: rotate(-90deg);
}
@media screen and (min-width: 768px) {
  .nav-primary .menu .submenu-toggle svg {
    transform: rotate(0);
  }
  .nav-primary .menu {
    position: static;
    top: auto;
    right: auto;
    width: 100%;
    height: auto;
    padding: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }
  .nav-primary .menu .menu-inner {
    flex-direction: row;
    align-items: stretch;
    justify-content: space-between;
    width: 100%;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .nav-primary .menu .menu-inner li {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .nav-primary .menu .menu-inner li.has-submenu {
    flex-wrap: wrap;
    justify-content: center;
  }
  .nav-primary .menu .menu-inner li.has-submenu:hover .submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: all;
  }
  .nav-primary .menu .menu-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.5rem 0.5rem;
    text-align: center;
  }
  .nav-primary .menu .submenu,
  .nav-primary .menu .sub-submenu {
    position: absolute;
    width: auto;
    height: auto;
    min-width: 220px;
    max-width: 300px;
    background: #FFFFFF;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 0.25rem;
    padding: 0.5rem 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
    pointer-events: none;
    z-index: 1000;
  }
  .nav-primary .menu .submenu.is-active,
  .nav-primary .menu .sub-submenu.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
  }
  .nav-primary .menu .submenu .menu-link,
  .nav-primary .menu .sub-submenu .menu-link {
    display: block;
    padding: 0.625rem 1.25rem;
    font-size: 0.875rem;
    text-align: left;
    white-space: nowrap;
    color: #082B4E;
    text-transform: none;
    font-weight: 500;
    letter-spacing: normal;
  }
  .nav-primary .menu .submenu .menu-link:hover, .nav-primary .menu .submenu .menu-link:focus-visible,
  .nav-primary .menu .sub-submenu .menu-link:hover,
  .nav-primary .menu .sub-submenu .menu-link:focus-visible {
    background: #F5EFE6;
    color: #004F71;
  }
  .nav-primary .menu .menu-inner li.has-submenu .submenu {
    top: 100%;
    left: 0;
    transform: translateY(-10px);
  }
  .nav-primary .menu .menu-inner li.has-submenu .submenu.is-active {
    transform: translateY(0);
  }
  .nav-primary .menu .submenu li.has-submenu .sub-submenu {
    top: 0;
    left: 100%;
    transform: translateX(-10px);
    min-width: 200px;
  }
  .nav-primary .menu .submenu li.has-submenu .sub-submenu.is-active {
    transform: translateX(0);
  }
}

.burger {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1rem;
  z-index: 99;
}
@media screen and (min-width: 768px) {
  .burger {
    display: none;
  }
}
.burger .burger-line {
  position: absolute;
  right: 0;
  width: 100%;
  height: 2px;
  background-color: #FFFFFF;
  transition: all 0.25s ease;
}
.burger .burger-line:nth-child(1) {
  top: 0.25rem;
}
.burger .burger-line:nth-child(2) {
  top: 0.75rem;
}
.burger.is-active .burger-line:nth-child(1) {
  top: 0.5rem;
  transform: rotate(135deg);
}
.burger.is-active .burger-line:nth-child(2) {
  top: 0.5rem;
  transform: rotate(-135deg);
}

.pt-envelope-height-mobile {
  padding-top: 14.25rem;
}

@media screen and (min-width: 768px) {
  .pt-envelope-height-mobile {
    padding-top: 10.75rem;
  }
}
#main-content {
  padding-top: 14.25rem;
}
@media screen and (min-width: 768px) {
  #main-content {
    padding-top: 10.75rem;
  }
}

.site-envelope a:focus-visible,
.site-envelope button:focus-visible,
.site-envelope input:focus-visible {
  outline: 2px solid #004F71;
  outline-offset: 2px;
}

/**
 * Point d'entrée des tokens WooCommerce — exposé via bundle.scss.
 */
.single-product-page .single-product__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--woo-space-md);
  align-items: start;
}
@media screen and (min-width: 1024px) {
  .single-product-page .single-product__layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--woo-space-lg);
  }
}
.single-product-page .single-product__gallery {
  position: relative;
  min-width: 0;
}
.single-product-page .single-product__gallery > .onsale {
  position: absolute;
  top: 0.875rem;
  left: 0.875rem;
  z-index: 3;
  padding: var(--woo-space-xs) 0.75rem;
  border-radius: 0;
  background: #287D63;
  color: #FFFFFF;
  font-size: var(--woo-text-xs);
  font-weight: 800;
  line-height: 1;
}
.single-product-page .single-product__gallery .woocommerce-product-gallery {
  width: 100%;
  margin: 0;
  opacity: 1 !important;
  position: relative;
}
.single-product-page .single-product__gallery .woocommerce-product-gallery__trigger {
  display: none;
}
.single-product-page .single-product__gallery .woocommerce-product-gallery__image a {
  display: block;
  cursor: zoom-in;
}
.single-product-page .single-product__gallery .woocommerce-product-gallery__wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--woo-space-sm);
}
.single-product-page .single-product__gallery .woocommerce-product-gallery__image img,
.single-product-page .single-product__gallery .woocommerce-product-gallery__image--placeholder img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.25rem;
}
.single-product-page .single-product__gallery .flex-control-thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  list-style: none;
  margin: var(--woo-space-sm) 0 0;
  padding: 0;
}
.single-product-page .single-product__gallery .flex-control-thumbs li {
  margin: 0;
}
.single-product-page .single-product__gallery .flex-control-thumbs li img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.25rem;
  border: 2px solid transparent;
  cursor: zoom-in;
}
.single-product-page .single-product__gallery .flex-control-thumbs li img.flex-active {
  border-color: #287D63;
}
.single-product-page .single-product__summary {
  padding-top: 0;
}
.single-product-page .woocommerce-notices-wrapper:empty {
  display: none;
}
.single-product-page .product-summary {
  position: relative;
  padding-top: 0;
}
.single-product-page .product-summary__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  -moz-column-gap: var(--woo-space-sm);
       column-gap: var(--woo-space-sm);
  margin-bottom: 1.25rem;
}
.single-product-page .product-brand {
  justify-self: end;
  flex-shrink: 0;
  max-width: 9.5rem;
}
.single-product-page .product-brand__logo {
  display: block;
  max-height: 2.75rem;
  width: auto;
  max-width: 9.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: right center;
     object-position: right center;
}
.single-product-page .product-brand__link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
}
.single-product-page .product-brand__name {
  font-size: var(--woo-text-lg);
  font-weight: 800;
  color: #BA1A1A;
  text-decoration: none;
  line-height: 1.1;
  white-space: nowrap;
}
.single-product-page .single-product__summary .product_title,
.single-product-page .product-summary .product_title {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-size: var(--text-h2);
  line-height: var(--leading-tight);
  color: #082B4E;
  margin: 0;
  padding-right: 0;
  min-width: 0;
}
.single-product-page .single-product__summary .woocommerce-product-details__short-description,
.single-product-page .product-summary .woocommerce-product-details__short-description {
  display: none;
}
.single-product-page .single-product__summary .woocommerce-product-rating,
.single-product-page .single-product__summary .product_meta,
.single-product-page .single-product__summary .woocommerce-product-sharing,
.single-product-page .product-summary .woocommerce-product-rating,
.single-product-page .product-summary .product_meta,
.single-product-page .product-summary .woocommerce-product-sharing {
  display: none;
}
.single-product-page .single-product__summary .price-display,
.single-product-page .product-summary .price-display {
  margin-bottom: var(--woo-space-md);
}
.single-product-page .single-product__summary .price-display__current .price,
.single-product-page .product-summary .price-display__current .price {
  margin: 0;
  font-size: var(--woo-text-lg);
  font-weight: 800;
  color: #082B4E;
}
.single-product-page .single-product__summary .price-display__current .price del,
.single-product-page .product-summary .price-display__current .price del {
  display: none;
}
.single-product-page .single-product__summary .price-display__current .price ins,
.single-product-page .product-summary .price-display__current .price ins {
  text-decoration: none;
}
.single-product-page .single-product__summary .price-display__current .price .woocommerce-Price-amount,
.single-product-page .product-summary .price-display__current .price .woocommerce-Price-amount {
  font-weight: 800;
  text-decoration: none;
}
.single-product-page .single-product__summary .price-display__catalog,
.single-product-page .product-summary .price-display__catalog {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--woo-space-xs);
  margin: var(--woo-space-xs) 0 0;
  font-size: var(--text-2xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #6B7378;
}
.single-product-page .single-product__summary .price-display__catalog-value,
.single-product-page .product-summary .price-display__catalog-value {
  color: #082B4E;
  font-weight: 800;
  text-decoration: line-through;
}
.single-product-page .single-product__summary .price-display__discount,
.single-product-page .product-summary .price-display__discount {
  color: #287D63;
  font-weight: 800;
}
.single-product-page .single-product__summary .product-options,
.single-product-page .product-summary .product-options {
  display: flex;
  flex-direction: column;
  gap: var(--woo-space-xs);
  margin-top: var(--woo-space-md);
}
.single-product-page .single-product__summary .product-option-card,
.single-product-page .product-summary .product-option-card {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: var(--woo-space-sm);
  border: 1px solid #EADFCE;
  border-radius: 0.25rem;
  background: #FBF6ED;
}
.single-product-page .single-product__summary .product-option-card__label,
.single-product-page .product-summary .product-option-card__label {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  font-weight: 800;
  color: #082B4E;
}
.single-product-page .single-product__summary .product-option-card__control,
.single-product-page .product-summary .product-option-card__control {
  min-width: 0;
}
.single-product-page .single-product__summary .product-option-card__select,
.single-product-page .product-summary .product-option-card__select {
  width: 100%;
  max-width: 14.375rem;
  padding: var(--woo-space-xs) 0.75rem;
  border: 1px solid #D8D8D8;
  border-radius: 0.25rem;
  background: #FFFFFF;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  font-weight: 800;
  color: #082B4E;
}
.single-product-page .single-product__summary .product-option-card__select.is-selected,
.single-product-page .product-summary .product-option-card__select.is-selected {
  border-color: transparent;
  background: #287D63;
  color: #FFFFFF;
}
.single-product-page .single-product__summary .product-option-card--delivery,
.single-product-page .product-summary .product-option-card--delivery {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: var(--woo-space-sm);
}
.single-product-page .single-product__summary .product-option-card__delivery-value,
.single-product-page .product-summary .product-option-card__delivery-value {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  font-weight: 800;
  color: #082B4E;
  color: #287D63;
  text-align: right;
}
.single-product-page .single-product__summary .product-chips__list,
.single-product-page .product-summary .product-chips__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--woo-space-xs);
}
.single-product-page .single-product__summary .product-chip,
.single-product-page .product-summary .product-chip {
  border: 1px solid #D8D8D8;
  border-radius: 0.25rem;
  padding: var(--woo-space-xs) 0.75rem;
  background: #FFFFFF;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  font-weight: 800;
  color: #082B4E;
  cursor: pointer;
  transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease;
}
.single-product-page .single-product__summary .product-chip.is-active,
.single-product-page .product-summary .product-chip.is-active {
  border-color: transparent;
  background: #287D63;
  color: #FFFFFF;
}
.single-product-page .single-product__summary .single_variation_wrap,
.single-product-page .product-summary .single_variation_wrap {
  margin-top: var(--woo-space-lg);
}
.single-product-page .single-product__summary .single_variation .woocommerce-variation-price,
.single-product-page .product-summary .single_variation .woocommerce-variation-price {
  display: none;
}
.single-product-page .single-product__summary .product-cart-row,
.single-product-page .product-summary .product-cart-row {
  display: grid;
  grid-template-columns: 5.75rem 1fr;
  gap: 0.75rem;
  align-items: stretch;
}
.single-product-page .single-product__summary .product-cart-row__qty .quantity,
.single-product-page .single-product__summary .product-cart-row__qty .product-quantity,
.single-product-page .product-summary .product-cart-row__qty .quantity,
.single-product-page .product-summary .product-cart-row__qty .product-quantity {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  justify-items: center;
  min-height: var(--control-height);
  border: 1px solid #D8D8D8;
  border-radius: 0.25rem;
  background: #FFFFFF;
}
.single-product-page .single-product__summary .product-cart-row__qty .quantity .product-quantity__btn,
.single-product-page .single-product__summary .product-cart-row__qty .product-quantity .product-quantity__btn,
.single-product-page .product-summary .product-cart-row__qty .quantity .product-quantity__btn,
.single-product-page .product-summary .product-cart-row__qty .product-quantity .product-quantity__btn {
  width: 100%;
  height: 100%;
  min-height: var(--control-height);
  border: 0;
  background: transparent;
  font-size: var(--woo-text-lg);
  font-weight: 800;
  line-height: 1;
  color: #082B4E;
  cursor: pointer;
}
.single-product-page .single-product__summary .product-cart-row__qty .quantity .product-quantity__btn:hover,
.single-product-page .single-product__summary .product-cart-row__qty .product-quantity .product-quantity__btn:hover,
.single-product-page .product-summary .product-cart-row__qty .quantity .product-quantity__btn:hover,
.single-product-page .product-summary .product-cart-row__qty .product-quantity .product-quantity__btn:hover {
  color: #004F71;
}
.single-product-page .single-product__summary .product-cart-row__qty .quantity .qty,
.single-product-page .single-product__summary .product-cart-row__qty .product-quantity .qty,
.single-product-page .product-summary .product-cart-row__qty .quantity .qty,
.single-product-page .product-summary .product-cart-row__qty .product-quantity .qty {
  width: 2rem;
  min-height: var(--control-height);
  padding: 0;
  text-align: center;
  border: 0;
  background: transparent;
  font-weight: 800;
  color: #082B4E;
  -moz-appearance: textfield;
}
.single-product-page .single-product__summary .product-cart-row__qty .quantity .qty::-webkit-outer-spin-button, .single-product-page .single-product__summary .product-cart-row__qty .quantity .qty::-webkit-inner-spin-button,
.single-product-page .single-product__summary .product-cart-row__qty .product-quantity .qty::-webkit-outer-spin-button,
.single-product-page .single-product__summary .product-cart-row__qty .product-quantity .qty::-webkit-inner-spin-button,
.single-product-page .product-summary .product-cart-row__qty .quantity .qty::-webkit-outer-spin-button,
.single-product-page .product-summary .product-cart-row__qty .quantity .qty::-webkit-inner-spin-button,
.single-product-page .product-summary .product-cart-row__qty .product-quantity .qty::-webkit-outer-spin-button,
.single-product-page .product-summary .product-cart-row__qty .product-quantity .qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.single-product-page .single-product__summary .product-cart-row__submit,
.single-product-page .product-summary .product-cart-row__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--woo-space-xs);
  min-height: var(--control-height);
  padding: var(--woo-space-xs) var(--woo-space-sm);
  border: 0;
  border-radius: 0.25rem;
  background: #004F71;
  color: #FFFFFF;
  font-size: var(--text-2xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
}
.single-product-page .single-product__summary .product-cart-row__submit:disabled,
.single-product-page .product-summary .product-cart-row__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.single-product-page .single-product__summary .product-cart-row__icon,
.single-product-page .product-summary .product-cart-row__icon {
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  color: currentColor;
}
.single-product-page .single-product__summary form.cart:not(.variations_form),
.single-product-page .product-summary form.cart:not(.variations_form) {
  margin-top: 0.75rem;
}
.single-product-page .product-accordion {
  margin-top: var(--space-xl);
  border: 1px solid #EADFCE;
  border-radius: 0.25rem;
  overflow: hidden;
  background: #FFFFFF;
}
.single-product-page .product-accordion__item {
  border-bottom: 1px solid #EADFCE;
}
.single-product-page .product-accordion__item:last-child {
  border-bottom: 0;
}
.single-product-page .product-accordion__trigger {
  width: 100%;
  min-height: 2.25rem;
  padding: var(--woo-space-sm) 1.25rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--woo-space-sm);
  font: inherit;
  color: #082B4E;
  text-align: left;
}
.single-product-page .product-accordion__title {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-size: var(--text-h3);
  line-height: var(--leading-tight);
  font-weight: 800;
  color: #082B4E;
}
.single-product-page .product-accordion__icon {
  flex-shrink: 0;
  font-size: var(--woo-text-lg);
  line-height: 1;
  color: #6B7378;
  transition: transform 300ms ease;
}
.single-product-page .product-accordion__item.active .single-product-page .product-accordion__icon {
  transform: rotate(45deg);
}
.single-product-page .product-accordion__panel {
  font-size: var(--woo-text-base);
  line-height: 1.45;
  color: #082B4E;
}
.single-product-page .product-accordion__content {
  padding: 0 1.25rem var(--woo-space-sm);
}
.single-product-page .product-accordion__content h2 {
  margin: var(--woo-space-sm) 0 var(--woo-space-xs);
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--woo-text-base);
  line-height: 1.3;
  font-weight: 800;
  color: #082B4E;
}
.single-product-page .product-accordion__content h2:first-child {
  margin-top: 0;
}
.single-product-page .product-accordion__content h3,
.single-product-page .product-accordion__content h4 {
  margin: 0.75rem 0 var(--woo-space-xs);
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  font-weight: 800;
  color: #082B4E;
}
.single-product-page .product-accordion__content h3:first-child,
.single-product-page .product-accordion__content h4:first-child {
  margin-top: 0;
}
.single-product-page .product-accordion__empty {
  padding: 0 1.25rem var(--woo-space-sm);
}
.single-product-page .product-accordion .woocommerce-Reviews-title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.single-product-page .product-accordion #reviews {
  padding: 0 1.25rem var(--woo-space-sm);
}
.single-product-page .product-accordion #reviews .commentlist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.single-product-page .product-accordion #reviews .comment_container {
  margin-bottom: var(--woo-space-sm);
  padding-bottom: var(--woo-space-sm);
  border-bottom: 1px solid #EADFCE;
}
.single-product-page .product-accordion #reviews #review_form_wrapper {
  margin-top: var(--woo-space-sm);
}

/* Masque le markup PhotoSwipe WC legacy (v4) — le thème utilise PhotoSwipe v5. */
#photoswipe-fullscreen-dialog {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/**
 * Point d'entrée des tokens WooCommerce — exposé via bundle.scss.
 */
.service-strip {
  background: #FBF6ED;
  border-radius: 0.25rem;
}
.service-strip__inner {
  padding: var(--woo-space-sm) 1.125rem;
}
.service-strip__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--woo-space-sm);
}
.service-strip__item {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--woo-text-xs);
  line-height: 1.3;
  font-weight: 800;
  color: #082B4E;
}
.service-strip__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: #287D63;
}
.service-strip__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.service-strip__icon-image {
  display: block;
  width: 2.5rem;
  height: 2.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.service-strip__text {
  min-width: 0;
}
@media screen and (min-width: 640px) {
  .service-strip__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--woo-space-sm) 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .service-strip__inner {
    padding: var(--woo-space-sm) 1.125rem;
  }
  .service-strip__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: var(--woo-space-sm);
    align-items: center;
  }
}
.service-strip--product {
  margin-top: var(--woo-space-lg);
  margin-bottom: 0;
}
.service-strip--product + .product-accordion {
  margin-top: var(--space-xl);
}

/**
 * Point d'entrée des tokens WooCommerce — exposé via bundle.scss.
 */
.advice-block {
  background: linear-gradient(90deg, #f4fbf7, #f5fbf8);
  text-align: center;
}
.advice-block__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--woo-space-lg);
  padding: var(--woo-space-lg) 2.625rem;
}
.advice-block__header {
  display: flex;
  flex-direction: column;
  gap: var(--woo-space-xs);
  max-width: 36rem;
}
.advice-block__title {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-size: var(--text-h3);
  line-height: var(--leading-tight);
  font-weight: 800;
  color: #082B4E;
  margin: 0;
  line-height: 1.2;
}
.advice-block__subtitle {
  margin: 0;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--woo-text-xs);
  line-height: 1.4;
  color: #082B4E;
}
.advice-block__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--woo-space-md);
  width: 100%;
  text-align: left;
}
.advice-block__card {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--woo-space-sm);
  align-items: center;
  min-height: 5.375rem;
  padding: 1.25rem;
  border-radius: 0.25rem;
  background: #FFFFFF;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.advice-block__icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  color: #287D63;
}
.advice-block__icon svg {
  display: block;
  width: 2.125rem;
  height: 2.125rem;
}
.advice-block__card-body {
  display: flex;
  flex-direction: column;
  gap: var(--woo-space-xs);
  min-width: 0;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--woo-text-xs);
  line-height: 1.4;
  font-weight: 800;
  color: #082B4E;
}
.advice-block__card-label {
  display: block;
}
.advice-block__card-value {
  display: block;
  font-weight: 700;
  color: inherit;
  text-decoration: none;
}
.advice-block__card-value:hover {
  text-decoration: underline;
}
.advice-block__cta-wrap {
  width: 100%;
  padding-top: var(--woo-space-xs);
}
.advice-block__cta {
  display: inline-block;
  width: min(100%, 18.75rem);
  padding: 0.75rem 1.25rem;
  border: 1px solid #287D63;
  border-radius: 0.25rem;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--woo-text-xs);
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: #287D63;
  transition: background-color 300ms ease, color 300ms ease;
}
.advice-block__cta:hover {
  background: #287D63;
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  .advice-block__inner {
    gap: var(--woo-space-xl);
    padding: var(--woo-space-xl) var(--woo-space-xl);
  }
  .advice-block__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--woo-space-md);
  }
}
.advice-block--product {
  margin-top: var(--space-xl);
  border-radius: 0.25rem;
}

/**
 * Point d'entrée des tokens WooCommerce — exposé via bundle.scss.
 */
.product-rail {
  margin-top: var(--space-xl);
  padding: var(--woo-space-lg) var(--woo-space-md);
  border-radius: 0.25rem;
  background: #FBF6ED;
}
.product-rail__title {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-size: var(--text-h3);
  line-height: var(--leading-tight);
  font-weight: 800;
  color: #082B4E;
  margin: 0 0 var(--woo-space-lg);
  text-align: center;
}
.product-rail__slider-wrap {
  position: relative;
  padding-inline: var(--woo-space-lg);
}
@media screen and (min-width: 1024px) {
  .product-rail__slider-wrap {
    padding-inline: var(--woo-space-xl);
  }
}
.product-rail__slider {
  overflow: hidden;
}
.product-rail__slide {
  height: auto;
}
.product-rail__nav {
  position: absolute;
  top: 50%;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  margin: 0;
  margin-top: 0 !important;
  padding: 0;
  border: 1px solid #D8D8D8;
  border-radius: 50%;
  background: #FFFFFF;
  color: #6B7378;
  transform: translateY(-50%);
  cursor: pointer;
  pointer-events: auto;
}
.product-rail__nav .swiper-navigation-icon {
  display: none !important;
}
.product-rail__nav::after {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1;
}
.product-rail__nav.swiper-button-prev {
  left: 0;
  right: auto;
}
.product-rail__nav.swiper-button-prev::after {
  content: "‹";
}
.product-rail__nav.swiper-button-next {
  right: 0;
  left: auto;
}
.product-rail__nav.swiper-button-next::after {
  content: "›";
}
.product-rail__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.product-card {
  height: 100%;
  min-width: 0;
  border-radius: 0;
  background: #FFFFFF;
  box-shadow: 0 2px 10px rgba(8, 43, 78, 0.08);
  overflow: hidden;
}
.product-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}
.product-card__link:hover .product-card__title {
  color: #004F71;
}
.product-card__media {
  position: relative;
  overflow: hidden;
  background: #F5EFE6;
  isolation: isolate;
}
.product-card__badge {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  min-height: 1.75rem;
  padding: 0.25rem;
  border-radius: 9999px;
  background: #004F71;
  color: #FFFFFF;
  font-size: 0.6875rem;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}
.product-card__image {
  display: block;
  width: 100%;
  height: 9.5rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .product-card__image {
    height: 11.5rem;
  }
}
.product-card__image--placeholder {
  -o-object-fit: contain;
     object-fit: contain;
  padding: var(--woo-space-xs);
  background: #F5EFE6;
}
.product-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 0.75rem var(--woo-space-sm) var(--woo-space-sm);
}
.product-card__title {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  font-weight: 800;
  margin: 0;
  padding: var(--woo-space-xs) 0 0.625rem;
  color: #082B4E;
  transition: color 200ms ease;
}
.product-card__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--woo-space-xs);
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  font-weight: 800;
  color: #082B4E;
}
.product-card__price ins {
  text-decoration: none;
}
.product-card__price .woocommerce-Price-amount {
  font-weight: 800;
  text-decoration: none;
}
.product-card__price-current ins,
.product-card__price-current .woocommerce-Price-amount {
  text-decoration: none;
}
.product-card__price-old {
  color: #6B7378;
  font-weight: 600;
  text-decoration: line-through;
}
.product-card__price-old .woocommerce-Price-amount {
  font-weight: 600;
}
.product-card__stock {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: var(--woo-space-xs) 0 0;
  font-size: var(--text-sm);
  line-height: var(--leading-snug);
  font-weight: 800;
  color: #6B7378;
}
.product-card__stock.is-in-stock {
  color: #287D63;
}
.product-card__stock-dot {
  line-height: 1;
}

.single-product-page .product-accordion + .product-rail {
  margin-top: var(--space-xl);
}

.wysiwyg > * + * {
  margin-top: 1em;
}
.wysiwyg ul {
  padding-left: 1rem;
  list-style-type: disc;
}
.wysiwyg a {
  text-decoration: underline;
}
.wysiwyg p {
  /* color: theme('colors.black'); */
}
.wysiwyg h1, .wysiwyg h2, .wysiwyg h3, .wysiwyg h4, .wysiwyg h5, .wysiwyg h6 {
  color: #111111;
  margin-bottom: 1.5rem;
  font-weight: 600;
}
.wysiwyg ul, .wysiwyg ol {
  color: #111111;
  margin-bottom: 1.5rem;
}
.wysiwyg ol {
  list-style-type: decimal;
  padding-left: 1rem;
}
.wysiwyg h2 {
  font-size: 1.875rem;
}
.wysiwyg h3 {
  font-size: 1.5rem;
}
.wysiwyg h4 {
  font-size: 1.25rem;
}
.wysiwyg h5 {
  font-size: 1.125rem;
}
.wysiwyg h6 {
  font-size: 1rem;
}
.wysiwyg img {
  border-radius: 1rem;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.columns-builder-grid > .acf-innerblocks-container {
  display: grid;
  gap: 20px;
  grid-template-columns: var(--cb-grid-template, repeat(2, minmax(0, 1fr)));
}
.columns-builder-grid .column-item,
.columns-builder-grid .column-item > div {
  height: 100%;
}

.slider-block.hero-slider-block .hero-slider__slider .swiper-button-next,
.slider-block.hero-slider-block .hero-slider__slider .swiper-button-prev {
  display: none;
}

.hero-slider-block .hero-slider__slider {
  position: relative;
  overflow: hidden;
}
.hero-slider-block .hero-slider__grid {
  display: grid;
  grid-template-columns: 1fr;
  background: #FFFFFF;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .hero-slider-block .hero-slider__grid {
    grid-template-columns: 30rem 1fr;
    height: 35rem;
    align-items: stretch;
  }
}
.hero-slider-block .hero-slider__content {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 21.7rem;
  min-height: 21.7rem;
  padding: 4rem 2.5rem calc(2.5rem + 1.125rem) calc(2.25rem + 2.5rem);
  background: #FFFFFF;
}
@media screen and (min-width: 1024px) {
  .hero-slider-block .hero-slider__content {
    height: 100%;
    min-height: 100%;
  }
}
.hero-slider-block .hero-slider__content::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 1.125rem;
  background: #278968;
  pointer-events: none;
}
.hero-slider-block .hero-slider__content::after {
  content: "";
  position: absolute;
  left: 1.125rem;
  top: 0;
  bottom: 0;
  width: 1.125rem;
  background: #cfe2d4;
  pointer-events: none;
}
.hero-slider-block .hero-slider__copy {
  overflow: hidden;
  width: 100%;
  height: 100%;
  flex: 1 1 auto;
  min-height: 0;
}
.hero-slider-block .hero-slider__copy .swiper-wrapper {
  height: 100%;
}
.hero-slider-block .hero-slider__copy .swiper-slide {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  min-height: 100%;
}
.hero-slider-block .hero-slider__media {
  position: relative;
  overflow: hidden;
  height: 21.7rem;
  min-height: 21.7rem;
}
@media screen and (min-width: 1024px) {
  .hero-slider-block .hero-slider__media {
    height: 100%;
    min-height: 100%;
  }
}
.hero-slider-block .hero-slider__media-swiper {
  height: 100%;
}
.hero-slider-block .hero-slider__media-swiper .swiper-wrapper,
.hero-slider-block .hero-slider__media-swiper .swiper-slide {
  height: 100%;
}
.hero-slider-block .hero-slider__title {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-size: 2.5rem;
  line-height: 1.03;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: #082b4e;
  flex-shrink: 0;
}
.hero-slider-block .hero-slider__text {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 0.8125rem;
  line-height: 1.55;
  font-weight: 600;
  color: #092b4a;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 0;
  padding-bottom: 1.5rem;
}
.hero-slider-block .hero-slider__text p {
  margin: 0 0 0.75rem;
}
.hero-slider-block .hero-slider__text p:last-child {
  margin-bottom: 0;
}
.hero-slider-block .hero-slider__cta {
  display: inline-flex !important;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  max-width: 100%;
  align-self: flex-start !important;
  flex: 0 0 auto !important;
  padding: 0.875rem 1.125rem !important;
  margin-top: auto;
  margin-bottom: calc(2.5rem + 1.125rem);
  flex-shrink: 0;
  background: #062f52 !important;
  color: #fff !important;
  text-decoration: none;
  border-radius: 2px;
  text-transform: uppercase;
  font-size: 0.625rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.01875rem;
  line-height: 1.2;
  min-height: auto;
}
.hero-slider-block .hero-slider__cta .label {
  letter-spacing: 0.01875rem;
}
.hero-slider-block .hero-slider__image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.hero-slider-block .hero-slider__pagination {
  position: absolute;
  left: calc(2.25rem + 2.5rem);
  bottom: 2.5rem;
  display: flex;
  gap: 0.5rem;
  width: auto;
  margin: 0;
  padding: 0;
}
.hero-slider-block .hero-slider__pagination .swiper-pagination-bullet {
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 50%;
  background: #d9d9d9;
  opacity: 1;
  margin: 0;
  transition: background-color 300ms ease;
}
.hero-slider-block .hero-slider__pagination .swiper-pagination-bullet-active {
  background: #063255;
}

.hero-block {
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #222 no-repeat center/cover;
  position: relative;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.07);
  padding: 3rem 1.5rem;
}
.hero-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
}
.hero-block .hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
  padding: 0 1rem;
}
.hero-block .hero-title {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
  line-height: 1.1;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}
.hero-block .hero-description {
  color: #f9fafb;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.5;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}
@media (max-width: 900px) {
  .hero-block {
    min-height: 300px;
    padding: 2rem 1rem;
  }
  .hero-block .hero-title {
    font-size: 2rem;
  }
  .hero-block .hero-description {
    font-size: 1.1rem;
  }
}
@media (max-width: 600px) {
  .hero-block {
    min-height: 180px;
    padding: 1.2rem 0.5rem;
  }
  .hero-block .hero-title {
    font-size: 1.3rem;
  }
  .hero-block .hero-description {
    font-size: 0.95rem;
  }
}

.faq-block .faq-item {
  transition: box-shadow 0.3s;
  overflow: hidden;
}
.faq-block .faq-question {
  width: 100%;
  background: none;
  border: none;
  padding: 1rem 0rem;
  cursor: pointer;
  transition: color 0.2s;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 640px) {
  .faq-block .faq-question {
    padding: 1rem 0.5rem;
  }
}
.faq-block .faq-answer {
  padding: 0rem 0rem 1rem 0rem;
  font-size: 1rem;
  line-height: 1.6;
  transition: height 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), padding 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  height: 0;
  opacity: 0;
  overflow: hidden;
  will-change: max-height, opacity, padding;
}
@media screen and (min-width: 640px) {
  .faq-block .faq-answer {
    padding: 0rem 0.5rem 0rem 0.5rem;
  }
}
.faq-block .faq-item.active .faq-answer {
  /* height is controlled by JS (set to scrollHeight then to auto after transition) */
  opacity: 1;
  padding: 0rem 0rem 1rem 0rem;
}
@media screen and (min-width: 640px) {
  .faq-block .faq-item.active .faq-answer {
    padding: 0rem 0.5rem 0rem 0.5rem;
  }
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}
.embed-container iframe, .embed-container object, .embed-container embed, .embed-container video, .embed-container .wp-video, .embed-container .wp-video-shortcode {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.embed-container .wp-video,
.embed-container .mejs-container,
.embed-container .mejs-mediaelement,
.embed-container .mejs-video,
.embed-container .mejs-layers,
.embed-container .mejs-overlay,
.embed-container .mejs-poster {
  width: 100% !important;
  height: 100% !important;
}
.embed-container .wp-video-shortcode,
.embed-container .wp-video-shortcode video,
.embed-container video.wp-video-shortcode {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
     object-fit: cover;
}

.title-block__heading {
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  line-height: 1.1;
}
.title-block__heading--h1 {
  font-size: 4rem;
  line-height: 1;
}
.title-block__heading--h2 {
  font-size: 3rem;
  line-height: 1.1;
}
.title-block__heading--h3 {
  font-size: 2.25rem;
  line-height: 1.1;
}
.title-block__heading--h4 {
  font-size: 1.875rem;
  line-height: 1.2;
}
.title-block__heading--h5 {
  font-size: 1.5rem;
  line-height: 1.2;
}

.cta-block {
  position: relative;
  overflow: hidden;
}
.cta-block .cta-content {
  position: relative;
  z-index: 10;
  padding: 4rem 1.5rem;
}
@media (min-width: 768px) {
  .cta-block .cta-content {
    padding: 6rem 2rem;
  }
}
.cta-block .cta-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  transition: background 0.3s ease;
}
.cta-block .cta-title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .cta-block .cta-title {
    font-size: 2.75rem;
  }
}
.cta-block .cta-description {
  font-size: 1.125rem;
  max-width: 40rem;
  opacity: 0.9;
  margin-bottom: 2rem;
}

.services-bar-block {
  background: #f7f2eb;
}
.services-bar-block .services-bar__inner {
  width: 100%;
  padding: 1.75rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .services-bar-block .services-bar__inner {
    padding-inline: 4.375rem;
  }
}
@media screen and (min-width: 1024px) {
  .services-bar-block .services-bar__inner {
    padding-block: 1.25rem;
  }
}
.services-bar-block .services-bar__grid {
  display: grid;
  width: 100%;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media screen and (min-width: 640px) {
  .services-bar-block .services-bar__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .services-bar-block .services-bar__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3.125rem;
    align-items: center;
  }
}
.services-bar-block .services-bar__item {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: 1rem;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 0.75rem;
  line-height: 1.35;
  font-weight: 700;
  color: #062b4b;
}
.services-bar-block .services-bar__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
}
.services-bar-block .services-bar__icon-image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.services-bar-block .services-bar__text {
  min-width: 0;
}
.services-bar-block--vertical {
  margin-block: 2.5rem;
  -webkit-margin-end: 1.5rem;
          margin-inline-end: 1.5rem;
}
@media screen and (min-width: 768px) {
  .services-bar-block--vertical {
    -webkit-margin-end: 2.375rem;
            margin-inline-end: 2.375rem;
  }
}
@media screen and (min-width: 1024px) {
  .services-bar-block--vertical {
    margin-block: 3rem;
  }
}
.services-bar-block--vertical .services-bar__grid {
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.history-block {
  background: #FFFFFF;
}
.history-block .history-block__inner {
  padding: 2.5rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .history-block .history-block__inner {
    padding-inline: 2.375rem;
  }
}
@media screen and (min-width: 1024px) {
  .history-block .history-block__inner {
    padding-block: 3rem;
  }
}
.history-block .history-block__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: start;
}
@media screen and (min-width: 1024px) {
  .history-block .history-block__grid {
    grid-template-columns: 27.25rem 1fr 13.125rem;
    gap: 2.25rem;
    align-items: stretch;
  }
}
.history-block .history-block__media {
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .history-block .history-block__media {
    height: 15.875rem;
  }
}
.history-block .history-block__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 436/254;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (min-width: 1024px) {
  .history-block .history-block__image {
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
  }
}
.history-block .history-block__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
@media screen and (min-width: 1024px) {
  .history-block .history-block__content {
    min-height: 15.875rem;
    height: 100%;
  }
}
.history-block .history-block__eyebrow {
  margin: 0.875rem 0 0;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: #27745d;
}
@media screen and (min-width: 1024px) {
  .history-block .history-block__eyebrow {
    margin-top: 0;
  }
}
.history-block .history-block__title {
  margin: 0.5rem 0 0.8125rem;
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  font-size: 1.75rem;
  line-height: 1.15;
  font-weight: 700;
  color: #082b4e;
}
.history-block .history-block__underline {
  width: 3rem;
  height: 2px;
  background: #2b8b6a;
  margin: 0 0 0.875rem;
}
.history-block .history-block__text {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #24384a;
  flex: 1 1 auto;
}
.history-block .history-block__text p {
  margin: 0 0 0.625rem;
}
.history-block .history-block__text p:last-child {
  margin-bottom: 0;
}
.history-block .history-block__text strong {
  font-weight: 700;
}
.history-block .history-block__cta {
  display: inline-flex !important;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  margin-top: 1rem !important;
  margin-bottom: 0 !important;
  flex-shrink: 0;
  padding: 0.75rem 0.9375rem !important;
  background: transparent !important;
  color: #002b4d !important;
  border: 1px solid #002b4d !important;
  border-radius: 0;
  font-size: 0.625rem !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  line-height: 1.2;
}
.history-block .history-block__cta .label {
  letter-spacing: 0.02rem;
}
.history-block .history-block__facts {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1rem;
  min-height: 14.75rem;
  margin-top: 0;
  padding: 1.125rem 1.5rem;
  background: #f5efe6;
}
@media screen and (min-width: 1024px) {
  .history-block .history-block__facts {
    margin-top: 1.125rem;
  }
}
.history-block .history-block__fact {
  display: grid;
  grid-template-columns: 1.75rem 1fr;
  gap: 0.875rem;
  align-items: center;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 0.75rem;
  line-height: 1.35;
  font-weight: 700;
  color: #082b4e;
}
.history-block .history-block__fact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
}
.history-block .history-block__fact-icon-image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.history-block .history-block__fact-text {
  min-width: 0;
}

.univers-literie-block {
  background: #FBF6ED;
}
.univers-literie-block .univers-literie-block__inner {
  padding: 1.75rem 1.5rem 1.375rem;
}
@media screen and (min-width: 768px) {
  .univers-literie-block .univers-literie-block__inner {
    padding-inline: 2.375rem;
  }
}
@media screen and (min-width: 1024px) {
  .univers-literie-block .univers-literie-block__inner {
    padding-inline: 5rem;
  }
}
.univers-literie-block .univers-literie-block__header {
  margin-bottom: 0.875rem;
}
.univers-literie-block .univers-literie-block__eyebrow {
  margin: 0;
  font-size: var(--text-2xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #287D63;
}
.univers-literie-block .univers-literie-block__title {
  margin: 0.4375rem 0 0;
  font-size: var(--text-h2);
  line-height: var(--leading-tight);
  font-weight: 800;
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  color: #082B4E;
}
.univers-literie-block .univers-literie-block__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
@media screen and (min-width: 640px) {
  .univers-literie-block .univers-literie-block__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1024px) {
  .univers-literie-block .univers-literie-block__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 1280px) {
  .univers-literie-block .univers-literie-block__cards {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
.univers-literie-block .univers-literie-block__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #FFFFFF;
  border: 1px solid #ddd4c8;
  text-align: center;
}
.univers-literie-block .univers-literie-block__card-media {
  overflow: hidden;
  aspect-ratio: 4/3;
  min-height: 10rem;
}
.univers-literie-block .univers-literie-block__card-image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.univers-literie-block .univers-literie-block__card-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: center;
}
.univers-literie-block .univers-literie-block__card-title {
  margin: var(--space-sm) 0 var(--space-xs);
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--text-h4);
  line-height: var(--leading-snug);
  font-weight: 800;
  font-family: 'Pryced Serif', 'SuisseIntl', Georgia, serif;
  color: #082B4E;
}
.univers-literie-block .univers-literie-block__card-text {
  margin: 0 var(--space-sm) 0.625rem;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: var(--text-xs);
  line-height: var(--leading-snug);
  font-weight: 400;
  color: #082B4E;
  color: #24384a;
  flex: 1 1 auto;
}
.univers-literie-block .univers-literie-block__card-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  margin: 0 0 var(--space-sm);
  font-size: var(--text-2xs);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-decoration: none;
  color: #082B4E;
  transition: color 200ms ease;
}
.univers-literie-block .univers-literie-block__card-link:hover, .univers-literie-block .univers-literie-block__card-link:focus-visible {
  color: #287D63;
}
.univers-literie-block .univers-literie-block__card-link-arrow {
  font-size: var(--text-xs);
  line-height: 1;
}

.carousel-marques-block {
  position: relative;
  background: #F5EFE6;
  text-align: center;
  padding-block: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .carousel-marques-block {
    padding-block: 3rem;
  }
}
.carousel-marques-block .carousel-marques-block__inner {
  padding-inline: 1.5rem;
}
@media screen and (min-width: 768px) {
  .carousel-marques-block .carousel-marques-block__inner {
    padding-inline: 2.375rem;
  }
}
.carousel-marques-block .carousel-marques-block__title {
  margin: 0 0 1.375rem;
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.05rem;
  text-transform: uppercase;
  color: #082b4e;
}
.carousel-marques-block .carousel-marques-block__slider-wrap {
  position: relative;
  padding-inline: 3rem;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .carousel-marques-block .carousel-marques-block__slider-wrap {
    padding-inline: 6.5625rem;
  }
}
.carousel-marques-block .carousel-marques-block__slider.brand-row {
  overflow: hidden;
}
.carousel-marques-block .carousel-marques-block__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.125rem;
}
.carousel-marques-block .carousel-marques-block__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.carousel-marques-block .carousel-marques-block__logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 7.8125rem;
  max-height: 3.125rem;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.carousel-marques-block .carousel-marques-block__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.125rem;
  height: 2.125rem;
  margin: 0;
  margin-top: 0 !important;
  padding: 0;
  border: 1px solid #eee;
  border-radius: 50%;
  background: #fff;
  color: #999;
  transform: translateY(-50%);
  cursor: pointer;
}
.carousel-marques-block .carousel-marques-block__nav .swiper-navigation-icon {
  display: none !important;
}
.carousel-marques-block .carousel-marques-block__nav::after {
  font-family: 'SuisseIntl', Arial, Helvetica, sans-serif;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1;
}
.carousel-marques-block .carousel-marques-block__nav.swiper-button-prev {
  left: 1.5rem;
  right: auto;
}
.carousel-marques-block .carousel-marques-block__nav.swiper-button-prev::after {
  content: "‹";
}
.carousel-marques-block .carousel-marques-block__nav.swiper-button-next {
  right: 1.5rem;
  left: auto;
}
.carousel-marques-block .carousel-marques-block__nav.swiper-button-next::after {
  content: "›";
}
.carousel-marques-block .carousel-marques-block__nav.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

.image-text-block .image-text-grid {
  display: grid;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 768px) {
  .image-text-block .image-text-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}
@media (min-width: 1024px) {
  .image-text-block .image-text-grid {
    gap: 2rem;
  }
}
@media (min-width: 768px) {
  .image-text-block.image-right .image-text-grid .image-text-media {
    order: 2;
  }
  .image-text-block.image-right .image-text-grid .image-text-content {
    order: 1;
  }
  .image-text-block.ratio-40-60 .image-text-grid {
    grid-template-columns: 2fr 3fr;
  }
  .image-text-block.ratio-60-40 .image-text-grid {
    grid-template-columns: 3fr 2fr;
  }
}
.image-text-block .image-text-title {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .image-text-block .image-text-title {
    font-size: 2.25rem;
  }
}
.image-text-block .image-text-description {
  font-size: 1rem;
  line-height: 1.6;
}
.image-text-block .image-text-media {
  overflow: hidden;
  border-radius: 0.25rem;
}
.image-text-block .image-text-media img {
  width: 100%;
  height: auto;
  display: block;
}
.placeholder\:text-on-surface-muted::-moz-placeholder{
  --tw-text-opacity: 1;
  color: rgb(107 115 120 / var(--tw-text-opacity, 1));
}
.placeholder\:text-on-surface-muted::placeholder{
  --tw-text-opacity: 1;
  color: rgb(107 115 120 / var(--tw-text-opacity, 1));
}
@media (hover: hover) and (pointer: fine){
  .hover\:text-accent:hover{
    --tw-text-opacity: 1;
    color: rgb(145 214 172 / var(--tw-text-opacity, 1));
  }
  .hover\:text-accent-strong:hover{
    --tw-text-opacity: 1;
    color: rgb(40 125 99 / var(--tw-text-opacity, 1));
  }
  .hover\:text-primary:hover{
    --tw-text-opacity: 1;
    color: rgb(0 79 113 / var(--tw-text-opacity, 1));
  }
  .hover\:text-white:hover{
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  }
  .hover\:underline:hover{
    -webkit-text-decoration-line: underline;
            text-decoration-line: underline;
  }
  .hover\:opacity-70:hover{
    opacity: 0.7;
  }
}
.focus\:not-sr-only:focus{
  position: static;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
}
.focus\:absolute:focus{
  position: absolute;
}
.focus\:left-0:focus{
  left: 0rem;
}
.focus\:top-0:focus{
  top: 0rem;
}
.focus\:z-\[9999\]:focus{
  z-index: 9999;
}
.focus\:bg-background:focus{
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.focus\:p-16:focus{
  padding: 1rem;
}
.focus\:text-on-surface:focus{
  --tw-text-opacity: 1;
  color: rgb(8 43 78 / var(--tw-text-opacity, 1));
}
.focus\:outline-none:focus{
  outline: 2px solid transparent;
  outline-offset: 2px;
}
.focus-visible\:outline:focus-visible{
  outline-style: solid;
}
.focus-visible\:outline-2:focus-visible{
  outline-width: 2px;
}
.focus-visible\:outline-offset-2:focus-visible{
  outline-offset: 2px;
}
.focus-visible\:outline-accent:focus-visible{
  outline-color: #91D6AC;
}
.focus-visible\:outline-primary:focus-visible{
  outline-color: #004F71;
}
@media (min-width: 640px){
  .sm\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px){
  .md\:block{
    display: block;
  }
  .md\:flex{
    display: flex;
  }
  .md\:hidden{
    display: none;
  }
  .md\:h-48{
    height: 3rem;
  }
  .md\:h-header-height-desktop{
    height: 5.25rem;
  }
  .md\:w-full{
    width: 100%;
  }
  .md\:grid-cols-2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md\:flex-row{
    flex-direction: row;
  }
  .md\:items-center{
    align-items: center;
  }
  .md\:justify-between{
    justify-content: space-between;
  }
  .md\:gap-24{
    gap: 1.5rem;
  }
  .md\:px-gutter-wide{
    padding-left: 2.375rem;
    padding-right: 2.375rem;
  }
}
@media (min-width: 1024px){
  .lg\:flex{
    display: flex;
  }
  .lg\:hidden{
    display: none;
  }
  .lg\:grid-cols-3{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .lg\:grid-cols-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .lg\:gap-24{
    gap: 1.5rem;
  }
}
.\[\&_a\]\:text-on-primary a{
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.\[\&_a\]\:underline a{
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
.\[\&_a\]\:underline-offset-2 a{
  text-underline-offset: 2px;
}
@media (hover: hover) and (pointer: fine){
  .\[\&_a\]\:hover\:text-accent:hover a{
    --tw-text-opacity: 1;
    color: rgb(145 214 172 / var(--tw-text-opacity, 1));
  }
}
