:root {
  --kg--color--primary: #296389;
  --kg--color--primary-dark: #124465;
  --kg--color--secondary-light: #EFEAE4;
  --kg--color--secondary: #BCAF9C;
  --kg--color--secondary-dark: #7D7568;
  --kg--container-width: 1320px;
}

.kg-center {
  text-align: center;
}

.kg-upper {
  text-transform: uppercase;
}

.kg-h1 {
  font-weight: 700;
  font-size: 2.8125rem;
  line-height: 1.125;
  color: var(--kg--color--primary);
}

.kg-h2 {
  font-size: 2.5rem;
  line-height: 1.125;
  font-weight: 700;
  color: var(--kg--color--primary);
}

.kg-h3 {
  font-size: 2.1875rem;
  line-height: 1.125;
  font-weight: 700;
  color: var(--kg--color--primary);
}

.kg-h4 {
  font-size: 1.5625rem;
  line-height: 1.125;
  font-weight: 700;
  color: var(--kg--color--primary);
}

.kg-p {
  font-size: 1.125rem;
  line-height: 1.75;
  font-weight: 400;
  color: var(--kg--color--secondary-dark);
}

@media (max-width: 1399px) {
  .kg-h1 {
    font-size: 2.375rem;
  }
  .kg-h2 {
    font-size: 2rem;
  }
  .kg-h3 {
    font-size: 1.875rem;
  }
  .kg-h4 {
    font-size: 1.3125rem;
  }
  .kg-p {
    font-size: 1rem;
  }
}
@media (max-width: 991px) {
  .kg-h1 {
    font-size: 1.875rem;
  }
  .kg-h2 {
    font-size: 1.5625rem;
  }
  .kg-h3 {
    font-size: 1.375rem;
  }
  .kg-h4 {
    font-size: 1.0625rem;
  }
  .kg-p {
    font-size: 0.875rem;
  }
}
.kg-button {
  --background-color: var(--kg--color--primary);
  --text-color: white;
  --background-hover-color: var(--kg--color--primary-dark);
  --text-hover-color: white;
  --border-color: var(--kg--color--primary);
  background: var(--background-color);
  border: 1px solid var(--border-color);
  color: var(--text-color);
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  padding: 13px 24px;
  text-align: center;
  transition: 0.3s;
}
@media (min-width: 992px) {
  .kg-button {
    padding: 16px 35px;
    font-size: 1rem;
  }
}
.kg-button svg {
  fill: currentColor;
  height: 18px;
  width: 18px;
}
.kg-button:hover, .kg-button:focus {
  background: var(--background-hover-color);
  color: var(--text-hover-color);
  border-color: var(--background-hover-color);
  text-decoration: none;
}
.kg-button--small {
  padding: 5px 10px;
  font-size: 0.8125rem;
}
.kg-button--secondary {
  --background-color: var(--kg--color--secondary-dark);
  --text-color: white;
  --background-hover-color: rgb(173.7074235808, 167.4541484716, 157.2925764192);
  --border-color: var(--kg--color--secondary-dark);
  --text-hover-color: white;
  padding: 13px 30px 13px 22px;
  gap: 15px;
}
.kg-button--secondary svg {
  height: 14px;
  width: 14px;
}
.kg-button--outlined {
  background: white;
  border: 1px solid var(--border-color);
  color: var(--background-color);
}
.kg-button--outlined:hover, .kg-button--outlined:focus {
  background: rgb(229.1686746988, 224.156626506, 216.8313253012);
  color: var(--background-color);
  border-color: var(--border-color);
}
.kg-button--tertiary {
  background-color: #635849;
  border: 1px solid var(--kg--color--secondary-dark);
  text-transform: uppercase;
}
.kg-button--tertiary:hover, .kg-button--tertiary:focus {
  background: var(--kg--color--secondary-light);
  color: var(--kg--color--secondary-dark);
}
.kg-button--fullwidth {
  width: 100%;
}

@media (max-width: 1199px) {
  #wpadminbar {
    display: none !important;
  }
}

.kg-container {
  max-width: var(--kg--container-width);
  margin: 0 auto;
}

.kg-sub-menu {
  position: sticky;
  width: 100%;
  background-color: white;
  border-top: 1px solid var(--kg--color--secondary-light);
  border-bottom: 1px solid var(--kg--color--secondary-light);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 10px;
  z-index: 1019;
}
@media (min-width: 992px) {
  .kg-sub-menu {
    padding-left: max(20px, 50% - var(--kg--container-width) / 2);
  }
}
@media (max-width: 991px) {
  .kg-sub-menu .kg-sub-menu__switcher, .kg-sub-menu .kg-sub-menu__reservation {
    display: none;
  }
}
.kg-sub-menu__menu ul {
  list-style: none;
  padding-left: 0;
  display: flex;
  gap: 20px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-sub-menu__menu ul {
    gap: 16px;
  }
}
@media (min-width: 1400px) {
  .kg-sub-menu__menu ul {
    gap: 30px;
  }
}
.kg-sub-menu__menu ul li a {
  display: inline-block;
  padding: 10px 3px 10px;
  color: var(--kg--color--secondary-dark);
  font-size: 0.8125rem;
  text-decoration: none;
  position: relative;
  white-space: nowrap;
  transition: 0.3s;
}
@media (min-width: 992px) {
  .kg-sub-menu__menu ul li a {
    padding: 24px 3px 21px;
    font-size: 1.0625rem;
  }
}
.kg-sub-menu__menu ul li a:after {
  content: "";
  background-color: transparent;
  position: absolute;
  left: 0;
  height: 3px;
  width: 100%;
  bottom: -1px;
  transition: 0.3s;
}
.kg-sub-menu__menu ul li a.kg-current-item {
  font-weight: bold;
}
.kg-sub-menu__menu ul li a.kg-current-item:after, .kg-sub-menu__menu ul li a:hover:after, .kg-sub-menu__menu ul li a:focus:after {
  background-color: var(--kg--color--secondary-dark);
}
.kg-sub-menu__switcher {
  display: flex;
  background-color: var(--kg--color--secondary-light);
  border-radius: 5px;
  padding: 3px;
}
.kg-sub-menu__switcher .kg-sub-menu__switcher__btn {
  background-color: transparent;
  border-radius: 5px;
  text-transform: none;
}
.kg-sub-menu__switcher .kg-sub-menu__switcher__btn--w:hover, .kg-sub-menu__switcher .kg-sub-menu__switcher__btn--w:focus, .kg-sub-menu__switcher .kg-sub-menu__switcher__btn--w.active {
  background-color: #28638a;
  color: white;
}
.kg-sub-menu__switcher .kg-sub-menu__switcher__btn--s:hover, .kg-sub-menu__switcher .kg-sub-menu__switcher__btn--s:focus, .kg-sub-menu__switcher .kg-sub-menu__switcher__btn--s.active {
  background-color: #E5C927;
  color: white;
}
@media (max-width: 1399px) {
  .kg-sub-menu__switcher .kg-sub-menu__switcher__btn .season-text {
    display: none;
  }
}
.kg-sub-menu__reservation {
  display: flex;
  justify-content: end;
  flex: 0 0 270px;
  gap: 15px;
  align-items: center;
}
@media (min-width: 992px) {
  .kg-sub-menu__reservation {
    flex: 0 0 240px;
    padding-right: 16px;
  }
}
@media (min-width: 1400px) {
  .kg-sub-menu__reservation {
    flex: 0 0 300px;
    padding-right: 20px;
  }
}
.kg-sub-menu__reservation-price {
  font-size: 0.8125rem;
  color: var(--kg--color--secondary-dark);
}
.kg-sub-menu__reservation-price p {
  margin-bottom: 0;
  line-height: 1;
}
.kg-sub-menu__reservation-price .kg-sub-menu__reservation-price-line-1 {
  margin-bottom: 3px;
}
.kg-sub-menu__reservation-price-line-2 {
  display: flex;
  align-items: end;
  gap: 6px;
}
.kg-sub-menu__reservation-price-line-2 .price {
  color: var(--kg--color--primary);
  font-size: 1.5rem;
  font-weight: 900;
  display: flex;
  align-items: center;
}
.kg-sub-menu__reservation-price-line-2 .price sup {
  top: -0.2em;
  font-size: 0.625em;
  font-weight: 700;
}
.kg-sub-menu__reservation-button .kg-button {
  font-size: 0.9375rem;
  padding-block: 10px;
}
@media (max-width: 1399px) {
  .kg-sub-menu__reservation-button .kg-button {
    padding-inline: 20px;
    font-size: 0.875rem;
  }
}

.kg-menu-bottom-mobile {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
  z-index: 1020;
  display: flex;
  gap: 12px;
  padding: 10px;
  justify-content: space-between;
}
@media (min-width: 992px) {
  .kg-menu-bottom-mobile {
    display: none;
  }
}
.kg-menu-bottom-mobile__left {
  flex: 0 0 60px;
}
.kg-menu-bottom-mobile__season-text {
  margin-bottom: 0;
  font-size: 0.75rem;
  color: var(--kg--color--primary);
  text-transform: uppercase;
  font-weight: bold;
}

.kg-swiper {
  border-radius: 10px;
}
.kg-swiper-wrapper {
  width: 100%;
}
@media (min-width: 992px) {
  .kg-swiper-wrapper {
    width: 400px;
  }
}
@media (min-width: 1400px) {
  .kg-swiper-wrapper {
    width: 520px;
  }
}
.kg-swiper-slide {
  position: relative;
  overflow: hidden;
  aspect-ratio: 0.8;
}
.kg-swiper--landscape .kg-swiper-slide {
  aspect-ratio: 1.45;
}
.kg-swiper__item-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kg-swiper__item-content {
  position: absolute;
  inset: 0;
  padding: 65px 30px;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: center;
  background: linear-gradient(transparent, transparent, rgba(0, 0, 0, 0.75));
}
@media (min-width: 992px) {
  .kg-swiper__item-content {
    align-items: start;
    padding: 50px 30px;
  }
}
.kg-swiper__item-picto {
  width: 65px;
  fill: white;
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  .kg-swiper__item-picto {
    width: 75px;
    margin-bottom: 20px;
  }
}
.kg-swiper__item-title {
  color: white;
  font-size: 1.25rem;
  font-weight: bold;
}
@media (min-width: 992px) {
  .kg-swiper__item-title {
    font-size: 1.6875rem;
  }
}
.kg-swiper .swiper-button-prev,
.kg-swiper .swiper-button-next {
  background: white;
  border: none;
  width: 39px;
  height: 39px;
  border-radius: 100%;
  opacity: 0.75;
  transition: 0.3s;
  right: 20px;
  bottom: 14px;
  left: unset;
  top: unset;
}
@media (min-width: 992px) {
  .kg-swiper .swiper-button-prev,
  .kg-swiper .swiper-button-next {
    width: 45px;
    height: 45px;
    right: 30px;
    bottom: 50px;
  }
}
.kg-swiper .swiper-button-prev:hover, .kg-swiper .swiper-button-prev:focus,
.kg-swiper .swiper-button-next:hover,
.kg-swiper .swiper-button-next:focus {
  opacity: 1;
  outline: none;
}
.kg-swiper .swiper-button-prev svg,
.kg-swiper .swiper-button-next svg {
  fill: var(--kg--color--primary);
  width: 13px;
}
@media (min-width: 992px) {
  .kg-swiper .swiper-button-prev svg,
  .kg-swiper .swiper-button-next svg {
    width: 15px;
  }
}
.kg-swiper .swiper-button-prev:after,
.kg-swiper .swiper-button-next:after {
  display: none;
}
.kg-swiper .swiper-button-prev {
  right: unset;
  left: 20px;
}
@media (min-width: 992px) {
  .kg-swiper .swiper-button-prev {
    left: unset;
    right: 85px;
  }
}
.kg-swiper--landscape .swiper-button-prev,
.kg-swiper--landscape .swiper-button-next {
  right: 15px;
  bottom: 15px;
}
.kg-swiper--landscape .swiper-button-prev {
  right: 70px;
}

@media (max-width: 991px) {
  .kg-mobile-scroll {
    width: 100%;
    overflow-x: scroll;
    scrollbar-width: none; /* Firefox, Safari 18.2+, Chromium 121+ */
  }
  .kg-mobile-scroll::-webkit-scrollbar {
    display: none; /* Older Safari and Chromium */
  }
}

.kg-badge {
  border: 1px solid var(--kg--color--secondary);
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 13px;
  color: var(--kg--color--primary);
  font-size: 0.9375rem;
  font-weight: bold;
}
.kg-badge svg {
  width: 15px;
  fill: currentColor;
}

.kg-tabs__header {
  display: flex;
  gap: 5px;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
}
@media (min-width: 992px) {
  .kg-tabs__header {
    gap: 22px;
    margin-bottom: 40px;
  }
}
.kg-tabs__header button {
  display: inline-block;
  padding: 9px 24px;
  background: transparent;
  border-radius: 100px;
  border: 1px solid var(--kg--color--secondary);
  color: var(--kg--color--secondary);
  font-size: 0.75rem;
  font-weight: bold;
  line-height: 1;
}
@media (min-width: 992px) {
  .kg-tabs__header button {
    font-size: 1.125rem;
    padding: 12px 36px;
  }
}
.kg-tabs__header button {
  transition: 0.3s;
}
.kg-tabs__header button:hover, .kg-tabs__header button:focus, .kg-tabs__header button[aria-selected=true] {
  background: var(--kg--color--secondary-dark);
  border-color: var(--kg--color--secondary-dark);
  color: white;
}

.kg-text-truncated:not(.kg-expanded) .kg-text-truncated__text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.kg-offcanvas {
  --kg-offcanvas-inner-width: 100%;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4156862745);
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
.kg-offcanvas__back-button-container {
  background: white;
  position: sticky;
  top: 0;
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
}
.kg-offcanvas__inner {
  background: white;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  transform: translateX(100%);
  overflow-y: scroll;
  width: var(--kg-offcanvas-inner-width);
  max-width: 100%;
  scroll-behavior: smooth;
  transition: 0.3s;
}
.kg-offcanvas__container {
  padding: 16px 10px;
}
@media (min-width: 992px) {
  .kg-offcanvas__container {
    padding: 110px 20px 45px;
  }
}
.kg-offcanvas.kg-open {
  opacity: 1;
  visibility: visible;
}
.kg-offcanvas.kg-open .kg-offcanvas__inner {
  transform: translateX(0);
}
.kg-offcanvas__header {
  display: flex;
  justify-content: space-between;
  padding: 36px 30px 36px 40px;
  border-bottom: 1px solid var(--kg--color--secondary);
}
.kg-offcanvas__header-title {
  margin-bottom: 0;
}
.kg-offcanvas__header .kg-offcanvas-close {
  border: none;
  background: unset;
}
.kg-offcanvas__header .kg-offcanvas-close svg {
  fill: var(--kg--color--secondary-dark);
  width: 14px;
  height: 14px;
}
.kg-offcanvas--services {
  --kg-offcanvas-inner-width: 750px;
}
.kg-offcanvas--services .kg-appartements__services {
  flex-direction: column;
  margin-top: 0 !important;
  gap: 0 !important;
}
.kg-offcanvas--services .kg-appartements__service-inner {
  border: none !important;
  margin-bottom: 0 !important;
}
.kg-offcanvas--services .kg-appartements__service--2 .kg-appartements__service-title {
  flex-direction: column;
  gap: 12px;
  margin-top: -39px;
}
@media (min-width: 992px) {
  .kg-offcanvas--services .kg-appartements__service--2 .kg-appartements__service-title {
    margin-top: -50px;
  }
}

.kg-galerie-hebergement {
  padding-top: 24px;
}
@media (min-width: 992px) {
  .kg-galerie-hebergement {
    padding-top: 45px;
  }
}
.kg-galerie-hebergement__nav ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  gap: 4px;
}
@media (min-width: 992px) {
  .kg-galerie-hebergement__nav ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 30px;
  }
}
.kg-galerie-hebergement__nav-item {
  flex: 0 0 110px;
}
.kg-galerie-hebergement__nav-item-link {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
@media (min-width: 992px) {
  .kg-galerie-hebergement__nav-item-link {
    gap: 12px;
  }
}
.kg-galerie-hebergement__nav-item-img {
  width: 100%;
  border-radius: 5px;
  aspect-ratio: 1.4;
  object-fit: cover;
}
.kg-galerie-hebergement__nav-item-title {
  color: var(--kg--color--secondary-dark);
  font-weight: bold;
  font-size: 0.875rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-galerie-hebergement__nav-item-title {
    font-size: 1.125rem;
  }
}
.kg-galerie-hebergement__gallerie {
  margin-top: 40px;
}
@media (min-width: 992px) {
  .kg-galerie-hebergement__gallerie {
    margin-top: 100px;
  }
}
.kg-galerie-hebergement__gallerie-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media (min-width: 992px) {
  .kg-galerie-hebergement__gallerie-grid {
    gap: 30px;
  }
}
.kg-galerie-hebergement__gallerie-item img {
  border-radius: 10px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kg-galerie-hebergement__gallerie-item:nth-child(3) {
  grid-column: 2;
  grid-row: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(4) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(9) {
  grid-column: 2;
  grid-row: 5/7;
}
.kg-galerie-hebergement__gallerie-item:nth-child(10) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(15) {
  grid-column: 2;
  grid-row: 9/11;
}
.kg-galerie-hebergement__gallerie-item:nth-child(16) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(21) {
  grid-column: 2;
  grid-row: 13/15;
}
.kg-galerie-hebergement__gallerie-item:nth-child(22) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(27) {
  grid-column: 2;
  grid-row: 17/19;
}
.kg-galerie-hebergement__gallerie-item:nth-child(28) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(33) {
  grid-column: 2;
  grid-row: 21/23;
}
.kg-galerie-hebergement__gallerie-item:nth-child(34) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(39) {
  grid-column: 2;
  grid-row: 25/27;
}
.kg-galerie-hebergement__gallerie-item:nth-child(40) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(45) {
  grid-column: 2;
  grid-row: 29/31;
}
.kg-galerie-hebergement__gallerie-item:nth-child(46) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(51) {
  grid-column: 2;
  grid-row: 33/35;
}
.kg-galerie-hebergement__gallerie-item:nth-child(52) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(57) {
  grid-column: 2;
  grid-row: 37/39;
}
.kg-galerie-hebergement__gallerie-item:nth-child(58) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(63) {
  grid-column: 2;
  grid-row: 41/43;
}
.kg-galerie-hebergement__gallerie-item:nth-child(64) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(69) {
  grid-column: 2;
  grid-row: 45/47;
}
.kg-galerie-hebergement__gallerie-item:nth-child(70) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(75) {
  grid-column: 2;
  grid-row: 49/51;
}
.kg-galerie-hebergement__gallerie-item:nth-child(76) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(81) {
  grid-column: 2;
  grid-row: 53/55;
}
.kg-galerie-hebergement__gallerie-item:nth-child(82) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(87) {
  grid-column: 2;
  grid-row: 57/59;
}
.kg-galerie-hebergement__gallerie-item:nth-child(88) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(93) {
  grid-column: 2;
  grid-row: 61/63;
}
.kg-galerie-hebergement__gallerie-item:nth-child(94) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(99) {
  grid-column: 2;
  grid-row: 65/67;
}
.kg-galerie-hebergement__gallerie-item:nth-child(100) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(105) {
  grid-column: 2;
  grid-row: 69/71;
}
.kg-galerie-hebergement__gallerie-item:nth-child(106) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(111) {
  grid-column: 2;
  grid-row: 73/75;
}
.kg-galerie-hebergement__gallerie-item:nth-child(112) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(117) {
  grid-column: 2;
  grid-row: 77/79;
}
.kg-galerie-hebergement__gallerie-item:nth-child(118) {
  grid-column: 1/3;
}
.kg-galerie-hebergement__gallerie-item:nth-child(123) {
  grid-column: 2;
  grid-row: 81/83;
}
.kg-galerie-hebergement__gallerie-item:nth-child(124) {
  grid-column: 1/3;
}

.pswp__container .pswp__img {
  max-width: 80vw;
  max-height: 80vh;
  object-fit: contain;
}

.kg-hero-header {
  background: var(--kg--color--secondary-light);
  padding: 30px 10px 0;
}
@media (min-width: 992px) {
  .kg-hero-header {
    padding: 50px 20px 0;
  }
}
.kg-hero-header__top {
  display: flex;
  justify-content: space-between;
  gap: 48px;
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  .kg-hero-header__top {
    margin-bottom: 18px;
  }
}
.kg-hero-header__top-left {
  flex: 1;
}
.kg-hero-header__top-left-infos {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.kg-hero-header__top-left-img {
  display: flex;
  gap: 5px;
  width: 105px;
}
@media (min-width: 991px) {
  .kg-hero-header__top-left-img {
    display: none;
  }
}
.kg-hero-header__top-left-img img {
  width: 50px;
}
.kg-hero-header__top-right {
  padding-top: 18px;
  display: flex;
  gap: 8px;
}
@media (max-width: 991px) {
  .kg-hero-header__top-right {
    display: none;
  }
}
.kg-hero-header__top-right img {
  width: 100%;
  max-width: 93px;
}
.kg-hero-header__title {
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
@media (min-width: 992px) {
  .kg-hero-header__title {
    align-items: start;
  }
}
.kg-hero-header__title::before {
  content: "";
  background: var(--kg--color--secondary);
  display: block;
  height: 5px;
  width: 30px;
}
@media (min-width: 992px) {
  .kg-hero-header__title::before {
    height: 12px;
    width: 72px;
  }
}
.kg-hero-header__sub-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--kg--color--secondary-dark);
  margin-bottom: 0;
  text-align: center;
}
@media (min-width: 992px) {
  .kg-hero-header__sub-title {
    text-align: left;
    font-size: 1.5rem;
  }
}
.kg-hero-header__service-title {
  font-size: 1rem;
  font-weight: 400;
  color: var(--kg--color--secondary-dark);
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  .kg-hero-header__service-title {
    text-align: left;
    font-size: 1.125rem;
    margin-bottom: 0;
  }
}
.kg-hero-header__date-avis {
  display: flex;
  align-items: start;
  flex-direction: column;
  gap: 5px;
}
@media (min-width: 992px) {
  .kg-hero-header__date-avis {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }
}
.kg-hero-header__date-ouverture {
  background: white;
  font-size: 0.75rem;
  color: var(--kg--color--secondary-dark);
  padding: 5px 10px;
  margin-bottom: 0;
  border-radius: 5px;
}
@media (min-width: 992px) {
  .kg-hero-header__date-ouverture {
    font-size: 1rem;
    padding: 5px 15px;
  }
}
.kg-hero-header__date-ouverture span {
  font-weight: bold;
  color: var(--kg--color--primary);
}
.kg-hero-header__avis {
  display: flex;
  gap: 5px;
  align-items: center;
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  .kg-hero-header__avis {
    font-size: 1rem;
  }
}
.kg-hero-header__avis .star {
  fill: #FDAF00;
  width: 22px;
}
.kg-hero-header__avis .note {
  color: var(--kg--color--secondary-dark);
}
.kg-hero-header__avis .note .value {
  color: var(--kg--color--primary);
  font-size: 1.25em;
  font-weight: 900;
}
.kg-hero-header__avis .link-avis {
  font-weight: bold;
  color: var(--kg--color--secondary-dark);
  text-decoration: underline;
  padding-top: 2px;
}
.kg-hero-header__gallery {
  position: relative;
  margin-top: -110px;
  bottom: -110px;
}
.kg-hero-header__gallery-photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}
@media (min-width: 992px) {
  .kg-hero-header__gallery-photos {
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 28px;
  }
}
.kg-hero-header__gallery-photos-item {
  aspect-ratio: 1;
  cursor: pointer;
}
.kg-hero-header__gallery-photos-item:nth-child(1) {
  grid-column: 1/3;
  height: 210px;
  aspect-ratio: auto;
}
@media (min-width: 992px) {
  .kg-hero-header__gallery-photos-item:nth-child(1) {
    grid-column: 1/4;
    grid-row: 1/3;
    aspect-ratio: 1.53;
    height: auto;
  }
}
.kg-hero-header__gallery-photos-item:nth-child(n+6) {
  display: none;
}
.kg-hero-header__gallery-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.kg-hero-header__gallery .kg-hero-header__gallery-link {
  position: absolute;
  left: 10px;
  top: 160px;
  display: inline-flex;
  gap: 12px;
  align-items: center;
  background-color: white;
  color: var(--kg--color--primary) !important;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 10px 12px;
  border: 1px solid var(--kg--color--secondary);
  border-radius: 5px;
  transition: 0.3s;
}
@media (min-width: 992px) {
  .kg-hero-header__gallery .kg-hero-header__gallery-link {
    font-size: 1.0625rem;
    left: 24px;
    bottom: 20px;
    top: unset;
  }
}
.kg-hero-header__gallery .kg-hero-header__gallery-link:hover, .kg-hero-header__gallery .kg-hero-header__gallery-link:focus {
  color: white !important;
  background: var(--kg--color--primary);
  outline: none;
}
.kg-hero-header__gallery .kg-hero-header__gallery-link svg {
  width: 15px;
  fill: currentColor;
}
@media (min-width: 992px) {
  .kg-hero-header__gallery .kg-hero-header__gallery-link svg {
    width: 22px;
  }
}
.kg-hero-header__swiper {
  position: relative;
  margin-top: -85px;
  bottom: -110px;
}
.kg-hero-header__swiper .swiper-slide img {
  border-radius: 10px;
  width: 100%;
  aspect-ratio: 2;
  object-fit: cover;
}
.kg-hero-header__swiper .swiper-button-prev,
.kg-hero-header__swiper .swiper-button-next {
  background: white;
  border: none;
  width: 45px;
  height: 45px;
  border-radius: 100%;
  opacity: 0.75;
  transition: 0.3s;
  top: unset;
  left: unset;
  bottom: calc(50% - 28px);
}
@media (min-width: 992px) {
  .kg-hero-header__swiper .swiper-button-prev,
  .kg-hero-header__swiper .swiper-button-next {
    bottom: 50px;
  }
}
.kg-hero-header__swiper .swiper-button-prev:hover, .kg-hero-header__swiper .swiper-button-prev:focus,
.kg-hero-header__swiper .swiper-button-next:hover,
.kg-hero-header__swiper .swiper-button-next:focus {
  opacity: 1;
  outline: none;
}
.kg-hero-header__swiper .swiper-button-prev svg,
.kg-hero-header__swiper .swiper-button-next svg {
  fill: var(--kg--color--primary);
  width: 15px;
}
.kg-hero-header__swiper .swiper-button-prev:after,
.kg-hero-header__swiper .swiper-button-next:after {
  display: none;
}
.kg-hero-header__swiper .swiper-button-prev {
  left: 10px;
}
@media (min-width: 992px) {
  .kg-hero-header__swiper .swiper-button-prev {
    left: calc(50% - 52px);
  }
}
.kg-hero-header__swiper .swiper-button-next {
  right: 10px;
}
@media (min-width: 992px) {
  .kg-hero-header__swiper .swiper-button-next {
    right: calc(50% - 52px);
  }
}

.kg-section-description {
  margin-top: 110px;
  padding: 30px 10px;
}
@media (min-width: 992px) {
  .kg-section-description {
    padding: 100px 20px;
  }
}
.kg-section-description__columns {
  display: flex;
  gap: 20px;
  flex-direction: column-reverse;
}
@media (min-width: 992px) {
  .kg-section-description__columns {
    flex-direction: row;
    gap: 70px;
  }
}
@media (min-width: 1400px) {
  .kg-section-description__columns {
    gap: 140px;
  }
}
.kg-section-description__description {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 992px) {
  .kg-section-description__description {
    align-items: start;
  }
}
.kg-section-description__gamme-logo {
  margin-bottom: 12px;
}
.kg-section-description__gamme {
  margin-bottom: 24px;
}

.kg-resume-domaine {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: fit-content;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .kg-resume-domaine {
    flex-direction: row;
    gap: 40px;
    width: 100%;
  }
}
.kg-resume-domaine__item {
  display: flex;
  gap: 18px;
  flex: 1;
  color: var(--kg--color--secondary-dark);
}
@media (min-width: 992px) {
  .kg-resume-domaine__item {
    gap: 20px;
  }
}
.kg-resume-domaine__item-left {
  background: white;
  border: 1px solid var(--kg--color--secondary-dark);
  border-radius: 10px;
  padding: 15px 3px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 114px;
  height: 114px;
}
@media (min-width: 992px) {
  .kg-resume-domaine__item-left {
    width: 150px;
    height: 150px;
    padding: 15px 10px 10px;
  }
}
.kg-resume-domaine__item-picto {
  width: 40px;
  height: 45px;
  fill: var(--kg--color--secondary-dark);
  margin-bottom: 9px;
}
@media (min-width: 992px) {
  .kg-resume-domaine__item-picto {
    width: 65px;
    height: 72px;
    margin-bottom: 12px;
  }
}
.kg-resume-domaine__item-picto svg {
  max-width: 100%;
  max-height: 100%;
}
.kg-resume-domaine__item-number {
  font-size: 1.0625rem;
  font-weight: 900;
  margin-bottom: 0;
  line-height: 1.125;
  text-align: center;
}
@media (min-width: 992px) {
  .kg-resume-domaine__item-number {
    font-size: 1.625rem;
  }
}
.kg-resume-domaine__item-number-label {
  font-size: 0.625rem;
  font-weight: 700;
  margin-bottom: 0;
  text-align: center;
}
@media (min-width: 992px) {
  .kg-resume-domaine__item-number-label {
    font-size: 0.75rem;
  }
}
.kg-resume-domaine__item-title {
  font-size: 1.0625rem;
  font-weight: bold;
  padding-top: 3px;
  margin-bottom: 9px;
  line-height: 1;
}
@media (min-width: 992px) {
  .kg-resume-domaine__item-title {
    font-size: 1.1875rem;
    margin-bottom: 20px;
  }
}
.kg-resume-domaine__item-data {
  display: table;
  border-bottom: 1px solid #D8CFC3;
}
.kg-resume-domaine__item-data-line {
  display: table-row;
}
.kg-resume-domaine__item-data-line > * {
  display: table-cell;
  font-size: 0.75rem;
  font-weight: 600;
  border-top: 1px solid #D8CFC3;
  padding-block: 1px;
}
@media (min-width: 992px) {
  .kg-resume-domaine__item-data-line > * {
    font-size: 1rem;
  }
}
.kg-resume-domaine__item-data-label {
  padding-right: 8px;
  margin-bottom: 0;
}
.kg-resume-domaine__item-data-value {
  padding-right: 4px;
  margin-bottom: 0;
}
.kg-resume-domaine__item--km-pistes .kg-resume-domaine__item-title {
  margin-bottom: 9px;
}
@media (min-width: 992px) {
  .kg-resume-domaine__item--km-pistes .kg-resume-domaine__item-title {
    margin-bottom: 12px;
  }
}

.kg-resume-meteo__main-picto {
  fill: var(--kg--color--secondary-dark);
  display: block;
  width: 55px;
  margin: 0 auto 17px;
}
@media (min-width: 992px) {
  .kg-resume-meteo__main-picto {
    width: 70px;
    margin: 0 auto 30px;
  }
}
.kg-resume-meteo__main-picto svg {
  width: 100%;
}
.kg-resume-meteo__item {
  color: var(--kg--color--primary);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.kg-resume-meteo__item-date {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 6px;
  text-align: center;
  line-height: 30px;
}
@media (min-width: 992px) {
  .kg-resume-meteo__item-date {
    font-size: 1.3125rem;
    line-height: revert;
  }
}
.kg-resume-meteo__item-line {
  display: flex;
  justify-content: space-between;
  padding-block: 12px;
  width: 240px;
}
@media (min-width: 992px) {
  .kg-resume-meteo__item-line {
    width: 100%;
    padding-block: 18px;
  }
}
.kg-resume-meteo__item-line:last-child {
  border-top: 1px solid #D1D1D1;
}
.kg-resume-meteo__item-line-right {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.kg-resume-meteo__item-moment {
  font-size: 0.9375rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-resume-meteo__item-moment {
    font-size: 1.125rem;
  }
}
.kg-resume-meteo__item-description {
  font-weight: 800;
  margin-bottom: 0;
  font-size: 0.875rem;
}
@media (min-width: 992px) {
  .kg-resume-meteo__item-description {
    font-size: 1rem;
  }
}
.kg-resume-meteo__item-temperature {
  display: flex;
  justify-content: space-between;
  width: 100px;
  font-size: 1.0625rem;
  font-weight: 800;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-resume-meteo__item-temperature {
    font-size: 1.4375rem;
  }
}
.kg-resume-meteo__item-temperature svg {
  width: 30px;
  height: auto;
  fill: var(--kg--color--secondary-dark);
}
@media (min-width: 992px) {
  .kg-resume-meteo__item-temperature svg {
    width: 36px;
  }
}
.kg-resume-meteo__item-vent {
  font-size: 0.6875rem;
  text-align: right;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-resume-meteo__item-vent {
    font-size: 0.875rem;
  }
}
.kg-resume-meteo .swiper-button-prev,
.kg-resume-meteo .swiper-button-next {
  background: white;
  border: none;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  opacity: 0.75;
  transition: 0.3s;
  right: calc(50% - 150px);
  left: unset;
  top: 22px;
}
@media (min-width: 992px) {
  .kg-resume-meteo .swiper-button-prev,
  .kg-resume-meteo .swiper-button-next {
    display: none;
  }
}
.kg-resume-meteo .swiper-button-prev:hover, .kg-resume-meteo .swiper-button-prev:focus,
.kg-resume-meteo .swiper-button-next:hover,
.kg-resume-meteo .swiper-button-next:focus {
  opacity: 1;
  outline: none;
}
.kg-resume-meteo .swiper-button-prev svg,
.kg-resume-meteo .swiper-button-next svg {
  fill: var(--kg--color--primary);
  width: 11px;
}
.kg-resume-meteo .swiper-button-prev:after,
.kg-resume-meteo .swiper-button-next:after {
  display: none;
}
.kg-resume-meteo .swiper-button-prev {
  right: unset;
  left: calc(50% - 150px);
}
.kg-resume-meteo__view-all-wrapper {
  margin-top: 24px;
  text-align: center;
}
@media (min-width: 992px) {
  .kg-resume-meteo__view-all-wrapper {
    margin-top: 30px;
  }
}

.kg-resume-webcams__main-picto {
  fill: var(--kg--color--secondary-dark);
  display: block;
  width: 55px;
  margin: 0 auto 17px;
}
@media (min-width: 992px) {
  .kg-resume-webcams__main-picto {
    width: 70px;
    margin: 0 auto 30px;
  }
}
.kg-resume-webcams__main-picto svg {
  width: 100%;
}
.kg-resume-webcams__columns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}
@media (min-width: 992px) {
  .kg-resume-webcams__columns {
    gap: 28px;
  }
}
.kg-resume-webcams__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  background: white;
  padding: 7px;
  border-radius: 5px;
  color: var(--kg--color--primary);
  width: 100%;
}
@media (min-width: 992px) {
  .kg-resume-webcams__item {
    width: auto;
    flex-direction: column;
    align-items: stretch;
  }
}
.kg-resume-webcams__item-image {
  border-radius: 5px;
  width: 90px;
}
@media (min-width: 992px) {
  .kg-resume-webcams__item-image {
    width: auto;
  }
}
.kg-resume-webcams__item-image img {
  aspect-ratio: 1.3;
  object-fit: cover;
  width: 100%;
}
@media (min-width: 992px) {
  .kg-resume-webcams__item-image img {
    aspect-ratio: 1.6;
  }
}
.kg-resume-webcams__item-content {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: start;
  padding: 16px 12px 12px;
}
.kg-resume-webcams__item-title {
  font-size: 1rem;
  line-height: 1.25;
  font-weight: bold;
  margin-bottom: 0;
}
.kg-resume-webcams__item-altitude {
  font-size: 0.75rem;
  margin-bottom: 0;
}
.kg-resume-webcams__item-button {
  background: var(--kg--color--primary);
  color: white;
  display: inline-block;
  text-decoration: none !important;
  border-radius: 5px;
  padding: 9px 13px;
  line-height: 1;
  font-size: 0.8125rem;
  font-weight: bold;
  transition: 0.3s;
}
.kg-resume-webcams__item-button:hover, .kg-resume-webcams__item-button:focus {
  background-color: var(--kg--color--primary-dark);
}

.kg-resume-piste__main-picto {
  fill: var(--kg--color--secondary-dark);
  display: block;
  width: 55px;
  margin: 0 auto 17px;
}
@media (min-width: 992px) {
  .kg-resume-piste__main-picto {
    width: 70px;
    margin: 0 auto 30px;
  }
}
.kg-resume-piste__main-picto svg {
  width: 100%;
}
.kg-resume-piste__columns {
  display: flex;
  gap: 30px;
  flex-direction: column;
}
@media (min-width: 992px) {
  .kg-resume-piste__columns {
    flex-direction: row;
    gap: 100px;
  }
}
.kg-resume-piste__left, .kg-resume-piste__right {
  flex: 1;
}
.kg-resume-piste__left {
  display: flex;
  gap: 12px;
}
@media (min-width: 992px) {
  .kg-resume-piste__left {
    gap: 36px;
  }
}
.kg-resume-piste__enneigement {
  background: white;
  border: 1px solid var(--kg--color--secondary-dark);
  border-radius: 10px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 115px;
  height: 115px;
  text-align: center;
}
@media (min-width: 992px) {
  .kg-resume-piste__enneigement {
    width: 150px;
    height: 150px;
    padding: 10px;
  }
}
.kg-resume-piste__enneigement-picto {
  width: 65px;
  height: 35px;
  fill: var(--kg--color--secondary-dark);
  margin-bottom: 8px;
}
@media (min-width: 992px) {
  .kg-resume-piste__enneigement-picto {
    width: 65px;
    height: 66px;
    margin-bottom: 12px;
  }
}
.kg-resume-piste__enneigement-picto svg {
  max-width: 100%;
  max-height: 100%;
}
.kg-resume-piste__enneigement-title {
  font-size: 0.625rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-resume-piste__enneigement-title {
    font-size: 0.8125rem;
  }
}
.kg-resume-piste__enneigement-value {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0;
}
.kg-resume-piste__chute-neige {
  flex: 1;
}
.kg-resume-piste__chute-neige-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  .kg-resume-piste__chute-neige-title {
    margin-bottom: 30px;
  }
}
.kg-resume-piste__chute-neige-title svg {
  fill: currentColor;
  width: 20px;
}
.kg-resume-piste__chute-neige-days {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
@media (min-width: 992px) {
  .kg-resume-piste__chute-neige-days {
    gap: 24px;
  }
}
.kg-resume-piste__chute-neige-day {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 3px;
  color: var(--kg--color--primary);
}
.kg-resume-piste__chute-neige-day-light {
  display: inline-block;
  width: 15px;
  height: 15px;
  border-radius: 100%;
  border: 2px solid white;
  background-color: grey;
  margin-bottom: 6px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
}
@media (min-width: 992px) {
  .kg-resume-piste__chute-neige-day-light {
    width: 20px;
    height: 20px;
  }
}
.kg-resume-piste__chute-neige-day-light.green {
  background-color: #4CCE25;
}
.kg-resume-piste__chute-neige-day-light.yellow {
  background-color: #E0BD00;
}
.kg-resume-piste__chute-neige-day-light.red {
  background-color: #D03608;
}
.kg-resume-piste__chute-neige-day-value {
  font-size: 0.9375rem;
  font-weight: 800;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-resume-piste__chute-neige-day-value {
    font-size: 1.4375rem;
  }
}
.kg-resume-piste__chute-neige-day-date {
  font-size: 0.75rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-resume-piste__chute-neige-day-date {
    font-size: 1.125rem;
  }
}
.kg-resume-piste__table {
  color: var(--kg--color--secondary-dark);
  width: 100%;
}
.kg-resume-piste__table-line {
  border-bottom: 1px solid var(--kg--color--secondary-dark);
}
.kg-resume-piste__table-line-nb-pistes {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px;
}
.kg-resume-piste__table-line-nb-pistes-color {
  display: flex;
  gap: 12px;
  align-items: center;
}
.kg-resume-piste__table-line-pistes-ouvertes {
  padding-right: 10px;
  text-align: right;
}
@media (min-width: 992px) {
  .kg-resume-piste__table-line-pistes-ouvertes {
    padding-right: 60px;
  }
}
.kg-resume-piste__table-line th {
  font-size: 0.9375rem;
  font-weight: bold;
}
@media (min-width: 992px) {
  .kg-resume-piste__table-line th {
    font-size: 1.0625rem;
  }
}
.kg-resume-piste__table-line th:last-child {
  padding-right: 10px;
  text-align: right;
}
@media (min-width: 992px) {
  .kg-resume-piste__table-line th:last-child {
    padding-right: 60px;
  }
}
.kg-resume-piste__table-line td {
  font-size: 0.875rem;
  font-weight: bold;
}
@media (min-width: 992px) {
  .kg-resume-piste__table-line td {
    font-size: 1.125rem;
  }
}
.kg-resume-piste__table-line td .color {
  display: inline-block;
  width: 4px;
  height: 24px;
}
@media (min-width: 992px) {
  .kg-resume-piste__table-line td .color {
    height: 30px;
    width: 7px;
  }
}
.kg-resume-piste__table-line td .text-color {
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  .kg-resume-piste__table-line td .text-color {
    font-size: 1.0625rem;
  }
}
.kg-resume-piste__table-line--black .color {
  background-color: #000000;
}
.kg-resume-piste__table-line--red .color {
  background-color: #D50000;
}
.kg-resume-piste__table-line--blue .color {
  background-color: #0077C6;
}
.kg-resume-piste__table-line--green .color {
  background-color: #5CB700;
}

.kg-comment-venir {
  padding: 20px 10px;
}
@media (min-width: 992px) {
  .kg-comment-venir {
    padding: 40px 20px;
  }
}
.kg-comment-venir__tabs {
  margin-top: 24px;
}
@media (min-width: 992px) {
  .kg-comment-venir__tabs {
    margin-top: 30px;
  }
}
.kg-comment-venir__tabs-header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  max-width: 780px;
  margin: 0 auto;
}
.kg-comment-venir__tabs-header button {
  border: none;
  background-color: transparent;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  font-family: inherit;
  font-size: 0.7125rem;
  font-weight: bold;
  text-transform: uppercase;
  color: var(--kg--color--primary);
  position: relative;
}
@media (min-width: 992px) {
  .kg-comment-venir__tabs-header button {
    font-family: "Josefin Sans";
    font-size: 1.125rem;
    font-weight: 400;
  }
}
.kg-comment-venir__tabs-header button:after {
  content: "";
  display: block;
  height: 3px;
  background-color: transparent;
  position: absolute;
  width: 60px;
  left: calc(50% - 30px);
  top: calc(100% + 5px);
  transition: 0.3s;
}
@media (min-width: 992px) {
  .kg-comment-venir__tabs-header button:after {
    width: 100px;
    left: calc(50% - 50px);
  }
}
.kg-comment-venir__tabs-header button[aria-selected=true]:after {
  background-color: var(--kg--color--secondary);
}
.kg-comment-venir__tabs-header button img {
  height: 33px;
}
@media (min-width: 992px) {
  .kg-comment-venir__tabs-header button img {
    height: 45px;
  }
}
.kg-comment-venir__tabs-content {
  margin-top: 22px;
}
@media (min-width: 992px) {
  .kg-comment-venir__tabs-content {
    margin-top: 50px;
  }
}
.kg-comment-venir__tab-content {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 6px;
}
@media (min-width: 992px) {
  .kg-comment-venir__tab-content {
    flex-direction: row;
    gap: 60px;
  }
}
.kg-comment-venir__tab-content-block {
  flex: 1;
  font-size: 0.875rem;
}
@media (min-width: 992px) {
  .kg-comment-venir__tab-content-block {
    font-size: 1rem;
  }
}

.kg-decouvrir-aussi {
  padding: 20px 10px;
}
@media (min-width: 992px) {
  .kg-decouvrir-aussi {
    padding: 40px 20px;
  }
}
.kg-decouvrir-aussi__swiper {
  margin-top: 20px;
}
@media (min-width: 992px) {
  .kg-decouvrir-aussi__swiper {
    margin-top: 50px;
  }
}
.kg-decouvrir-aussi__item-image {
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  .kg-decouvrir-aussi__item-image {
    margin-bottom: 16px;
  }
}
.kg-decouvrir-aussi__item-image img {
  width: 100%;
  aspect-ratio: 1.5;
}
@media (min-width: 992px) {
  .kg-decouvrir-aussi__item-image img {
    border-radius: 10px;
  }
}
.kg-decouvrir-aussi__item-title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--kg--color--primary);
}
@media (min-width: 992px) {
  .kg-decouvrir-aussi__item-title {
    font-size: 1.25rem;
  }
}

.kg-anchor {
  scroll-margin-top: var(--kg-scroll-margin-top, 100px);
}

.kg-hr {
  border: none;
  border-top: 1px solid var(--kg--color--secondary-light);
  position: relative;
}
.kg-hr:after {
  content: "";
  background-color: var(--kg--color--secondary);
  position: absolute;
  height: 6px;
  width: 36px;
  top: -3px;
  left: calc(50% - 15px);
}
@media (min-width: 992px) {
  .kg-hr:after {
    height: 12px;
    width: 72px;
    top: -6px;
    left: calc(50% - 36px);
  }
}

.kg-google-maps .gm-style {
  font-family: inherit;
}
.kg-google-maps .gm-style-iw,
.kg-google-maps .gm-style-iw-d {
  padding: 0 !important;
  overflow: hidden !important;
}
.kg-google-maps .gm-style-iw-ch {
  display: none;
}
.kg-google-maps .gm-style-iw-chr {
  position: absolute;
  top: 0;
  right: 0;
  background-color: white;
}

.kg-infowindow {
  max-width: 310px;
}
.kg-infowindow__thumb {
  width: 100%;
  border-radius: 6px;
}
.kg-infowindow__content {
  padding: 12px 10px 15px;
}
.kg-infowindow__title {
  color: var(--kg--color--primary);
  text-transform: uppercase;
  font-size: 0.75rem;
  font-weight: bold;
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  .kg-infowindow__title {
    font-size: 1rem;
  }
}
.kg-infowindow__buttons {
  display: flex;
  gap: 6px;
  flex-direction: column;
}
@media (min-width: 992px) {
  .kg-infowindow__buttons {
    gap: 8px;
    flex-direction: row;
  }
}

html:has(body.single-hebergement) {
  scroll-behavior: smooth;
}
body.single-hebergement #breadcrumbs {
  display: none;
}
body.single-hebergement .kg-description-station {
  background: var(--kg--color--secondary-light);
  padding: 30px 10px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-description-station {
    padding: 90px 20px 70px;
  }
}
body.single-hebergement .kg-description-station__columns {
  display: flex;
  gap: 20px;
  flex-direction: column-reverse;
  align-items: center;
  text-align: center;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-description-station__columns {
    flex-direction: row;
    align-items: start;
    text-align: left;
    gap: 55px;
  }
}
body.single-hebergement .kg-description-station__left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-description-station__left {
    align-items: start;
    gap: 22px;
    flex: 0 0 220px;
  }
}
body.single-hebergement .kg-description-station__right {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-description-station__right {
    gap: 22px;
  }
}
body.single-hebergement .kg-description-station__highlights {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: center;
  width: 250px;
  margin: 0 auto;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-description-station__highlights {
    justify-content: start;
    gap: 22px;
    width: 100%;
  }
}
body.single-hebergement .kg-description-station__highlights-item {
  background: var(--kg--color--primary);
  border-radius: 5px;
  aspect-ratio: 1;
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  align-items: center;
  width: 108px;
  padding: 12px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-description-station__highlights-item {
    width: 164px;
    gap: 12px;
    padding: 20px;
  }
}
body.single-hebergement .kg-description-station__highlights-item-picto {
  width: 55px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-description-station__highlights-item-picto {
    width: 75px;
  }
}
body.single-hebergement .kg-description-station__highlights-item-picto svg {
  fill: white;
  width: 100%;
}
body.single-hebergement .kg-description-station__highlights-item-picto img {
  width: 100%;
}
body.single-hebergement .kg-description-station__highlights-item-title {
  font-size: 0.6875rem;
  color: white;
  text-align: center;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-description-station__highlights-item-title {
    font-size: 0.875rem;
  }
}
body.single-hebergement .kg-domaine-skiable {
  padding: 36px 10px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable {
    padding: 90px 20px 70px;
  }
}
body.single-hebergement .kg-domaine-skiable__columns {
  display: flex;
  flex-direction: column-reverse;
  gap: 18px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__columns {
    flex-direction: row;
    gap: 55px;
  }
}
body.single-hebergement .kg-domaine-skiable__domaine-infos {
  flex: 1;
  text-align: center;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__domaine-infos {
    text-align: left;
  }
}
body.single-hebergement .kg-domaine-skiable__domaine-infos .kg-h2 {
  margin-bottom: 24px;
}
body.single-hebergement .kg-domaine-skiable__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: center;
  width: 250px;
  margin: 0 auto 36px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights {
    justify-content: start;
    gap: 28px;
    width: 100%;
  }
}
body.single-hebergement .kg-domaine-skiable__highlights-item {
  background: var(--kg--color--primary);
  color: white;
  border-radius: 5px;
  aspect-ratio: 1;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 10px 8px;
  width: 108px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights-item {
    width: 164px;
  }
}
body.single-hebergement .kg-domaine-skiable__highlights-item-picto {
  width: 50px;
  height: 50px;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights-item-picto {
    width: 75px;
    height: 75px;
    margin-bottom: 20px;
  }
}
body.single-hebergement .kg-domaine-skiable__highlights-item-picto svg {
  fill: white;
  width: 100%;
  height: 100%;
}
body.single-hebergement .kg-domaine-skiable__highlights-item-picto img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
body.single-hebergement .kg-domaine-skiable__highlights-item--pistes .kg-domaine-skiable__highlights-item-picto {
  width: 40px;
  margin-bottom: 0px;
}
body.single-hebergement .kg-domaine-skiable__highlights-item-line {
  display: flex;
  margin-bottom: 2px;
}
body.single-hebergement .kg-domaine-skiable__highlights-item-line .label {
  font-size: 0.625rem;
  font-weight: 600;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights-item-line .label {
    font-size: 0.75rem;
  }
}
body.single-hebergement .kg-domaine-skiable__highlights-item-line .value {
  font-size: 0.625rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights-item-line .value {
    font-size: 0.8125rem;
  }
}
body.single-hebergement .kg-domaine-skiable__highlights-item-line .label-piste {
  font-size: 0.625rem;
  font-weight: 400;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights-item-line .label-piste {
    font-size: 0.875rem;
  }
}
body.single-hebergement .kg-domaine-skiable__highlights-item-line .nb-piste {
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.125;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights-item-line .nb-piste {
    font-size: 0.875rem;
    line-height: 1.25;
  }
}
body.single-hebergement .kg-domaine-skiable__highlights-item-number {
  font-size: 1.3125rem;
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights-item-number {
    font-size: 1.9375rem;
  }
}
body.single-hebergement .kg-domaine-skiable__highlights-item-number + .label {
  font-size: 0.625rem;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-domaine-skiable__highlights-item-number + .label {
    font-size: 0.875rem;
  }
}
body.single-hebergement .kg-domaine-skiable__description-station {
  text-align: left;
}
body.single-hebergement .kg-en-ce-moment {
  padding: 36px 10px 36px;
  background: var(--kg--color--secondary-light);
}
@media (min-width: 992px) {
  body.single-hebergement .kg-en-ce-moment {
    padding: 40px 20px 55px;
  }
}
body.single-hebergement .kg-en-ce-moment .kg-h3 {
  color: var(--kg--color--secondary-dark);
  text-align: center;
  margin-bottom: 22px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-en-ce-moment .kg-h3 {
    margin-bottom: 36px;
  }
}
body.single-hebergement .kg-appartements {
  padding: 30px 10px 45px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements {
    padding: 65px 20px 80px;
  }
}
body.single-hebergement .kg-appartements__tabs {
  margin-top: 20px;
  margin-bottom: 36px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__tabs {
    margin-top: 30px;
    margin-bottom: 60px;
  }
}
body.single-hebergement .kg-appartements__tabs-header {
  justify-content: start;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__tabs-header {
    justify-content: center;
  }
}
body.single-hebergement .kg-appartements__tabs-header button {
  white-space: nowrap;
}
body.single-hebergement .kg-appartements__list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__list {
    gap: 20px;
  }
}
body.single-hebergement .kg-appartements #kg-services .kg-h3 {
  text-align: center;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements #kg-services .kg-h3 {
    text-align: left;
  }
}
body.single-hebergement .kg-appartements__services {
  margin-top: 24px;
  display: flex;
  gap: 12px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__services {
    gap: 40px;
  }
}
body.single-hebergement .kg-appartements__service {
  flex: 1;
}
body.single-hebergement .kg-appartements__service-inner {
  border: 1px solid var(--kg--color--secondary);
  padding: 24px;
  border-radius: 5px;
  color: var(--kg--color--secondary-dark);
  margin-bottom: 12px;
  min-width: 280px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__service-inner {
    padding: 36px;
    margin-bottom: 24px;
  }
}
body.single-hebergement .kg-appartements__service--2 .kg-appartements__service-inner {
  background-color: var(--kg--color--secondary-light);
}
body.single-hebergement .kg-appartements__service-title {
  margin-bottom: 18px;
  color: var(--kg--color--secondary-dark);
  display: flex;
  gap: 14px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__service-title {
    line-height: 47px;
    gap: 20px;
    margin-bottom: 30px;
  }
}
body.single-hebergement .kg-appartements__service--2 .kg-appartements__service-title:before {
  content: "+";
  color: white;
  font-size: 22px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  padding-left: 1px;
  padding-bottom: 2px;
  border-radius: 100%;
  background-color: var(--kg--color--secondary-dark);
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__service--2 .kg-appartements__service-title:before {
    width: 47px;
    height: 47px;
    flex: 0 0 47px;
  }
}
body.single-hebergement .kg-appartements__service-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  padding-left: 0;
  gap: 14px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__service-list {
    gap: 18px;
  }
}
body.single-hebergement .kg-appartements__service-item {
  display: flex;
  gap: 11px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__service-item {
    gap: 22px;
  }
}
body.single-hebergement .kg-appartements__service-item-picto {
  width: 24px;
  flex: 0 0 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__service-item-picto {
    width: 40px;
    flex: 0 0 40px;
  }
}
body.single-hebergement .kg-appartements__service-item-picto img {
  width: 100%;
}
body.single-hebergement .kg-appartements__service-item-content {
  padding-top: 6px;
}
body.single-hebergement .kg-appartements__service-item-title {
  font-size: 0.8125rem;
  font-weight: bold;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__service-item-title {
    font-size: 1.125rem;
  }
}
body.single-hebergement .kg-appartements__service-item-description {
  font-size: 0.8125rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartements__service-item-description {
    font-size: 1.125rem;
  }
}
body.single-hebergement .kg-accordeon-appartement {
  border: 3px solid #EFEAE3;
  border-radius: 10px;
}
body.single-hebergement .kg-accordeon-appartement__header {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 18px;
  justify-content: space-between;
  padding: 17px 12px 20px;
  position: relative;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__header {
    padding: 30px 110px 20px 30px;
    flex-direction: row;
  }
}
body.single-hebergement .kg-accordeon-appartement__header-prix {
  color: var(--kg--color--primary);
  font-size: 0.8125rem;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__header-prix {
    font-size: 1.125rem;
  }
}
body.single-hebergement .kg-accordeon-appartement__header p {
  margin-bottom: 0;
}
body.single-hebergement .kg-accordeon-appartement__header-right {
  display: flex;
  gap: 36px;
  align-items: center;
}
body.single-hebergement .kg-accordeon-appartement__header-chevron {
  position: absolute;
  right: 22px;
  top: 30px;
  display: flex;
  transition: 0.3s;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__header-chevron {
    right: 50px;
    top: calc(50% - 2px);
  }
}
body.single-hebergement .kg-accordeon-appartement__header-chevron svg {
  width: 10px;
  height: 10px;
  fill: var(--kg--color--secondary-dark);
}
body.single-hebergement .kg-accordeon-appartement__header[aria-expanded=true] .kg-accordeon-appartement__header-chevron {
  transform: rotate(180deg);
}
body.single-hebergement .kg-accordeon-appartement__summary {
  display: flex;
  gap: 18px;
  justify-content: space-between;
  width: 100%;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__summary {
    justify-content: start;
    gap: 36px;
  }
}
body.single-hebergement .kg-accordeon-appartement__summary-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--kg--color--secondary-dark);
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__summary-item {
    gap: 16px;
  }
}
body.single-hebergement .kg-accordeon-appartement__summary-item-picto {
  fill: var(--kg--color--secondary-dark);
}
body.single-hebergement .kg-accordeon-appartement__summary-item-picto svg {
  width: 36px;
  height: 36px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__summary-item-picto svg {
    width: 45px;
    height: 45px;
  }
}
body.single-hebergement .kg-accordeon-appartement__summary-item-content {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
body.single-hebergement .kg-accordeon-appartement__summary-item-label {
  font-size: 0.6875rem;
  line-height: 1;
}
body.single-hebergement .kg-accordeon-appartement__summary-item-value {
  font-size: 0.8125rem;
  font-weight: bold;
  line-height: 1;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__summary-item-value {
    font-size: 0.875rem;
  }
}
body.single-hebergement .kg-accordeon-appartement__content {
  display: none;
  padding: 0 14px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__content {
    padding: 0 30px;
  }
}
body.single-hebergement .kg-accordeon-appartement__content-inner {
  display: flex;
  flex-direction: column;
  gap: 12px;
  border-top: 1px solid var(--kg--color--secondary-light);
  padding: 15px 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__content-inner {
    flex-direction: row;
    gap: 70px;
    padding: 30px 0;
  }
}
body.single-hebergement .kg-accordeon-appartement__content-left {
  width: 100%;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__content-left {
    width: 375px;
  }
}
body.single-hebergement .kg-accordeon-appartement__content-right {
  flex: 1;
}
body.single-hebergement .kg-accordeon-appartement__content-services {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding-left: 0;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__content-services {
    gap: 16px;
    margin-bottom: 24px;
  }
}
body.single-hebergement .kg-accordeon-appartement__content-services-item {
  display: inline-block;
  background-color: var(--kg--color--secondary-light);
  color: var(--kg--color--secondary-dark);
  border-radius: 5px;
  padding: 7px 11px;
  font-size: 0.8125rem;
  font-weight: bold;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-accordeon-appartement__content-services-item {
    font-size: 1.125rem;
    padding: 7px 20px;
  }
}
body.single-hebergement .kg-accordeon-appartement__content-description {
  margin-bottom: 24px;
}
body.single-hebergement .kg-accordeon-appartement__content-description-read-more {
  display: inline-block;
  margin-top: 12px;
  border: none;
  background-color: unset;
  font-family: inherit;
  font-weight: bold;
  color: var(--kg--color--secondary-dark);
  text-decoration: underline;
}
body.single-hebergement .kg-a-decouvrir {
  padding: 30px 10px;
  background-color: var(--kg--color--secondary-light);
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir {
    padding: 80px 20px 40px;
  }
}
body.single-hebergement .kg-a-decouvrir__header {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir__header {
    flex-direction: row;
    gap: 36px;
    margin-bottom: 70px;
  }
}
body.single-hebergement .kg-a-decouvrir__header-title {
  color: var(--kg--color--secondary-dark);
  width: 100%;
  text-align: center;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir__header-title {
    text-align: left;
    width: 50%;
  }
}
body.single-hebergement .kg-a-decouvrir__header-tabs {
  width: 100%;
  position: relative;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir__header-tabs {
    width: 50%;
  }
}
@media (min-width: 768px) {
  body.single-hebergement .kg-a-decouvrir__swiper .swiper-wrapper {
    flex-wrap: wrap;
    gap: 10px 6px;
  }
}
body.single-hebergement .kg-a-decouvrir__swiper .swiper-slide {
  width: auto;
}
body.single-hebergement .kg-a-decouvrir__swiper-button-prev {
  display: none !important;
}
body.single-hebergement .kg-a-decouvrir__swiper-button-next {
  background: var(--kg--color--primary);
  border-radius: 100%;
  padding: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: -6px;
  height: 32px;
  width: 32px;
  z-index: 1;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir__swiper-button-next {
    right: -22px;
    height: 44px;
    width: 44px;
  }
}
body.single-hebergement .kg-a-decouvrir__swiper-button-next:after {
  display: none !important;
}
body.single-hebergement .kg-a-decouvrir__swiper-button-next svg {
  fill: white;
  height: 15px;
  width: 15px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir__swiper-button-next svg {
    height: 20px;
    width: 20px;
  }
}
body.single-hebergement .kg-a-decouvrir .kg-tabs__header {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  body.single-hebergement .kg-a-decouvrir .kg-tabs__header button {
    padding-inline: 28px;
  }
}
body.single-hebergement .kg-a-decouvrir .kg-tabs__content {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir .kg-tabs__content {
    flex-direction: row;
    gap: 45px;
    align-items: start;
  }
}
@media (min-width: 1400px) {
  body.single-hebergement .kg-a-decouvrir .kg-tabs__content {
    gap: 75px;
  }
}
body.single-hebergement .kg-a-decouvrir .kg-tabs__content .kg-swiper-slide {
  aspect-ratio: unset;
}
body.single-hebergement .kg-a-decouvrir__service-content {
  color: var(--kg--color--secondary-dark);
  flex: 1;
}
body.single-hebergement .kg-a-decouvrir__service-sub-title {
  text-transform: uppercase;
  font-size: 0.9375rem;
  margin-bottom: 0;
}
body.single-hebergement .kg-a-decouvrir__service-title {
  margin-bottom: 15px;
}
body.single-hebergement .kg-a-decouvrir__service-intro {
  font-size: 0.875rem;
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir__service-intro {
    font-size: 1.125rem;
  }
}
body.single-hebergement .kg-a-decouvrir__service-text-blocks {
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir__service-text-blocks {
    column-count: 2;
    column-gap: 24px;
  }
}
body.single-hebergement .kg-a-decouvrir__service-text-block {
  break-inside: avoid;
  margin-bottom: 24px;
}
body.single-hebergement .kg-a-decouvrir__service-text-block-content {
  font-size: 0.8125rem;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-a-decouvrir__service-text-block-content {
    font-size: 0.9375rem;
  }
}
body.single-hebergement .kg-a-decouvrir__service-text-block-content p {
  margin-bottom: 8px;
}
body.single-hebergement .kg-a-decouvrir__service-text-block-content a {
  color: var(--kg--color--secondary-dark) !important;
  text-decoration: underline;
  font-weight: bold;
}
body.single-hebergement .kg-a-decouvrir__service-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
body.single-hebergement .kg-avis-hebergement {
  padding: 30px 10px 36px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-hebergement {
    padding: 80px 20px 50px;
  }
}
body.single-hebergement .kg-avis-hebergement__title {
  margin-bottom: 18px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-hebergement__title {
    margin-bottom: 30px;
  }
}
body.single-hebergement .kg-avis-hebergement__header {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-hebergement__header {
    gap: 60px;
    justify-content: start;
    margin-bottom: 48px;
    border-bottom: 1px solid #EFEAE4;
    padding-bottom: 10px;
  }
}
body.single-hebergement .kg-avis-hebergement__header-item {
  display: flex;
  gap: 6px;
  align-items: center;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-hebergement__header-item {
    gap: 18px;
  }
}
body.single-hebergement .kg-avis-hebergement__header-item-label {
  text-transform: uppercase;
  color: var(--kg--color--secondary-dark);
  font-size: 0.75rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-hebergement__header-item-label {
    font-size: 1rem;
  }
}
body.single-hebergement .kg-avis-hebergement__header-item-value {
  font-size: 1.6875rem;
  font-weight: 300;
  color: var(--kg--color--primary);
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-hebergement__header-item-value {
    font-size: 2.25rem;
  }
}
body.single-hebergement .kg-avis-hebergement__avis {
  position: relative;
}
body.single-hebergement .kg-avis-hebergement__swiper {
  --swiper-navigation-size: 70px;
  margin-bottom: 24px;
  position: static;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-hebergement__swiper {
    margin-inline: 80px;
    margin-bottom: 40px;
  }
}
body.single-hebergement .kg-avis-hebergement__swiper .swiper-button-prev,
body.single-hebergement .kg-avis-hebergement__swiper .swiper-button-next {
  background-color: transparent;
  border: none;
  padding: 0;
}
@media (max-width: 991px) {
  body.single-hebergement .kg-avis-hebergement__swiper .swiper-button-prev,
  body.single-hebergement .kg-avis-hebergement__swiper .swiper-button-next {
    display: none;
  }
}
body.single-hebergement .kg-avis-hebergement__swiper .swiper-button-prev svg,
body.single-hebergement .kg-avis-hebergement__swiper .swiper-button-next svg {
  width: 50px;
  fill: var(--kg--color--primary);
}
body.single-hebergement .kg-avis-hebergement__swiper .swiper-button-prev:after,
body.single-hebergement .kg-avis-hebergement__swiper .swiper-button-next:after {
  display: none;
}
body.single-hebergement .kg-avis-hebergement__view-all {
  text-align: center;
  margin-top: 36px;
}
body.single-hebergement .kg-avis-item {
  border: 1px solid var(--kg--color--secondary-light);
  padding: 22px 20px 50px;
  border-radius: 5px;
}
body.single-hebergement .kg-avis-item__header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
body.single-hebergement .kg-avis-item__note {
  font-size: 1.25rem;
  color: var(--kg--color--secondary-dark);
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-item__note {
    font-size: 2.25rem;
  }
}
body.single-hebergement .kg-avis-item__metas {
  color: var(--kg--color--primary);
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-item__metas {
    margin-bottom: 40px;
  }
}
body.single-hebergement .kg-avis-item__metas p {
  margin-bottom: 0;
  line-height: 1.125;
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-item__metas p {
    font-size: 1rem;
  }
}
body.single-hebergement .kg-avis-item__source {
  font-weight: bold;
}
body.single-hebergement .kg-avis-item__author {
  font-weight: 300;
  font-style: italic;
}
body.single-hebergement .kg-avis-item__date {
  font-style: italic;
}
body.single-hebergement .kg-avis-item__title {
  font-size: 0.8125rem;
  color: var(--kg--color--primary);
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-item__title {
    font-size: 1.125rem;
  }
}
body.single-hebergement .kg-avis-item__description {
  font-size: 0.6875rem;
  color: #535353;
  font-weight: 300;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-item__description {
    font-size: 1rem;
  }
}
body.single-hebergement .kg-avis-item__notes {
  margin-top: 35px;
}
body.single-hebergement .kg-avis-item__notes-item {
  display: flex;
  justify-content: space-between;
  color: var(--kg--color--secondary-dark);
}
body.single-hebergement .kg-avis-item__notes-item p {
  font-size: 0.6875rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-avis-item__notes-item p {
    font-size: 1rem;
  }
}
body.single-hebergement .kg-instagram {
  padding: 70px 20px 40px;
  overflow-x: hidden;
}
body.single-hebergement .kg-instagram__header {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  gap: 18px;
  align-items: stretch;
  max-width: 985px;
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-instagram__header {
    flex-direction: row;
    padding-right: 50px;
    gap: 36px;
    align-items: center;
    margin-bottom: 40px;
  }
}
body.single-hebergement .kg-instagram__header:before {
  content: "";
  display: block;
  background: var(--kg--color--primary);
  height: 200px;
  width: 9999px;
  position: absolute;
  top: -36px;
  right: -50px;
  z-index: -1;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-instagram__header:before {
    right: 0;
    top: -70px;
    height: 405px;
  }
}
body.single-hebergement .kg-instagram__header-logo {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 9px;
  text-decoration: none;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-instagram__header-logo {
    gap: 18px;
  }
}
body.single-hebergement .kg-instagram__header-logo-picto svg {
  width: 25px;
  height: 25px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-instagram__header-logo-picto svg {
    width: 60px;
    height: 60px;
  }
}
body.single-hebergement .kg-instagram__header-logo-hashtag {
  color: white;
  font-size: 1.0625rem;
  font-weight: bold;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-instagram__header-logo-hashtag {
    font-size: 1.9375rem;
  }
}
body.single-hebergement .kg-instagram__title {
  color: white;
  text-align: center;
}
body.single-hebergement .kg-instagram__slider {
  padding-inline: 5%;
}
body.single-hebergement #sb_instagram {
  padding-bottom: 0 !important;
}
body.single-hebergement #sb_instagram #sbi_images.sbi_carousel {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single-hebergement #sb_instagram #sbi_images.sbi_carousel .sbi-owl-stage-outer {
  overflow: visible !important;
}
body.single-hebergement #sb_instagram #sbi_images.sbi_carousel .sbi_item {
  padding: 0 18px !important;
}
body.single-hebergement .kg-infos-pratiques {
  padding: 30px 10px 20px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques {
    padding: 40px 20px;
  }
}
body.single-hebergement .kg-infos-pratiques__columns {
  display: flex;
  margin-top: 25px;
  flex-direction: column;
  gap: 30px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__columns {
    flex-direction: row;
    margin-top: 45px;
    gap: 0px;
  }
}
body.single-hebergement .kg-infos-pratiques__left {
  width: 100%;
  padding-block: 10px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__left {
    width: 50%;
    padding-block: 40px;
    padding-right: 100px;
  }
}
body.single-hebergement .kg-infos-pratiques__right {
  width: 100%;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__right {
    width: 50%;
  }
}
body.single-hebergement .kg-infos-pratiques__title {
  font-size: 1rem;
  text-transform: uppercase;
  color: var(--kg--color--primary);
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__title {
    font-size: 1.5rem;
  }
}
body.single-hebergement .kg-infos-pratiques__data {
  display: flex;
  flex-direction: column;
  gap: 18px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__data {
    gap: 30px;
  }
}
body.single-hebergement .kg-infos-pratiques__line {
  display: flex;
  gap: 22px;
  align-items: center;
}
body.single-hebergement .kg-infos-pratiques__line-picto svg {
  fill: var(--kg--color--primary);
  width: 25px;
  height: 25px;
}
body.single-hebergement .kg-infos-pratiques__line-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.single-hebergement .kg-infos-pratiques__line-title {
  font-size: 0.875rem;
  font-weight: 900;
  color: #535353;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__line-title {
    font-size: 1.125rem;
  }
}
body.single-hebergement .kg-infos-pratiques__line-desc {
  font-size: 0.75rem;
  color: #535353;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__line-desc {
    font-size: 1.125rem;
  }
}
body.single-hebergement .kg-infos-pratiques__line a {
  color: inherit;
}
body.single-hebergement .kg-infos-pratiques__map {
  height: 370px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__map {
    height: 100%;
  }
}
body.single-hebergement .kg-infos-pratiques__map iframe {
  width: 100%;
  height: 100% !important;
}
body.single-hebergement .kg-infos-pratiques__data-sheet {
  background: #F5F3F0;
  border-radius: 10px;
  display: flex;
  width: fit-content;
  align-items: center;
  gap: 12px;
  padding: 12px;
  margin-top: 18px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__data-sheet {
    gap: 24px;
    padding: 24px;
    margin-top: 36px;
  }
}
body.single-hebergement .kg-infos-pratiques__data-sheet-picto svg {
  width: 32px;
  height: 32px;
  fill: var(--kg--color--primary);
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__data-sheet-picto svg {
    width: 50px;
    height: 50px;
  }
}
body.single-hebergement .kg-infos-pratiques__data-sheet-content {
  display: flex;
  flex-direction: column;
  padding-right: 12px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__data-sheet-content {
    padding-right: 18px;
  }
}
body.single-hebergement .kg-infos-pratiques__data-sheet-txt-1 {
  color: var(--kg--color--primary);
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__data-sheet-txt-1 {
    font-size: 1.375rem;
  }
}
body.single-hebergement .kg-infos-pratiques__data-sheet-txt-2 {
  color: var(--kg--color--primary);
  margin-bottom: 0;
  font-size: 0.75rem;
  font-weight: bold;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__data-sheet-txt-2 {
    font-size: 0.875rem;
  }
}
body.single-hebergement .kg-infos-pratiques__data-sheet-button .kg-button {
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: uppercase;
  padding: 4px 12px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-infos-pratiques__data-sheet-button .kg-button {
    font-size: 1.25rem;
    padding: 6px 24px;
  }
}
body.single-hebergement .kg-faq {
  padding: 20px 10px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-faq {
    padding: 40px 20px;
  }
}
body.single-hebergement .kg-faq__questions {
  margin-top: 26px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-faq__questions {
    margin-top: 36px;
    column-count: 2;
    column-gap: 28px;
  }
}
body.single-hebergement .kg-faq__question {
  border: 1px solid var(--kg--color--secondary-light);
  border-radius: 5px;
  margin-bottom: 8px;
  padding-bottom: 10px;
  break-inside: avoid;
  transition: 0.3s;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-faq__question {
    margin-bottom: 18px;
  }
}
body.single-hebergement .kg-faq__question:hover, body.single-hebergement .kg-faq__question:focus-within {
  border-color: var(--kg--color--primary);
}
body.single-hebergement .kg-faq__question-title {
  padding: 15px 17px 5px;
  margin-bottom: 0;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-faq__question-title {
    padding: 24px 30px 14px;
  }
}
body.single-hebergement .kg-faq__question-title-chevron {
  transform: rotate(-90deg);
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 10px;
  width: 10px;
}
body.single-hebergement .kg-faq__question-title-chevron svg {
  width: 10px;
  height: 10px;
  fill: var(--kg--color--secondary-dark);
}
body.single-hebergement .kg-faq__question-title[aria-expanded=true] .kg-faq__question-title-chevron {
  transform: rotate(0);
}
body.single-hebergement .kg-faq__question-response {
  display: none;
  padding: 10px 17px 8px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-faq__question-response {
    padding: 10px 30px 14px;
  }
}
body.single-hebergement .kg-faq__question-response p {
  margin-bottom: 8px;
  font-size: 0.875rem;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-faq__question-response p {
    font-size: 1rem;
  }
}
body.single-hebergement .kg-faq__question-response p:last-child {
  margin-bottom: 0;
}
body.single-hebergement .kg-appartement-popup {
  --popup-width: 1024px;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  gap: 12px;
  flex-direction: column;
  align-items: center;
  overflow-y: scroll;
  padding: 18px;
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup {
    padding: 50px;
  }
}
body.single-hebergement .kg-appartement-popup.open {
  opacity: 1;
  visibility: visible;
}
body.single-hebergement .kg-appartement-popup__close-container {
  max-width: var(--popup-width);
  display: flex;
  justify-content: end;
  width: 100%;
}
body.single-hebergement .kg-appartement-popup__close {
  text-align: right;
  background: none;
  border: none;
}
body.single-hebergement .kg-appartement-popup__close svg {
  fill: white;
  width: 24px;
  height: 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__close svg {
    width: 40px;
    height: 40px;
  }
}
body.single-hebergement .kg-appartement-popup__inner {
  max-width: var(--popup-width);
  width: 100%;
}
body.single-hebergement .kg-appartement-popup__header {
  background: #FAF8F5;
  border-top-left-radius: 24px;
  border-top-right-radius: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 18px 18px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__header {
    flex-direction: row;
    gap: 60px;
    padding: 24px 40px;
  }
}
body.single-hebergement .kg-appartement-popup__header-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__header-left {
    width: 25%;
  }
}
body.single-hebergement .kg-appartement-popup__header-left-thumb {
  border-radius: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
  max-width: 220px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__header-left-thumb {
    max-width: none;
  }
}
body.single-hebergement .kg-appartement-popup__header-left-gamme {
  width: fit-content;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__header-right {
    width: 75%;
  }
}
body.single-hebergement .kg-appartement-popup__header-data {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__header-data {
    flex-direction: row;
    gap: 80px;
    align-items: center;
  }
}
body.single-hebergement .kg-appartement-popup__header-sub-title {
  margin-bottom: 0;
}
body.single-hebergement .kg-appartement-popup__header-avis {
  text-transform: uppercase;
  font-size: 1.125rem;
  font-weight: 300;
  margin-bottom: 0;
  display: flex;
  align-items: center;
}
body.single-hebergement .kg-appartement-popup__header-avis span {
  text-transform: none;
  color: var(--kg--color--primary);
  font-weight: bold;
  font-size: 1.5rem;
  padding-left: 18px;
}
body.single-hebergement .kg-appartement-popup__header-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
body.single-hebergement .kg-appartement-popup__header-badge {
  background: #EFEAE3;
  border: 1px solid black;
  border-radius: 4px;
  padding: 3px 12px;
  margin-bottom: 0;
  display: inline-block;
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__header-badge {
    font-size: 1rem;
  }
}
body.single-hebergement .kg-appartement-popup__header-highlight-list {
  color: var(--kg--color--secondary-dark);
  font-size: 0.9325rem;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__header-highlight-list {
    font-size: 1.125rem;
  }
}
body.single-hebergement .kg-appartement-popup__content {
  background: white;
  padding: 36px 18px;
  border-bottom-left-radius: 24px;
  border-bottom-right-radius: 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content {
    padding: 60px 40px;
  }
}
body.single-hebergement .kg-appartement-popup__content-columns {
  display: flex;
  gap: 18px;
  flex-direction: column;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-columns {
    flex-direction: row;
    gap: 50px;
  }
}
body.single-hebergement .kg-appartement-popup__content-columns--2 {
  margin-top: 24px;
}
body.single-hebergement .kg-appartement-popup__content-column-left, body.single-hebergement .kg-appartement-popup__content-column-right {
  width: 100%;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-column-left, body.single-hebergement .kg-appartement-popup__content-column-right {
    width: calc(50% - 25px);
  }
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-column--equipement .kg-appartement-popup__content-text {
    column-count: 2;
    column-gap: 50px;
  }
}
body.single-hebergement .kg-appartement-popup__content-column--equipement .kg-appartement-popup__content-text p {
  margin-top: 15px;
  margin-bottom: 8px;
}
body.single-hebergement .kg-appartement-popup__content-column--equipement .kg-appartement-popup__content-text ul {
  break-inside: avoid;
}
body.single-hebergement .kg-appartement-popup__content-images-container {
  border: 1px solid var(--kg--color--secondary-dark);
  background: #FDFCFA;
  border-radius: 18px;
  overflow: hidden;
}
body.single-hebergement .kg-appartement-popup__content-photos-options {
  padding: 10px 15px;
  display: flex;
  align-items: center;
  gap: 18px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-photos-options {
    gap: 40px;
    padding: 10px 20px;
  }
}
body.single-hebergement .kg-appartement-popup__content-photos-options a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--kg--color--secondary-dark);
  text-transform: uppercase;
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-photos-options a {
    font-size: 1rem;
  }
}
body.single-hebergement .kg-appartement-popup__content-photos-options a img {
  width: 24px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-photos-options a img {
    width: 40px;
  }
}
body.single-hebergement .kg-appartement-popup__content-title {
  text-transform: uppercase;
  color: black;
}
body.single-hebergement .kg-appartement-popup__content-summary {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  margin-bottom: 18px;
}
body.single-hebergement .kg-appartement-popup__content-summary-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
body.single-hebergement .kg-appartement-popup__content-summary-item-picto {
  margin-bottom: 5px;
}
body.single-hebergement .kg-appartement-popup__content-summary-item-picto img {
  width: 30px;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-summary-item-picto img {
    width: 44px;
  }
}
body.single-hebergement .kg-appartement-popup__content-summary-item-label {
  color: var(--kg--color--secondary-dark);
  font-size: 0.875rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-summary-item-label {
    font-size: 1rem;
  }
}
body.single-hebergement .kg-appartement-popup__content-summary-item-value {
  color: var(--kg--color--secondary-dark);
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  body.single-hebergement .kg-appartement-popup__content-summary-item-value {
    font-size: 1.125rem;
  }
}

html:has(body.single-station) {
  scroll-behavior: smooth;
}
body.single-station #breadcrumbs {
  display: none;
}
body.single-station .kg-domaine-skiable {
  background-color: var(--kg--color--secondary-light);
  padding: 40px 10px 30px;
}
@media (min-width: 992px) {
  body.single-station .kg-domaine-skiable {
    padding: 90px 20px 70px;
  }
}
body.single-station .kg-domaine-skiable .kg-h3 {
  color: var(--kg--color--secondary-dark);
  margin-bottom: 36px;
}
body.single-station .kg-domaine-skiable__images {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-bottom: 25px;
}
@media (min-width: 992px) {
  body.single-station .kg-domaine-skiable__images {
    gap: 25px;
    margin-bottom: 50px;
  }
}
body.single-station .kg-domaine-skiable__images img {
  border-radius: 10px;
  aspect-ratio: 1;
  object-fit: cover;
  width: 32.5%;
}
@media (min-width: 992px) {
  body.single-station .kg-domaine-skiable__images img {
    width: 200px;
  }
}
body.single-station .kg-domaine-skiable__description {
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  body.single-station .kg-domaine-skiable__description {
    column-count: 2;
    column-gap: 28px;
    margin-bottom: 50px;
  }
}
body.single-station .kg-domaine-skiable__plan {
  break-inside: avoid;
  background-color: rgba(255, 255, 255, 0.43);
  border-radius: 5px;
  padding: 10px 14px 10px 10px;
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 21px;
}
body.single-station .kg-domaine-skiable__plan-thumb {
  width: 84px;
  border-radius: 5px;
}
body.single-station .kg-domaine-skiable__plan-txt {
  flex: 1;
}
body.single-station .kg-domaine-skiable__plan-txt-title {
  font-size: 1rem;
  font-weight: bold;
  color: var(--kg--color--primary);
  margin-bottom: 0;
}
body.single-station .kg-domaine-skiable__plan-txt-metas {
  font-size: 0.75rem;
  color: var(--kg--color--primary);
  margin-bottom: 0;
}
body.single-station .kg-domaine-skiable__plan-button {
  width: 80px;
}
body.single-station .kg-domaine-skiable .kg-resume-domaine {
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  body.single-station .kg-domaine-skiable .kg-resume-domaine {
    margin-bottom: 50px;
  }
}
body.single-station .kg-activites {
  margin-bottom: 36px;
}
@media (min-width: 992px) {
  body.single-station .kg-activites {
    margin-bottom: 80px;
  }
}
body.single-station .kg-activites__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (min-width: 992px) {
  body.single-station .kg-activites__grid {
    grid-template-columns: repeat(6, 1fr);
  }
}
body.single-station .kg-activites__grid-item {
  aspect-ratio: 1;
  position: relative;
}
@media (min-width: 992px) {
  body.single-station .kg-activites__grid-item {
    aspect-ratio: 0.7;
  }
}
@media (min-width: 1600px) {
  body.single-station .kg-activites__grid-item {
    aspect-ratio: 1;
  }
}
body.single-station .kg-activites__grid-item--main {
  position: relative;
  background-size: cover;
}
body.single-station .kg-activites__grid-item:nth-child(1) {
  grid-column: 1/3;
  grid-row: 1/3;
}
body.single-station .kg-activites__grid-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.single-station .kg-activites__grid-item-title {
  position: absolute;
  background: rgba(255, 255, 255, 0.7);
  inset: 30px;
  font-size: 0.875rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 32px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}
@media (min-width: 992px) {
  body.single-station .kg-activites__grid-item-title {
    font-size: 1rem;
  }
}
@media (min-width: 1400px) {
  body.single-station .kg-activites__grid-item-title {
    font-size: 1.25rem;
  }
}
body.single-station .kg-activites__grid-item:hover .kg-activites__grid-item-title {
  opacity: 1;
  visibility: visible;
  inset: 38px;
  padding: 24px;
}
body.single-station .kg-activites__content {
  position: absolute;
  inset: 24px;
  background-color: rgba(255, 255, 255, 0.94);
  padding-inline: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media (min-width: 992px) {
  body.single-station .kg-activites__content {
    inset: 30px;
    padding-inline: 40px;
  }
}
@media (min-width: 1400px) {
  body.single-station .kg-activites__content {
    inset: 60px;
    padding-inline: 80px;
  }
}
body.single-station .kg-activites__content-title {
  text-align: center;
  font-size: 1.25rem;
  color: var(--kg--color--primary);
  text-transform: uppercase;
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  body.single-station .kg-activites__content-title {
    font-size: 2.25rem;
  }
}
body.single-station .kg-activites__content-title:before {
  background-color: var(--kg--color--secondary);
  content: "";
  height: 4px;
  width: 20px;
  display: block;
  margin: 0 auto 13px;
}
@media (min-width: 992px) {
  body.single-station .kg-activites__content-title:before {
    height: 14px;
    width: 76px;
  }
}
body.single-station .kg-activites__content-description {
  color: #6E6E6E;
  font-size: 0.6875rem;
  min-width: 250px;
  max-width: 100%;
}
@media (min-width: 768px) {
  body.single-station .kg-activites__content-description {
    font-size: 0.875rem;
    min-width: 360px;
  }
}
@media (min-width: 992px) {
  body.single-station .kg-activites__content-description {
    font-size: 1.125rem;
    min-width: 100%;
  }
}
@media (min-width: 1600px) {
  body.single-station .kg-activites__content-description {
    min-width: 360px;
  }
}
body.single-station .kg-activites__content-description ul {
  list-style: none;
  padding-left: 0;
}
body.single-station .kg-hebergements {
  margin-bottom: 20px;
  padding-inline: 10px;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements {
    padding-inline: 20px;
  }
}
body.single-station .kg-hebergements .kg-hr {
  margin-bottom: 18px;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements .kg-hr {
    margin-bottom: 36px;
  }
}
body.single-station .kg-hebergements__title {
  margin-bottom: 32px;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__title {
    margin-bottom: 36px;
  }
}
body.single-station .kg-hebergements__item {
  border: 1px solid var(--kg--color--secondary-light);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item {
    border-radius: 10px;
  }
}
body.single-station .kg-hebergements__item-thumb img {
  aspect-ratio: 2;
  width: 100%;
  object-fit: cover;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-thumb img {
    aspect-ratio: 1.5;
  }
}
body.single-station .kg-hebergements__item-content {
  padding: 10px 12px 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-content {
    padding: 26px 26px 52px;
    gap: 30px;
  }
}
body.single-station .kg-hebergements__item-content-top {
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.single-station .kg-hebergements__item-station {
  font-family: "Salty Malthy";
  font-size: 2.25rem;
  color: var(--kg--color--secondary-dark);
  margin-bottom: 5px;
  display: none;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-station {
    display: block;
  }
}
body.single-station .kg-hebergements__item-gamme {
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-gamme {
    margin-bottom: 24px;
  }
}
body.single-station .kg-hebergements__item-title {
  text-transform: uppercase;
  font-size: 0.875rem;
  color: var(--kg--color--primary);
  font-weight: bold;
  margin-bottom: 8px;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-title {
    font-size: 1.25rem;
    margin-bottom: 24px;
  }
}
body.single-station .kg-hebergements__item-columns {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-columns {
    padding-inline: 30px;
    margin-bottom: 30px;
  }
}
body.single-station .kg-hebergements__item-column-price, body.single-station .kg-hebergements__item-column-reviews {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 0;
}
body.single-station .kg-hebergements__item-column-price span, body.single-station .kg-hebergements__item-column-reviews span {
  display: block;
}
body.single-station .kg-hebergements__item-column-price span.line-1, body.single-station .kg-hebergements__item-column-price span.line-3, body.single-station .kg-hebergements__item-column-reviews span.line-1, body.single-station .kg-hebergements__item-column-reviews span.line-3 {
  text-transform: uppercase;
  color: var(--kg--color--secondary-dark);
  font-size: 0.625rem;
  text-align: center;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-column-price span.line-1, body.single-station .kg-hebergements__item-column-price span.line-3, body.single-station .kg-hebergements__item-column-reviews span.line-1, body.single-station .kg-hebergements__item-column-reviews span.line-3 {
    font-size: 0.75rem;
  }
}
body.single-station .kg-hebergements__item-column-price span.line-2, body.single-station .kg-hebergements__item-column-reviews span.line-2 {
  color: var(--kg--color--primary);
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-column-price span.line-2, body.single-station .kg-hebergements__item-column-reviews span.line-2 {
    font-size: 1.25rem;
  }
}
body.single-station .kg-hebergements__item-description {
  color: #535353;
  font-weight: 300;
  display: none;
}
@media (min-width: 992px) {
  body.single-station .kg-hebergements__item-description {
    display: block;
  }
}
@media (max-width: 991px) {
  body.single-station .kg-hebergements__button {
    color: var(--kg--color--secondary-dark);
    padding: 6px 15px;
    background: white;
    font-size: 0.6875rem;
  }
}
body.single-station .kg-offres-du-moment {
  padding: 20px 10px;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment {
    padding-inline: 20px;
  }
}
body.single-station .kg-offres-du-moment__title {
  font-family: "Salty Malthy";
  font-size: 2rem;
  color: var(--kg--color--secondary-dark);
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__title {
    font-size: 2.875rem;
  }
}
body.single-station .kg-offres-du-moment__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 48px;
  }
}
body.single-station .kg-offres-du-moment__item {
  border: 1px solid var(--kg--color--secondary-light);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  position: relative;
  text-align: center;
}
body.single-station .kg-offres-du-moment__item-thumb {
  width: 117px;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__item-thumb {
    width: 50%;
  }
}
body.single-station .kg-offres-du-moment__item-thumb img {
  aspect-ratio: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.single-station .kg-offres-du-moment__item-content {
  padding: 7px;
  display: flex;
  align-items: center;
  flex-direction: column;
  width: calc(100% - 117px);
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__item-content {
    width: 50%;
  }
}
body.single-station .kg-offres-du-moment__item-content-date {
  color: #535353;
  font-weight: 300;
  font-size: 0.5625rem;
  margin-bottom: 6px;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__item-content-date {
    font-size: 0.75rem;
  }
}
body.single-station .kg-offres-du-moment__item-content-title {
  font-size: 0.8125rem;
  font-weight: bold;
  line-height: 1.25;
  color: var(--kg--color--primary);
  text-transform: uppercase;
  margin-bottom: 7px;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__item-content-title {
    font-size: 1.3125rem;
  }
}
body.single-station .kg-offres-du-moment__item-content-sub-title {
  font-size: 0.6875rem;
  color: #535353;
  text-transform: uppercase;
  margin-bottom: 8px;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__item-content-sub-title {
    font-size: 1.125rem;
    margin-bottom: 12px;
  }
}
body.single-station .kg-offres-du-moment__item-content-button {
  display: inline-block;
  padding: 8px 15px;
  text-transform: uppercase;
  color: var(--kg--color--secondary-dark);
  font-weight: bold;
  border: 1px solid var(--kg--color--secondary-dark);
  border-radius: 4px;
  text-decoration: none;
  transition: 0.3s;
}
@media (max-width: 991px) {
  body.single-station .kg-offres-du-moment__item-content-button {
    color: var(--kg--color--secondary-dark);
    padding: 6px 15px;
    background: white;
    font-size: 0.6875rem;
  }
}
body.single-station .kg-offres-du-moment__item-content-button:hover, body.single-station .kg-offres-du-moment__item-content-button:focus {
  background-color: var(--kg--color--secondary-dark);
  color: white;
}
body.single-station .kg-offres-du-moment__item-percent {
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  background-color: white;
  width: 55px;
  height: 55px;
  border-radius: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #E5C927;
  font-size: 1.25rem;
  font-weight: bold;
  position: absolute;
  top: calc(50% - 28px);
  left: 88px;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__item-percent {
    font-size: 2rem;
    width: 80px;
    height: 80px;
    top: calc(50% - 40px);
    left: calc(50% - 40px);
  }
}
body.single-station .kg-offres-du-moment__item-percent sup {
  font-size: 1rem;
  font-weight: normal;
}
@media (min-width: 992px) {
  body.single-station .kg-offres-du-moment__item-percent sup {
    font-size: 1.25rem;
  }
}
body.single-station .kg-actualites {
  padding: 20px 10px;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites {
    padding: 50px 20px 20px;
  }
}
body.single-station .kg-actualites .kg-hr {
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites .kg-hr {
    margin-bottom: 30px;
  }
}
body.single-station .kg-actualites__title {
  margin-bottom: 18px;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites__title {
    margin-bottom: 50px;
  }
}
body.single-station .kg-actualites__swiper-prev, body.single-station .kg-actualites__swiper-next {
  --swiper-navigation-sides-offset: -10px;
  --swiper-navigation-size: 75px;
  --swiper-navigation-top-offset: 55%;
  background: none;
  border: none;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites__swiper-prev, body.single-station .kg-actualites__swiper-next {
    --swiper-navigation-sides-offset: -60px;
    --swiper-navigation-size: 88px;
    --swiper-navigation-top-offset: 50%;
  }
}
body.single-station .kg-actualites__swiper-prev svg, body.single-station .kg-actualites__swiper-next svg {
  fill: var(--kg--color--primary);
}
body.single-station .kg-actualites__swiper-prev:after, body.single-station .kg-actualites__swiper-next:after {
  display: none !important;
}
body.single-station .kg-actualites__swiper-wrapper {
  position: relative;
}
body.single-station .kg-actualites__item {
  height: auto;
  background: #FBFBFB;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites__item {
    background: none;
    border: 1px solid var(--kg--color--secondary-light);
    border-radius: 10px;
  }
}
body.single-station .kg-actualites__item-thumb img {
  width: 100%;
  aspect-ratio: 3;
  object-fit: cover;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites__item-thumb img {
    aspect-ratio: 1.5;
  }
}
body.single-station .kg-actualites__item-content {
  padding: 14px 30px 27px;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites__item-content {
    padding: 18px 18px 50px;
  }
}
body.single-station .kg-actualites__item-date {
  color: var(--kg--color--primary);
  font-size: 0.75rem;
  margin-bottom: 20px;
}
@media (max-width: 991px) {
  body.single-station .kg-actualites__item-date {
    display: none;
  }
}
body.single-station .kg-actualites__item-title {
  font-weight: bold;
  color: var(--kg--color--primary);
  font-size: 1.25rem;
  text-transform: uppercase;
  margin-bottom: 14px;
  text-align: center;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites__item-title {
    margin-bottom: 18px;
    color: #4B4B4B;
    text-align: left;
  }
}
body.single-station .kg-actualites__item-excerpt {
  font-weight: 300;
  color: #4B4B4B;
  margin-bottom: 15px;
  text-align: center;
  font-size: 0.75rem;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites__item-excerpt {
    text-align: left;
    font-size: 1rem;
    margin-bottom: 24px;
  }
}
body.single-station .kg-actualites__item-link {
  display: block;
  border: 1px solod var(--kg--color--secondary-dark);
  width: fit-content;
  margin: 0 auto;
  font-size: 1rem;
  color: var(--kg--color--secondary-dark);
  padding: 8px 16px;
}
@media (min-width: 992px) {
  body.single-station .kg-actualites__item-link {
    border: none;
    width: 100%;
    text-align: right;
    padding: 0;
    font-size: 0.75rem;
  }
}
body.single-station .kg-infos-pratiques {
  padding: 40px 20px 20px;
}
body.single-station .kg-infos-pratiques__title {
  margin-bottom: 50px;
}
body.single-station .kg-infos-pratiques__map {
  height: 500px;
  width: 100%;
}
@media (min-width: 992px) {
  body.single-station .kg-infos-pratiques__map {
    height: 550px;
  }
}

html:has(body.single-service) {
  scroll-behavior: smooth;
}
body.single-service #breadcrumbs {
  display: none;
}
body.single-service .kg-hero-header__gallery-link {
  pointer-events: none;
}
body.single-service .kg-description-service {
  margin-top: 110px;
  padding: 20px 10px;
}
@media (min-width: 992px) {
  body.single-service .kg-description-service {
    margin-top: 110px;
    padding: 100px 20px 60px;
  }
}
body.single-service .kg-description-service__columns {
  display: flex;
  gap: 24px;
  flex-direction: column-reverse;
}
@media (min-width: 992px) {
  body.single-service .kg-description-service__columns {
    flex-direction: row;
    gap: 100px;
  }
}
body.single-service .kg-description-service__left {
  flex: 1;
}
body.single-service .kg-description-service__right {
  width: 100%;
}
@media (min-width: 992px) {
  body.single-service .kg-description-service__right {
    flex: 0 0 430px;
    width: 430px;
  }
}
body.single-service .kg-description-service__title {
  font-size: 1.3125rem;
  font-weight: 700;
  color: var(--kg--color--primary);
  margin-bottom: 20px;
  text-align: center;
  display: none;
}
@media (min-width: 992px) {
  body.single-service .kg-description-service__title {
    display: block;
  }
}
body.single-service .kg-description-service__ouverture {
  position: relative;
  margin-bottom: 28px;
}
body.single-service .kg-description-service__ouverture span {
  color: var(--kg--color--primary);
  display: block;
  font-size: 0.8125rem;
  text-transform: uppercase;
  background: white;
  border: 1px solid var(--kg--color--secondary);
  text-align: center;
  width: fit-content;
  padding: 3px 18px;
  position: relative;
  margin: 0 auto;
  z-index: 1;
}
@media (min-width: 992px) {
  body.single-service .kg-description-service__ouverture span {
    font-size: 1rem;
    padding: 4px 24px;
  }
}
body.single-service .kg-description-service__ouverture:after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: var(--kg--color--secondary);
  position: absolute;
  top: 50%;
}
body.single-service .kg-description-service__maps {
  margin-bottom: 28px;
}
body.single-service .kg-description-service__maps iframe {
  width: 100%;
  height: 240px;
}
body.single-service .kg-description-service__contacts {
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  body.single-service .kg-description-service__contacts {
    gap: 36px;
  }
}
body.single-service .kg-description-service__contact {
  display: flex;
  align-items: center;
  gap: 24px;
  color: #535353;
  font-size: 0.875rem;
}
@media (min-width: 992px) {
  body.single-service .kg-description-service__contact {
    font-size: 1.125rem;
  }
}
body.single-service .kg-description-service__contact svg {
  width: 22px;
  height: 22px;
  fill: var(--kg--color--primary);
}
@media (min-width: 992px) {
  body.single-service .kg-description-service__contact svg {
    width: 25px;
    height: 25px;
  }
}
body.single-service .kg-description-service__contact a {
  color: inherit;
  text-decoration: none;
}
body.single-service .kg-description-service__thumbnail {
  margin-bottom: 12px;
}
@media (min-width: 992px) {
  body.single-service .kg-description-service__thumbnail {
    margin-bottom: 36px;
  }
}
body.single-service .kg-description-service__thumbnail img {
  width: 100%;
  height: auto;
}
body.single-service .kg-description-service__buttons {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.single-service .kg-formules {
  padding: 0 10px 20px;
}
@media (min-width: 992px) {
  body.single-service .kg-formules {
    padding: 0 20px 80px;
  }
}
body.single-service .kg-formules .kg-hr {
  margin-bottom: 30px;
}
body.single-service .kg-formules__title {
  margin-bottom: 36px;
}
body.single-service .kg-formules__swiper {
  margin: -10px;
  padding: 10px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
@media (min-width: 992px) {
  body.single-service .kg-formules__swiper {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
body.single-service .kg-formules__item {
  padding: 32px 32px 54px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  height: auto;
}
body.single-service .kg-formules__item-cat-title {
  color: #707070;
  font-family: "Salty Malthy";
  line-height: 1;
  font-size: 2.375rem;
  text-align: center;
  margin-bottom: 24px;
}
body.single-service .kg-formules__item-cat-title:after {
  content: "";
  background: var(--kg--color--secondary);
  height: 5px;
  width: 76px;
  display: block;
  margin: 5px auto 0;
}
body.single-service .kg-formules__item-title {
  font-size: 1.5rem;
  font-weight: 300;
  text-transform: uppercase;
  color: var(--kg--color--primary);
  text-align: center;
  margin-bottom: 15px;
}
body.single-service .kg-formules__item-sub-title {
  font-size: 1.125rem;
  color: #535353;
  text-align: center;
  text-transform: uppercase;
}
body.single-service .kg-formules__item-description {
  color: #535353;
  font-weight: 300;
  font-size: 1.125rem;
}
body.single-service .kg-formules__item-description p:last-child {
  margin-bottom: 0;
}
body.single-service .kg-decouvrir-service {
  padding: 20px 10px;
}
@media (min-width: 992px) {
  body.single-service .kg-decouvrir-service {
    padding: 20px 20px 50px;
  }
}
body.single-service .kg-decouvrir-service .kg-hr {
  margin-bottom: 30px;
}
body.single-service .kg-decouvrir-service__title {
  margin-bottom: 36px;
}
body.single-service .kg-decouvrir-service__item-thumbnail {
  border-radius: 5px;
  margin-bottom: 24px;
  aspect-ratio: 1.5;
  object-fit: cover;
  width: 100%;
}
body.single-service .kg-decouvrir-service__item-content {
  border-radius: 5px;
  border: 1px solid var(--kg--color--secondary-light);
  padding: 28px 30px 36px;
}
body.single-service .kg-decouvrir-service__item-title {
  color: var(--kg--color--primary);
  font-size: 1.3125rem;
  font-weight: bold;
}
body.single-service .kg-decouvrir-service__item-description {
  color: var(--kg--color--secondary-dark);
  font-weight: 300;
  font-size: 1.125rem;
}
body.single-service .kg-decouvrir-service__item-description p:last-child {
  margin-bottom: 0;
}
body.single-service .kg-horaires {
  padding: 0 10px 20px;
}
@media (min-width: 992px) {
  body.single-service .kg-horaires {
    padding: 0 20px 50px;
  }
}
body.single-service .kg-horaires .kg-hr {
  margin-bottom: 18px;
}
@media (min-width: 992px) {
  body.single-service .kg-horaires .kg-hr {
    margin-bottom: 30px;
  }
}
body.single-service .kg-horaires__title {
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  body.single-service .kg-horaires__title {
    margin-bottom: 36px;
  }
}
body.single-service .kg-horaires__days {
  background: #FAF8F5;
  list-style: none;
  padding: 24px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  text-align: center;
}
@media (min-width: 992px) {
  body.single-service .kg-horaires__days {
    padding: 45px 30px 50px;
  }
}
body.single-service .kg-horaires__days-item-title {
  color: var(--kg--color--primary);
  font-weight: bold;
  font-size: 0.875rem;
  margin-bottom: 18px;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  body.single-service .kg-horaires__days-item-title {
    font-size: 1rem;
  }
}
body.single-service .kg-horaires__days-item-value {
  font-size: 0.875rem;
  font-weight: 300;
}
@media (min-width: 992px) {
  body.single-service .kg-horaires__days-item-value {
    font-size: 1rem;
  }
}
body.single-service .kg-horaires .swiper-button-prev,
body.single-service .kg-horaires .swiper-button-next {
  border: none;
  --swiper-navigation-size: 26px;
  --swiper-theme-color: var(--kg--color--primary);
  background: none;
}

.kg-header-banner {
  --kg-background-color: var(--kg--color--secondary-dark);
  --kg-text-color: white;
  background: var(--kg-background-color);
  color: var(--kg-text-color);
  padding: 7px 11px;
  display: flex;
  gap: 10px;
  align-items: center;
}
@media (min-width: 992px) {
  .kg-header-banner {
    padding: 10px 40px;
  }
}
.kg-header-banner__picto {
  display: flex;
}
.kg-header-banner__picto img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
@media (min-width: 992px) {
  .kg-header-banner__picto img {
    width: 20px;
    height: 20px;
  }
}
.kg-header-banner__title {
  flex: 0 0 max-content;
  font-size: 0.8125rem;
  font-weight: bold;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-header-banner__title {
    font-size: 1.0625rem;
  }
}
.kg-header-banner__text {
  flex: 1;
  font-size: 0.8125rem;
  padding-inline: 0 5px;
  overflow-x: scroll;
  -ms-overflow-style: none; /* Internet Explorer 10+ */
  scrollbar-width: none; /* Firefox, Safari 18.2+, Chromium 121+ */
}
.kg-header-banner__text::-webkit-scrollbar {
  display: none; /* Older Safari and Chromium */
}
.kg-header-banner__text p {
  white-space: nowrap;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .kg-header-banner__text p {
    white-space: revert;
  }
}
@media (min-width: 992px) {
  .kg-header-banner__text {
    font-size: 1.0625rem;
    padding-inline: 16px;
    overflow-x: auto;
  }
}
.kg-header-banner__link {
  color: inherit;
  display: block;
  font-size: 1.0625rem;
  font-weight: bold;
  text-transform: uppercase;
  text-decoration: underline;
  transition: 0.3s;
}
@media (max-width: 991px) {
  .kg-header-banner__link {
    display: none;
  }
}
.kg-header-banner__link:hover, .kg-header-banner__link:focus {
  color: rgb(156.4831460674, 198.191011236, 225.5168539326);
}
.kg-header-banner__close {
  color: inherit;
  display: flex;
  padding: 0 0 0 18px;
  background: none;
  border: none;
}
.kg-header-banner__close svg {
  width: 12px;
  height: 12px;
  fill: currentColor;
}

.kg-footer.kg-footer--bottom {
  background: #FAF8F5;
  padding: 30px 15px;
}
@media (min-width: 992px) {
  .kg-footer.kg-footer--bottom {
    padding: 50px 20px;
  }
}
.kg-footer__columns {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
@media (min-width: 992px) {
  .kg-footer__columns {
    flex-direction: row;
    gap: 0;
  }
}
.kg-footer__column {
  flex: 1;
}
@media (min-width: 992px) {
  .kg-footer__column {
    border-left: 1px solid #DCD5CC;
    padding-inline: 24px;
  }
  .kg-footer__column:first-child {
    border-left: none;
    padding-left: 0;
  }
  .kg-footer__column:last-child {
    padding-right: 0;
  }
}
.kg-footer__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}
@media (min-width: 992px) {
  .kg-footer__logo {
    justify-content: start;
  }
}
.kg-footer__logo img {
  max-width: 204px;
}
.kg-footer__social {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
@media (min-width: 992px) {
  .kg-footer__social {
    justify-content: start;
    flex-direction: row;
    gap: 24px;
  }
}
.kg-footer__social-title {
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--kg--color--primary);
  margin-bottom: 0;
}
.kg-footer__social-list {
  display: flex;
  gap: 7px;
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}
.kg-footer__social-list a {
  width: 46px;
  height: 46px;
  border: 1px solid var(--kg--color--secondary);
  color: var(--kg--color--secondary);
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.3s;
}
.kg-footer__social-list a:hover, .kg-footer__social-list a:focus {
  background: var(--kg--color--secondary);
  color: white;
}
.kg-footer__social-list a svg {
  fill: currentColor;
  width: 23px;
  height: 23px;
}
.kg-footer__title {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 15px;
  text-transform: uppercase;
  color: var(--kg--color--primary);
  text-align: center;
  position: relative;
  transition: 0.3s;
}
@media (min-width: 992px) {
  .kg-footer__title {
    margin-bottom: 18px;
    text-align: left;
  }
  .kg-footer__title .arrow {
    display: none;
  }
}
.kg-footer__title .arrow {
  position: absolute;
  top: calc(50% - 4px);
  right: 11px;
  display: flex;
  transition: 0.3s;
}
.kg-footer__title .arrow svg {
  width: 14px;
  height: 10px;
  fill: var(--kg--color--primary);
}
.kg-footer__column--retractable.open .kg-footer__title .arrow {
  transform: rotate(180deg);
}
@media (max-width: 991px) {
  .kg-footer__column--retractable .kg-footer__title {
    background: #EEEAE5;
    padding: 3px 7px;
    text-align: left;
  }
  .kg-footer__column--retractable:not(.open) .kg-footer__title {
    margin-bottom: 0;
  }
}
@media (max-width: 991px) {
  .kg-footer__column--retractable .kg-footer__nav {
    display: none;
  }
}
.kg-footer__nav ul {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.kg-footer__nav ul a {
  color: var(--kg--color--primary);
  font-size: 0.875rem;
}
.kg-footer__nav ul a:hover, .kg-footer__nav ul a:focus {
  text-decoration: underline;
}
.kg-footer .sendingblue-form {
  text-align: center;
}
@media (min-width: 992px) {
  .kg-footer .sendingblue-form {
    text-align: left;
  }
}
.kg-footer .sendingblue-form .ae-sendingblue-form-label {
  display: block;
  width: 100% !important;
  margin-bottom: 20px;
}
.kg-footer .sendingblue-form .ae-sendingblue-form-label input {
  background: white;
  border: 1px solid #EFE8CF;
  border-radius: 4px;
  font-family: "Josefin Sans", sans-serif;
  padding-inline: 15px;
  height: 50px;
  width: 100%;
}
.kg-footer .sendingblue-form .ae-sendingblue-form-label input::placeholder {
  color: var(--kg--color--primary);
}
.kg-footer .sendingblue-form .sendingblue-accept-rgpd {
  color: #919191;
  font-size: 0.75rem;
  display: flex;
  align-items: start;
  gap: 6px;
  margin-bottom: 18px;
}
.kg-footer .sendingblue-form .sendingblue-accept-rgpd input {
  margin-top: 2px;
}
.kg-footer .sendingblue-form .sendingblue-submit-btn {
  background: var(--kg--color--primary-dark);
  border: none;
  color: white;
  font-family: "Josefin Sans", sans-serif;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 12px 16px 10px;
  border-radius: 4px;
  transition: 0.3s;
}
.kg-footer .sendingblue-form .sendingblue-submit-btn:hover, .kg-footer .sendingblue-form .sendingblue-submit-btn:focus {
  background: var(--kg--color--primary);
}

/*# sourceMappingURL=main.css.map */
