@charset "UTF-8";


@font-face {
font-family: 'Playfair Display';
font-style: normal;
font-weight: 600;
src: url(../fonts/playfair-display-600.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
font-family: 'Cormorant Garamond';
font-style: italic;
font-weight: 400;
src: url(../fonts/cormorant_garamond_italic.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/manrope.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/manrope.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


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

* {
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

body {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #2A2422;
  background-color: #F5EFE6;
  min-height: 100vh;
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
  height: auto;
}

img {
  font-style: italic;
  color: #8A8278;
}

input, button, textarea, select {
  font: inherit;
  color: inherit;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

a {
  color: #7A2128;
  text-decoration: none;
  transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
a:hover {
  color: #5A181D;
  text-decoration: underline;
  text-underline-offset: 3px;
}
a:focus-visible {
  outline: 2px solid #7A2128;
  outline-offset: 3px;
}
a:focus:not(:focus-visible) {
  outline: none;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
  text-wrap: pretty;
}

ul, ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

hr {
  border: none;
  height: 1px;
  background: #D9D3C9;
  margin: 2rem 0;
}

blockquote {
  margin: 0;
  padding: 0;
}

#root, #__next {
  isolation: isolate;
}

/*
::selection {
  background-color: rgba(122, 33, 40, 0.15);
  color: #5A181D;
}*/

.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  z-index: 9999;
  padding: 1rem 2rem;
  background: #7A2128;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 500;
}
.skip-link:focus {
  top: 0;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.container-fluid {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .container-fluid {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.container-narrow {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .container-narrow {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

h1, .h1 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #2A2422;
  text-wrap: balance;
  font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem);
  margin-bottom: 1.5rem;
}

h2, .h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #2A2422;
  text-wrap: balance;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  margin-bottom: 1.5rem;
}

h3, .h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #2A2422;
  text-wrap: balance;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  font-weight: 500;
  margin-bottom: 1rem;
}

h4, .h4 {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #2A2422;
  text-wrap: balance;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  font-weight: 500;
  margin-bottom: 1rem;
}

h5, .h5 {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
  color: #2A2422;
  margin-bottom: 0.5rem;
}

h6, .h6 {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  color: #2A2422;
  margin-bottom: 0.5rem;
}

p {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #4A413E;
  margin-bottom: 1.5rem;
}
p:last-child {
  margin-bottom: 0;
}

.lead {
  font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  line-height: 1.3;
  color: #2A2422;
  font-weight: 400;
}

.small {
  font-size: 0.875rem;
}

.eyebrow {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7A2128;
  display: block;
  margin-bottom: 1rem;
}

.italic-accent {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #7A2128;
  line-height: 1.3;
  letter-spacing: 0;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
}

.section__content p,
.single-chambre__section-content p,
.single-actualite__section-content p,
.single-lieu__section-content p,
.single-depuis__section-content p,
.bienvenue__content p,
.section__intro p {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #4A413E;
  margin-bottom: 1.5rem;
}
.section__content strong,
.single-chambre__section-content strong,
.single-actualite__section-content strong,
.single-lieu__section-content strong,
.single-depuis__section-content strong,
.bienvenue__content strong,
.section__intro strong {
  font-weight: 600;
  color: #2A2422;
}
.section__content em,
.single-chambre__section-content em,
.single-actualite__section-content em,
.single-lieu__section-content em,
.single-depuis__section-content em,
.bienvenue__content em,
.section__intro em {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  color: #7A2128;
  font-size: 20px;
}
.section__content ul, .section__content ol,
.single-chambre__section-content ul,
.single-chambre__section-content ol,
.single-actualite__section-content ul,
.single-actualite__section-content ol,
.single-lieu__section-content ul,
.single-lieu__section-content ol,
.single-depuis__section-content ul,
.single-depuis__section-content ol,
.bienvenue__content ul,
.bienvenue__content ol,
.section__intro ul,
.section__intro ol {
  margin: 1.5rem 0;
  padding-left: 2rem;
}
.section__content ul li, .section__content ol li,
.single-chambre__section-content ul li,
.single-chambre__section-content ol li,
.single-actualite__section-content ul li,
.single-actualite__section-content ol li,
.single-lieu__section-content ul li,
.single-lieu__section-content ol li,
.single-depuis__section-content ul li,
.single-depuis__section-content ol li,
.bienvenue__content ul li,
.bienvenue__content ol li,
.section__intro ul li,
.section__intro ol li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
  color: #4A413E;
}
.section__content ul li,
.single-chambre__section-content ul li,
.single-actualite__section-content ul li,
.single-lieu__section-content ul li,
.single-depuis__section-content ul li,
.bienvenue__content ul li,
.section__intro ul li {
  list-style: disc;
}
.section__content ul li::marker,
.single-chambre__section-content ul li::marker,
.single-actualite__section-content ul li::marker,
.single-lieu__section-content ul li::marker,
.single-depuis__section-content ul li::marker,
.bienvenue__content ul li::marker,
.section__intro ul li::marker {
  color: #D4B896;
}
.section__content ol li,
.single-chambre__section-content ol li,
.single-actualite__section-content ol li,
.single-lieu__section-content ol li,
.single-depuis__section-content ol li,
.bienvenue__content ol li,
.section__intro ol li {
  list-style: decimal;
}
.section__content a,
.single-chambre__section-content a,
.single-actualite__section-content a,
.single-lieu__section-content a,
.single-depuis__section-content a,
.bienvenue__content a,
.section__intro a {
  color: #7A2128;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.section__content a:hover,
.single-chambre__section-content a:hover,
.single-actualite__section-content a:hover,
.single-lieu__section-content a:hover,
.single-depuis__section-content a:hover,
.bienvenue__content a:hover,
.section__intro a:hover {
  color: #5A181D;
  text-decoration-thickness: 2px;
}
.section__content blockquote,
.single-chambre__section-content blockquote,
.single-actualite__section-content blockquote,
.single-lieu__section-content blockquote,
.single-depuis__section-content blockquote,
.bienvenue__content blockquote,
.section__intro blockquote {
  margin: 2rem 0;
  padding: 1.5rem 2rem;
  border-left: 3px solid #D4B896;
  background: #FAF6EF;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  color: #2A2422;
}
.section__content h2, .section__content h3, .section__content h4,
.single-chambre__section-content h2,
.single-chambre__section-content h3,
.single-chambre__section-content h4,
.single-actualite__section-content h2,
.single-actualite__section-content h3,
.single-actualite__section-content h4,
.single-lieu__section-content h2,
.single-lieu__section-content h3,
.single-lieu__section-content h4,
.single-depuis__section-content h2,
.single-depuis__section-content h3,
.single-depuis__section-content h4,
.bienvenue__content h2,
.bienvenue__content h3,
.bienvenue__content h4,
.section__intro h2,
.section__intro h3,
.section__intro h4 {
  margin-top: 3rem;
}
.section__content h2:first-child, .section__content h3:first-child, .section__content h4:first-child,
.single-chambre__section-content h2:first-child,
.single-chambre__section-content h3:first-child,
.single-chambre__section-content h4:first-child,
.single-actualite__section-content h2:first-child,
.single-actualite__section-content h3:first-child,
.single-actualite__section-content h4:first-child,
.single-lieu__section-content h2:first-child,
.single-lieu__section-content h3:first-child,
.single-lieu__section-content h4:first-child,
.single-depuis__section-content h2:first-child,
.single-depuis__section-content h3:first-child,
.single-depuis__section-content h4:first-child,
.bienvenue__content h2:first-child,
.bienvenue__content h3:first-child,
.bienvenue__content h4:first-child,
.section__intro h2:first-child,
.section__intro h3:first-child,
.section__intro h4:first-child {
  margin-top: 0;
}

.breadcrumb {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .breadcrumb {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.breadcrumb {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #8A8278;
  list-style: none;
}
.breadcrumb__item {
  display: flex;
  align-items: center;
}
.breadcrumb__item::after {
  content: "›";
  margin-left: 0.5rem;
  color: #8A8278;
}
.breadcrumb__item:last-child::after {
  display: none;
}
.breadcrumb__item a {
  color: #8A8278;
}
.breadcrumb__item a:hover {
  color: #7A2128;
}
.breadcrumb__item--current {
  color: #2A2422;
  font-weight: 500;
}

.section-title {
  text-align: center;
  margin-bottom: 3rem;
}
.section-title__eyebrow {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7A2128;
  display: block;
  margin-bottom: 1rem;
}
.section-title__heading {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #2A2422;
  text-wrap: balance;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.section-title__heading em {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #7A2128;
  line-height: 1.3;
  letter-spacing: 0;
  font-size: 1em;
}
.section-title__intro {
  max-width: 640px;
  margin: 1.5rem auto 0;
  /*font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);*/
  color: #4A413E;
  line-height: 1.3;
}

.styled-table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
}
.styled-table th, .styled-table td {
  padding: 1rem 1.5rem;
  text-align: left;
  border-bottom: 1px solid #D9D3C9;
}
.styled-table th {
  font-weight: 600;
  color: #2A2422;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.styled-table tbody tr:hover {
  background: #FAF6EF;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1), color 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-appearance: none;
  appearance: none;
}
.btn:hover, .btn:focus {
  text-decoration: none;
  transform: translateY(-1px);
}
.btn:active {
  transform: translateY(0);
}
.btn:focus-visible {
  outline: 2px solid #7A2128;
  outline-offset: 3px;
}
.btn:focus:not(:focus-visible) {
  outline: none;
}
.btn--primary {
  background: #7A2128;
  color: #FFFFFF;
  border-color: #7A2128;
}
.btn--primary:hover, .btn--primary:focus {
  background: #5A181D;
  border-color: #5A181D;
  color: #FFFFFF;
  box-shadow: 0 4px 12px rgba(42, 36, 34, 0.08);
  text-decoration: none;
}
.btn--secondary {
  background: #FFFFFF;
  color: #7A2128;
  border-color: #7A2128;
}
.btn--secondary:hover, .btn--secondary:focus {
  background: #7A2128;
  color: #FFFFFF;
  border-color: #7A2128;
  text-decoration: none;
}
.btn--outline {
  background: transparent;
  color: #2A2422;
  border-color: #D9D3C9;
}
.btn--outline:hover, .btn--outline:focus {
  background: #FAF6EF;
  color: #7A2128;
  border-color: #7A2128;
  text-decoration: none;
}
.btn--ghost {
  background: transparent;
  color: #7A2128;
  border-color: transparent;
}
.btn--ghost:hover, .btn--ghost:focus {
  background: rgba(122, 33, 40, 0.06);
  color: #5A181D;
  text-decoration: none;
}
.btn--on-dark {
  background: #FFFFFF;
  color: #7A2128;
}
.btn--on-dark:hover, .btn--on-dark:focus {
  background: #F5EFE6;
  color: #5A181D;
  text-decoration: none;
}
.btn--small {
  padding: 0.5rem 1.5rem;
  font-size: 0.875rem;
}
.btn--large {
  padding: 1.5rem 3rem;
  font-size: 1.125rem;
}
.btn--block {
  display: flex;
  width: 100%;
}
.btn--icon {
  padding: 1rem;
  aspect-ratio: 1;
}
.btn[disabled], .btn.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.card-chambre {
  background: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(42, 36, 34, 0.06);
  transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.card-chambre:hover {
  box-shadow: 0 12px 28px rgba(42, 36, 34, 0.15);
  transform: translateY(-4px);
}
.card-chambre {
  height: 100%;
}
.card-chambre__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.card-chambre__link:hover {
  text-decoration: none;
}
.card-chambre__image-wrap {
  aspect-ratio: 4/3;
}
@supports not (aspect-ratio: 1/1) {
  .card-chambre__image-wrap {
    position: relative;
  }
  .card-chambre__image-wrap::before {
    content: "";
    display: block;
    padding-top: 75%;
  }
  .card-chambre__image-wrap > * {
    position: absolute;
    inset: 0;
  }
}
.card-chambre__image-wrap {
  overflow: hidden;
  background: #EBE2D2;
}
.card-chambre__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.card-chambre:hover .card-chambre__image {
  transform: scale(1.05);
}
.card-chambre__body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 1rem;
}
.card-chambre__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  font-weight: 500;
  color: #2A2422;
  margin: 0;
  line-height: 1.3;
}
.card-chambre__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  list-style: none;
  font-size: 0.875rem;
  color: #4A413E;
}
.card-chambre__spec {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.card-chambre__spec::before {
  content: "·";
  margin-right: 0.25rem;
  color: #D4B896;
}
.card-chambre__spec:first-child::before {
  display: none;
}
.card-chambre__spec--balcon {
  color: #7A2128;
  font-weight: 500;
}
.card-chambre__price {
  margin-top: auto;
  padding-top: 1rem;
  border-top: 1px solid #EBE2D2;
}
.card-chambre__price-label {
  display: block;
  font-size: 0.75rem;
  color: #8A8278;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}
.card-chambre__price-amount {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  font-weight: 600;
  color: #7A2128;
  line-height: 1;
}
.card-chambre__price-unit {
  font-size: 0.875rem;
  color: #8A8278;
}
.card-chambre__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #7A2128;
}
.card-chambre__cta::after {
  content: "→";
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.card-chambre:hover .card-chambre__cta::after {
  transform: translateX(4px);
}

.chambres-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

@media (min-width: 640px) {
  .chambres-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .chambres-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.lieu-card {
  background: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(42, 36, 34, 0.06);
  transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
  max-width: 500px;
}
.lieu-card:hover {
  box-shadow: 0 12px 28px rgba(42, 36, 34, 0.15);
  transform: translateY(-4px);
}
.lieu-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.lieu-card__link:hover {
  text-decoration: none;
}
.lieu-card__media {
  aspect-ratio: 4/3;
}
@supports not (aspect-ratio: 1/1) {
  .lieu-card__media {
    position: relative;
  }
  .lieu-card__media::before {
    content: "";
    display: block;
    padding-top: 75%;
  }
  .lieu-card__media > * {
    position: absolute;
    inset: 0;
  }
}
.lieu-card__media {
  overflow: hidden;
  background: #EBE2D2;
}
.lieu-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.lieu-card:hover .lieu-card__image {
  transform: scale(1.06);
}
.lieu-card__body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.lieu-card__category {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #7A2128;
}
.lieu-card__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3;
  color: #2A2422;
  margin: 0;
}
.lieu-card__distance {
  display: flex;
  gap: 1rem;
  font-size: 0.75rem;
  color: #8A8278;
  margin-top: 0.5rem;
}
.lieu-card.is-hidden {
  display: none;
}

.lieux-grille {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}

/* 1 ou 2 enfants : chacun à 33 %, collés à gauche */
.lieux-grille:has(> :last-child:nth-child(-n+2)) {
  grid-template-columns: repeat(auto-fit, minmax(260px, 33%));
  justify-content: start;
}

@media screen and (min-width: 876px) and (max-width: 1175px)
{
	.home .lieux-grille .lieu-card:last-child
	{
	display: none;
	}
}

.lieux-filtres {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 3rem;
}
.lieux-filtres__btn {
  padding: 0.5rem 1.5rem;
  background: transparent;
  border: 1px solid #D9D3C9;
  border-radius: 999px;
  font-size: 0.875rem;
  color: #4A413E;
  cursor: pointer;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.lieux-filtres__btn:hover {
  border-color: #7A2128;
  color: #7A2128;
}
.lieux-filtres__btn.is-active {
  background: #7A2128;
  border-color: #7A2128;
  color: #FFFFFF;
}

.actu-card {
  background: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(42, 36, 34, 0.06);
  transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.actu-card:hover {
  box-shadow: 0 12px 28px rgba(42, 36, 34, 0.15);
  transform: translateY(-4px);
}
.actu-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.actu-card__link:hover {
  text-decoration: none;
}
.actu-card__media {
  aspect-ratio: 16/9;
}
@supports not (aspect-ratio: 1/1) {
  .actu-card__media {
    position: relative;
  }
  .actu-card__media::before {
    content: "";
    display: block;
    padding-top: 56.25%;
  }
  .actu-card__media > * {
    position: absolute;
    inset: 0;
  }
}
.actu-card__media {
  overflow: hidden;
  background: #EBE2D2;
}
.actu-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.actu-card:hover .actu-card__image {
  transform: scale(1.04);
}
.actu-card__body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.actu-card__type {
  display: inline-block;
  align-self: flex-start;
  padding: 2px 10px;
  background: #FAF6EF;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 500;
  color: #7A2128;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.actu-card__date {
  font-size: 0.75rem;
  color: #8A8278;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0;
}
.actu-card__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  font-weight: 500;
  line-height: 1.3;
  color: #2A2422;
  margin: 0;
}
.actu-card__excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.875rem;
  color: #4A413E;
  margin: 0;
}

.bloc-actualites__grid,
.archive-actualite__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  color: #2A2422;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=search],
input[type=date],
textarea,
select {
  width: 100%;
  padding: 1rem 1.5rem;
  background: #FFFFFF;
  border: 1px solid #D9D3C9;
  border-radius: 4px;
  font-size: 1rem;
  color: #2A2422;
  transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=url]:focus,
input[type=number]:focus,
input[type=search]:focus,
input[type=date]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: #7A2128;
  box-shadow: 0 0 0 3px rgba(122, 33, 40, 0.1);
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
input[type=number]::placeholder,
input[type=search]::placeholder,
input[type=date]::placeholder,
textarea::placeholder,
select::placeholder {
  color: #8A8278;
}

textarea {
  min-height: 140px;
  resize: vertical;
  line-height: 1.6;
}

label {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #2A2422;
}

.wpcf7-form .required,
label .required {
  color: #7A2128;
  margin-left: 2px;
}

.wpcf7-form p {
  margin-bottom: 1.5rem;
}
.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  margin-top: 0.25rem;
}
.wpcf7-form .wpcf7-not-valid {
  border-color: #A93D3D;
}
.wpcf7-form .wpcf7-not-valid:focus {
  box-shadow: 0 0 0 3px rgba(169, 61, 61, 0.1);
}
.wpcf7-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #A93D3D;
}
.wpcf7-form .wpcf7-submit,
.wpcf7-form input[type=submit] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1), color 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-appearance: none;
  appearance: none;
}
.wpcf7-form .wpcf7-submit:hover, .wpcf7-form .wpcf7-submit:focus,
.wpcf7-form input[type=submit]:hover,
.wpcf7-form input[type=submit]:focus {
  text-decoration: none;
  transform: translateY(-1px);
}
.wpcf7-form .wpcf7-submit:active,
.wpcf7-form input[type=submit]:active {
  transform: translateY(0);
}
.wpcf7-form .wpcf7-submit:focus-visible,
.wpcf7-form input[type=submit]:focus-visible {
  outline: 2px solid #7A2128;
  outline-offset: 3px;
}
.wpcf7-form .wpcf7-submit:focus:not(:focus-visible),
.wpcf7-form input[type=submit]:focus:not(:focus-visible) {
  outline: none;
}
.wpcf7-form .wpcf7-submit,
.wpcf7-form input[type=submit] {
  background: #7A2128;
  color: #FFFFFF;
  border-color: #7A2128;
  cursor: pointer;
}
.wpcf7-form .wpcf7-submit:hover, .wpcf7-form .wpcf7-submit:focus,
.wpcf7-form input[type=submit]:hover,
.wpcf7-form input[type=submit]:focus {
  background: #5A181D;
  border-color: #5A181D;
}
.wpcf7-form .wpcf7-spinner {
  display: inline-block;
  margin-left: 1rem;
  vertical-align: middle;
}
.wpcf7-form .wpcf7-response-output {
  margin-top: 1.5rem !important;
  padding: 1.5rem 2rem !important;
  border-radius: 4px !important;
  font-size: 0.875rem;
}
.wpcf7-form.sent .wpcf7-response-output {
  background: rgba(74, 124, 89, 0.1);
  border: 1px solid #4A7C59 !important;
  color: rgb(54.9393939394, 92.0606060606, 66.0757575758);
}
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.failed .wpcf7-response-output {
  background: rgba(169, 61, 61, 0.1);
  border: 1px solid #A93D3D !important;
  color: rgb(131.5260869565, 47.4739130435, 47.4739130435);
}

input[type=checkbox],
input[type=radio] {
  margin-right: 0.5rem;
  accent-color: #7A2128;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
  display: block;
}
.wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-weight: 400;
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
  cursor: pointer;
}
.wpcf7-acceptance label input {
  margin-top: 4px;
  flex-shrink: 0;
}

.search-form {
  display: flex;
  gap: 0.5rem;
  max-width: 480px;
  margin: 0 auto;
}
.search-form label {
  flex: 1;
  margin: 0;
}
.search-form .search-field {
  width: 100%;
}
.search-form .search-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 2rem;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1), color 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-appearance: none;
  appearance: none;
}
.search-form .search-submit:hover, .search-form .search-submit:focus {
  text-decoration: none;
  transform: translateY(-1px);
}
.search-form .search-submit:active {
  transform: translateY(0);
}
.search-form .search-submit:focus-visible {
  outline: 2px solid #7A2128;
  outline-offset: 3px;
}
.search-form .search-submit:focus:not(:focus-visible) {
  outline: none;
}
.search-form .search-submit {
  background: #7A2128;
  color: #FFFFFF;
  border-color: #7A2128;
  flex-shrink: 0;
}
.search-form .search-submit:hover {
  background: #5A181D;
}

fieldset {
  border: 1px solid #D9D3C9;
  padding: 1.5rem;
  border-radius: 4px;
  margin-bottom: 1.5rem;
}
fieldset legend {
  padding: 0 1rem;
  font-weight: 600;
  color: #2A2422;
}

.site-header__menu {
  list-style: none;
  margin: 0;
  padding: 0;

}
@media (min-width: 992px) {
  .site-header__menu {
    display: flex;
    gap: 5px!important;
    align-items: center;
  }
}

@media (min-width: 1200px) {
  .site-header__menu {
    gap: 1.5rem!important;
  }
}
@media (max-width: 991px) {
  .site-header__menu {
    display: none!important;
  }
  .site-header__menu.is-open {
    position: fixed;
    top: var(--header-height-current, 64px);
    left: 0;
    right: 0;
    bottom: 0;
    background: #F5EFE6;
    padding: 2rem;
    display: flex!important;
    flex-direction: column;
    gap: 1.5rem;
    z-index: 110;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    border-top: 1px solid #EBE2D2;
  }
}

.site-header__menu li {
  position: relative;
}
.site-header__menu a {
  display: inline-block;
  padding: 0.5rem 0.5rem;
  color: #2A2422;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
@media (max-width: 991px) {
  .site-header__menu a {
    display: block;
    padding: 1rem 0;
    font-size: 1.125rem;
    border-bottom: 1px solid #EBE2D2;
  }
}
.site-header__menu a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0.5rem;
  right: 0.5rem;
  height: 2px;
  background: #7A2128;
  transform: scaleX(0);
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
@media (max-width: 991px) {
  .site-header__menu a::after {
    display: none;
  }
}
.site-header__menu a:hover, .site-header__menu a:focus {
  color: #7A2128;
  text-decoration: none;
}
.site-header__menu a:hover::after, .site-header__menu a:focus::after {
  transform: scaleX(1);
}
.site-header__menu .current-menu-item > a,
.site-header__menu .current_page_item > a {
  color: #7A2128;
}
.site-header__menu .current-menu-item > a::after,
.site-header__menu .current_page_item > a::after {
  transform: scaleX(1);
}
.site-header__menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 992px) {
  .site-header__menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 220px;
    background: #FFFFFF;
    border: 1px solid #EBE2D2;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(42, 36, 34, 0.08);
    padding: 0.5rem 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), visibility 0s linear 150ms;
  }
}
.site-header__menu .sub-menu a {
  display: block;
  padding: 0.5rem 1.5rem;
  white-space: nowrap;
  font-size: 0.875rem;
}
.site-header__menu .sub-menu a::after {
  display: none;
}
@media (min-width: 992px) {
  .site-header__menu li:hover > .sub-menu,
  .site-header__menu li:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
  }
}

.site-header__toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 8px;
  margin-left: auto;
}
@media (min-width: 992px) {
  .site-header__toggle {
    display: none;
  }
}
.site-header__toggle-bar {
  display: block;
  width: 100%;
  height: 2px;
  background: #2A2422;
  border-radius: 2px;
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header__toggle[aria-expanded=true] .site-header__toggle-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.site-header__toggle[aria-expanded=true] .site-header__toggle-bar:nth-child(2) {
  opacity: 0;
}
.site-header__toggle[aria-expanded=true] .site-header__toggle-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

body.mobile-menu-open {
  overflow: hidden;
}
@media (min-width: 992px) {
  body.mobile-menu-open {
    overflow: auto;
  }
}
/* Le backdrop-filter du header crée un bloc conteneur pour les éléments
   position:fixed, ce qui empêchait le menu mobile de se baser sur le viewport.
   On le neutralise pendant que le menu plein écran est ouvert (mobile uniquement). */
@media (max-width: 991px) {
  body.mobile-menu-open .site-header {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}

.site-header__lang {
  position: relative;
}

@media screen and (min-width: 992px) and (max-width: 1300px)
{
	.site-header__lang
	{
	display: none;
	}
}

.site-header__lang-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 1rem;
  background: transparent;
  border: 1px solid #D9D3C9;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #2A2422;
  cursor: pointer;
  transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header__lang-toggle:hover {
  border-color: #7A2128;
  color: #7A2128;
}
.site-header__lang-toggle svg {
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header__lang-toggle[aria-expanded=true] svg {
  transform: rotate(180deg);
}
.site-header__lang-list {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 100px;
  background: #FFFFFF;
  border: 1px solid #EBE2D2;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(42, 36, 34, 0.08);
  padding: 0.5rem 0;
  list-style: none;
  margin: 0;
  z-index: 50;
}
.site-header__lang-list[hidden] {
  display: none;
}
.site-header__lang-item a {
  display: block;
  padding: 0.5rem 1.5rem;
  color: #4A413E;
  font-size: 0.875rem;
  text-decoration: none;
  transition: background 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header__lang-item a:hover {
  background: #FAF6EF;
  color: #7A2128;
  text-decoration: none;
}
.site-header__lang-item.is-current a {
  color: #7A2128;
  font-weight: 500;
}

.site-footer__menu {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer__menu li {
  margin-bottom: 0.5rem;
}
.site-footer__menu a {
  color: #EBE2D2;
  font-size: 0.875rem;
  text-decoration: none;
  transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.site-footer__menu a:hover {
  color: #FFFFFF;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pagination,
.archive-actualite__pagination,
.search-results__pagination {
  margin-top: 4rem;
  text-align: center;
}
.pagination .nav-links,
.archive-actualite__pagination .nav-links,
.search-results__pagination .nav-links {
  display: inline-flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: center;
}
.pagination .page-numbers,
.archive-actualite__pagination .page-numbers,
.search-results__pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 1rem;
  background: transparent;
  border: 1px solid #D9D3C9;
  border-radius: 4px;
  color: #2A2422;
  text-decoration: none;
  font-size: 0.875rem;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.pagination .page-numbers:hover,
.archive-actualite__pagination .page-numbers:hover,
.search-results__pagination .page-numbers:hover {
  border-color: #7A2128;
  color: #7A2128;
  text-decoration: none;
}
.pagination .page-numbers.current,
.archive-actualite__pagination .page-numbers.current,
.search-results__pagination .page-numbers.current {
  background: #7A2128;
  border-color: #7A2128;
  color: #FFFFFF;
}
.pagination .page-numbers.dots,
.archive-actualite__pagination .page-numbers.dots,
.search-results__pagination .page-numbers.dots {
  border: none;
  cursor: default;
}

.avis-google {
  padding: 4rem 0;
  background: #FAF6EF;
}
.avis-google__header {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .avis-google__header {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.avis-google__header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-align: center;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .avis-google__header {
    flex-direction: row;
    justify-content: space-between;
    align-items: baseline;
    text-align: left;
  }
}
.avis-google__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  margin: 0;
}
.avis-google__link {
  font-size: 0.875rem;
  color: #7A2128;
  text-decoration: underline;
}
.avis-google__link:hover {
  color: #5A181D;
}
.avis-google__grid {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  
}



@media (min-width: 768px) {
  .avis-google__grid {
    padding-left: 1.5rem;
  padding-right: 1.5rem;
  display: grid;
  gap: 1.5rem;
  }
}


@media (min-width: 992px) {
  .avis-google__grid {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 1031px) {
  .avis-google__grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }
}


.avis-google__card {
  background: #FFFFFF;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 8px rgba(42, 36, 34, 0.06);
}

@media screen and (max-width: 767px) {
	.avis-google__card {
		margin-bottom: 30px;
	}
}

.avis-google__card-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.avis-google__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex-shrink: 0;
}
.avis-google__author {
  font-weight: 600;
  font-size: 0.875rem;
  color: #2A2422;
  margin: 0;
}
.avis-google__date {
  font-size: 0.75rem;
  color: #8A8278;
  margin: 0;
}
.avis-google__stars {
  display: flex;
  gap: 2px;
  margin-bottom: 1rem;
}
.avis-google__star {
  color: #D9D3C9;
  font-size: 1.1em;
  line-height: 1;
}
.avis-google__star.is-filled {
  color: #C49A3F;
}
.avis-google__text {
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
  margin: 0;
  font-style: italic;
  position: relative;
  padding-left: 1rem;
  border-left: 2px solid #EBE2D2;
}

.faq-block {
  padding: 6rem 0 0 0;
}
.faq-block__header {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .faq-block__header {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.faq-block__header {
  text-align: center;
  margin-bottom: 3rem;
}
.faq-block__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  margin: 0;
}
.faq-block__list {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .faq-block__list {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.faq-block__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.faq-item {
  background: #FFFFFF;
  border: 1px solid #EBE2D2;
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-item[open] {
  border-color: #7A2128;
}
.faq-item__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.5rem 2rem;
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #2A2422;
  cursor: pointer;
  list-style: none;
  transition: background 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-item__question::-webkit-details-marker {
  display: none;
}
.faq-item__question::marker {
  display: none;
}
.faq-item__question:hover {
  background: #FAF6EF;
}
.faq-item__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #7A2128;
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.faq-item[open] .faq-item__icon {
  transform: rotate(180deg);
}
.faq-item__answer {
  padding: 0 2rem 2rem;
  color: #4A413E;
  line-height: 1.6;
}
.faq-item__answer p {
  margin-bottom: 1rem;
}
.faq-item__answer p:last-child {
  margin-bottom: 0;
}

.cta-banner {
  padding: 4rem 0;
  background: linear-gradient(135deg, #7A2128 0%, #5A181D 100%);
  color: #FFFFFF;
}
.cta-banner__inner {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .cta-banner__inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.cta-banner__inner {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: center;
  text-align: center;
}
@media (min-width: 992px) {
  .cta-banner__inner {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}
.cta-banner__text {
  flex: 1;
}
.cta-banner__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  color: #FFFFFF;
  margin: 0 0 0.5rem;
}
.cta-banner__subtitle {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  margin: 0;
}
.cta-banner__action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}
@media (min-width: 992px) {
  .cta-banner__action {
    align-items: flex-end;
  }
}
.cta-banner__price {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin: 0;
}
.cta-banner__price-label {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.85);
}
.cta-banner__price-amount {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  font-weight: 700;
  color: #FFFFFF;
}
.cta-banner .btn,
.cta-devis .btn
{
  background: #FFFFFF;
  color: #7A2128;
  border-color: #FFFFFF;
}
.cta-banner .btn:hover,
.cta-devis .btn .btn:hover
{
background: #F5EFE6;
color: #5A181D;
}

.single-actualite {
  padding: 4rem 0;
}
.single-actualite__content {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .single-actualite__content {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.single-actualite__lead {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  color: #2A2422;
  line-height: 1.3;
  margin-bottom: 3rem;
  padding-bottom: 2rem;
  border-bottom: 1px solid #EBE2D2;
}
.single-actualite__body {
  margin-bottom: 3rem;
}
.single-actualite__body p {
  line-height: 1.6;
}
.single-actualite__sections {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.single-actualite__section h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  color: #2A2422;
  margin-bottom: 1.5rem;
}
.single-actualite__figure {
  margin: 2rem 0;
}
.single-actualite__figure img {
  width: 100%;
  border-radius: 8px;
}
.single-actualite__cta {
  margin-top: 4rem;
  padding: 3rem;
  background: #FAF6EF;
  border-radius: 8px;
  text-align: center;
  margin-bottom: 30px;
}

.cta_txt
{
margin-bottom: 25px;
}

.section-title__intro p {
  /*font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);*/
  color: #4A413E;
}

.avantages-list {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

@media screen and (min-width: 576px)
{
	.avantages-list {
	grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (min-width: 1200px)
{
	.avantages-list {
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	}
}

.avantages-list__item {
  padding: 1.5rem;
  background: #FAF6EF;
  border-radius: 4px;
  border-top: 3px solid #D4B896;
}
.avantages-list__item h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  color: #7A2128;
  margin: 0 0 0.5rem;
}
.avantages-list__item p {
  font-size: 0.875rem;
  color: #4A413E;
  margin: 0;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(245, 239, 230, 0.95);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid transparent;
  transition: background 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), padding 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.98);
  border-bottom-color: #EBE2D2;
  box-shadow: 0 1px 4px rgba(42, 36, 34, 0.06);
}
.site-header__inner {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .site-header__inner {
    padding-left: 5px;
    padding-right: 5px;
  }
}

@media (min-width: 1200px) {
  .site-header__inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  height: 64px;
}
@media (min-width: 992px) {
  .site-header__inner {
    height: 88px;
    gap: 5px;
  }
}
@media (min-width: 1200px) {
  .site-header__inner {
    height: 88px;
    gap: 2rem;
  }
}
.site-header__brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}
.site-header__brand:hover {
  text-decoration: none;
}
.site-header__logo {
  height: 40px;
  width: auto;
  transition: height 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
@media (min-width: 992px) {
  .site-header__logo {
    height: 56px;
  }
}
@media (min-width: 992px) {
  .site-header.is-scrolled .site-header__logo {
    height: 48px;
  }
}
.site-header__nav {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
  justify-content: center;
}
@media (max-width: 991px) {
  .site-header__nav {
    justify-content: flex-end;
  }
}
.site-header__actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-shrink: 0;
}
@media (max-width: 991px) {
  .site-header__cta {
    display: none;
  }
}

.site-footer {
  background: #2A2422;
  color: #EBE2D2;
  margin-top: 8rem;
}
.site-footer__top {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .site-footer__top {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.site-footer__top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  padding-top: 6rem;
  padding-bottom: 4rem;
}
@media (min-width: 576px) {
  .site-footer__top {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .site-footer__top {
    grid-template-columns: 2fr 1.2fr 1fr 1fr;
    gap: 4rem;
  }
}
.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.site-footer__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0;
}
.site-footer__logo-link {
  display: inline-block;
  margin-bottom: 1rem;
}
.site-footer__logo {
  height: 50px;
  width: auto;
  filter: brightness(0) invert(1);
}
.site-footer__tagline {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-size: 1.125rem;
  color: #EBE2D2;
  line-height: 1.3;
  margin: 0;
}
.site-footer__address {
  font-style: normal;
  line-height: 1.6;
  color: #EBE2D2;
  margin: 0;
  font-size: 0.875rem;
}
.site-footer__phone {
  margin: 0;
}
.site-footer__phone a {
  color: #FFFFFF;
  font-weight: 500;
  font-size: 1.125rem;
  text-decoration: none;
}
.site-footer__phone a:hover {
  color: #D4B896;
  text-decoration: underline;
}
.site-footer__email {
  margin: 0;
  color: #EBE2D2;
  font-size: 0.875rem;
  word-break: break-word;
}
.site-footer__email a {
  color: #EBE2D2;
}
.site-footer__email a:hover {
  color: #FFFFFF;
}
.site-footer__cookies-btn {
  display: inline-block;
  align-self: flex-start;
  padding: 0.25rem 1rem;
  background: transparent;
  color: #EBE2D2;
  border: 1px solid rgba(235, 226, 210, 0.3);
  border-radius: 4px;
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
  margin-top: 1rem;
}
.site-footer__cookies-btn:hover {
  background: rgba(235, 226, 210, 0.1);
  border-color: #EBE2D2;
  color: #FFFFFF;
}
.site-footer__bottom {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .site-footer__bottom {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.site-footer__bottom {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-top: 1px solid rgba(235, 226, 210, 0.15);
}
.site-footer__bottom-inner {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: rgba(235, 226, 210, 0.7);
}
@media (min-width: 768px) {
  .site-footer__bottom-inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.site-footer__copyright, .site-footer__credit {
  margin: 0;
  color: #d2d2d2;
}
.site-footer__credit-link {
  color: #EBE2D2;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.site-footer__credit-link:hover {
  color: #FFFFFF;
}

.hero {
  position: relative;
  overflow: hidden;
  background: #FAF6EF;
  min-height: 60vh;
}
@media (min-width: 768px) {
  .hero {
    min-height: 70vh;
  }
}
.hero--page {
  min-height: 50vh;
}
@media (min-width: 768px) {
  .hero--page {
    min-height: 55vh;
  }
}
.hero--no-image {
  min-height: 30vh;
  background: linear-gradient(180deg, #F5EFE6 0%, #FAF6EF 100%);
  padding: 6rem 0;
}
@media (min-width: 768px) {
  .hero--no-image {
    min-height: 40vh;
  }
}
.hero__media {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.hero__picture, .hero__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.5) 100%);
  pointer-events: none;
  z-index: 2;
}
.hero__content {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  min-height: inherit;
  padding: 6rem 0 3rem;
}
@media (min-width: 768px) {
  .hero__content {
    padding: 8rem 0 4rem;
  }
}
.hero__inner {
  max-width: 760px;
  color: #FFFFFF;
  padding: 0 15px;
}
.hero--no-image .hero__inner {
  color: #2A2422;
  margin: 0 auto;
  text-align: center;
}
.hero__eyebrow {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7A2128;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 1.5rem;
}
.hero--no-image .hero__eyebrow {
  color: #7A2128;
}
.hero__baseline {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #7A2128;
  /*line-height: 1.3;*/
  line-height: 1;
  letter-spacing: 0;
  font-size: clamp(3rem, 6vw + 1rem, 5rem);
  color: #F5EFE6;
  margin-bottom: 1rem;
}
.hero--no-image .hero__baseline {
  color: #7A2128;
}
.hero__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: #FFFFFF;
  margin-bottom: 1.5rem;
  max-width: 800px;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.3);
}
.hero--no-image .hero__title {
  color: #2A2422;
  text-shadow: none;
}
.hero__subtitle {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  color: rgba(255, 255, 255, 0.95);
  margin-bottom: 1.5rem;
  max-width: 640px;
}
.hero--no-image .hero__subtitle {
  color: #4A413E;
}
.hero__lead {
  font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.3;
  margin-bottom: 2rem;
  max-width: 640px;
}
.hero--no-image .hero__lead {
  color: #4A413E;
}
.hero__date {
  display: inline-block;
  padding: 0.25rem 1.5rem;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(8px);
  border-radius: 999px;
  font-size: 0.875rem;
  color: #FFFFFF;
  margin-bottom: 1rem;
}
.hero__price {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}
.hero__price-label {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.85);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.hero__price-amount {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  font-weight: 600;
  color: #FFFFFF;
}
.hero__price-unit {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.85);
}
.hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.5rem;
}
.hero--ken-burns .hero__image {
  animation: kenBurns 14s ease-in-out infinite alternate;
}
@media (prefers-reduced-motion: reduce) {
  .hero--ken-burns .hero__image {
    animation: none;
  }
}
.hero--actu, .hero--lieu {
  min-height: 50vh;
}
@media (min-width: 768px) {
  .hero--actu, .hero--lieu {
    min-height: 60vh;
  }
}

@keyframes kenBurns {
  0% {
    transform: scale(1);
    transform-origin: center center;
  }
  100% {
    transform: scale(1.12);
    transform-origin: center 30%;
  }
}
.section {
  padding: 50px 0;
}
@media (min-width: 768px) {
  .section {
    padding: 8rem 0;
  }
}
.section:nth-of-type(even) {
  background: #FAF6EF;
}
.section__inner {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .section__inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.section__inner--image-right, .section__inner--image-left {
  display: grid;
  gap: 3rem;
  align-items: center;
}
@media (min-width: 992px) {
  .section__inner--image-right, .section__inner--image-left {
    grid-template-columns: 1fr 1fr;
    gap: 6rem;
  }
}
@media (min-width: 992px) {
  .section__inner--image-left .section__media {
    order: 1;
  }
  .section__inner--image-left .section__body {
    order: 2;
  }
}
.section__inner--centered {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.section__eyebrow {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: #7A2128;
  display: block;
  margin-bottom: 1rem;
}
.section__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  font-weight: 600;
  line-height: 1.15;
  color: #2A2422;
  margin-bottom: 1.5rem;
}
.section__title em {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-weight: 400;
  color: #7A2128;
  line-height: 1.3;
  letter-spacing: 0;
  font-size: 1em;
}
.section__intro {
  /*font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);*/
  color: #2A2422;
  line-height: 1.3;
  margin-bottom: 2rem;
}
.section__content {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  line-height: 1.6;
  color: #4A413E;
}
/*
.section__media {
  aspect-ratio: 4/3;
}*/

.home .bloc-restaurant .section__media
{
aspect-ratio: auto;
}

@supports not (aspect-ratio: 1/1) {
  .section__media {
    position: relative;
  }
  .section__media::before {
    content: "";
    display: block;
    padding-top: 75%;
  }
  .section__media > * {
    position: absolute;
    inset: 0;
  }
}
.section__media {
  overflow: hidden;
  border-radius: 8px;
  background: #EBE2D2;
}
.section__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.section.bienvenue .section__inner {
  /*max-width: 760px;*/
  margin: 0 auto;
}

.chiffres-cles {
  padding: 4rem 0;
  background: #7A2128;
  color: #FFFFFF;
}
.chiffres-cles__list {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .chiffres-cles__list {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.chiffres-cles__list {
  list-style: none;
  display: grid;
  gap: 2rem;
  margin: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media screen and (min-width: 500px)
{
	.chiffres-cles__list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) {
  .chiffres-cles__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.chiffres-cles__item {
  text-align: center;
}
.chiffres-cles__valeur {
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.5rem, 4vw + 1rem, 4rem);
  font-weight: 700;
  line-height: 1;
  color: #F5EFE6;
  margin-bottom: 0.5rem;
}
.chiffres-cles__libelle {
  display: block;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.85);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.bandeau-originals {
  padding: 4rem 0;
  background: linear-gradient(135deg, #7A2128 0%, #5A181D 100%);
  color: #FFFFFF;
}
.bandeau-originals__inner {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .bandeau-originals__inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.bandeau-originals__inner {
  text-align: center;
}
.bandeau-originals__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  color: #FFFFFF;
  margin-bottom: 1.5rem;
}
.bandeau-originals__content {
  font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  color: rgba(255, 255, 255, 0.95);
  line-height: 1.3;
  margin-bottom: 2rem;
}
.bandeau-originals__content p {
  color: rgba(255, 255, 255, 0.95);
}
.bandeau-originals__cta {
  margin-top: 2rem;
}

.bloc-restaurant__cta,
.bloc-seminaire__cta,
.bloc-decouverte__cta,
.bloc-chambres__cta,
.bloc-services__cta,
.bloc-actualites__cta {
  text-align: center;
  margin-top: 3rem;
}

/*
.single-chambre {
  padding: 4rem 0 6rem;
}*/

.hero--chambre img
{
object-fit: cover;
width: 100%;
height: 100%;
}

.single-chambre__layout {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .single-chambre__layout {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.single-chambre__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
@media (min-width: 992px) {
  .single-chambre__layout {
    grid-template-columns: 1fr 360px;
    gap: 6rem;
  }
}
.single-chambre__main {
  min-width: 0;
}
.single-chambre__section {
  margin-bottom: 4rem;
}
.single-chambre__section:last-child {
  margin-bottom: 0;
}
.single-chambre__section-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  color: #2A2422;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .single-chambre__sidebar {
    position: sticky;
    top: 112px;
    align-self: start;
  }
}
.single-chambre__galerie {
  margin-top: 4rem;
}

.reservation-panel {
  background: #FFFFFF;
  border: 1px solid #EBE2D2;
  border-radius: 8px;
  padding: 2rem;
  box-shadow: 0 2px 8px rgba(42, 36, 34, 0.06);
}
.reservation-panel__price {
  margin: 0 0 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #EBE2D2;
}
.reservation-panel__price-label {
  display: block;
  font-size: 0.75rem;
  color: #8A8278;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}
.reservation-panel__price-amount {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  font-weight: 600;
  color: #7A2128;
  line-height: 1;
}
.reservation-panel__price-unit {
  font-size: 0.875rem;
  color: #8A8278;
}
.reservation-panel__specs {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
}
.reservation-panel__specs li {
  display: flex;
  justify-content: space-between;
  padding: 0.5rem 0;
  border-bottom: 1px solid #EBE2D2;
  font-size: 0.875rem;
}
.reservation-panel__specs li:last-child {
  border-bottom: none;
}
.reservation-panel__spec-label {
  color: #8A8278;
}
.reservation-panel__spec-value {
  font-weight: 500;
  color: #2A2422;
}
.reservation-panel__actions {
  margin-bottom: 1rem;
}
.reservation-panel__actions .btn {
  width: 100%;
  display: flex;
}
.reservation-panel__note {
  font-size: 0.75rem;
  color: #8A8278;
  text-align: center;
  margin: 0;
  line-height: 1.3;
}

.equipements-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.equipements-grid__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  background: #FAF6EF;
  border-radius: 4px;
  font-size: 0.875rem;
  color: #4A413E;
}
.equipements-grid__icon {
  flex-shrink: 0;
  color: #7A2128;
  font-weight: 700;
}
.equipements-grid__label {
  flex: 1;
}

.equipements-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.equipements-list__item {
  padding: 1.5rem;
  background: #FAF6EF;
  border-radius: 4px;
  border-left: 3px solid #D4B896;
}
.equipements-list__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #2A2422;
  margin-bottom: 0.5rem;
}
.equipements-list__description {
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
  margin: 0;
}

.galerie-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}
@media (min-width: 576px) {
  .galerie-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 768px) {
  .galerie-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.galerie-grid__item {
  display: block;
  aspect-ratio: 1/1;
}
@supports not (aspect-ratio: 1/1) {
  .galerie-grid__item {
    position: relative;
  }
  .galerie-grid__item::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  .galerie-grid__item > * {
    position: absolute;
    inset: 0;
  }
}
.galerie-grid__item {
  overflow: hidden;
  border-radius: 4px;
  background: #EBE2D2;
  cursor: pointer;
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.galerie-grid__item:hover {
  transform: scale(1.02);
}
.galerie-grid__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);
}
.galerie-grid__item:hover img {
  transform: scale(1.08);
}

.specialites-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

@media screen and (min-width: 1280px)
{
	.specialites-grid {
	grid-template-columns: repeat(3,1fr);
	}
}

.specialite-card {
  background: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(42, 36, 34, 0.06);
  transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.specialite-card:hover {
  box-shadow: 0 12px 28px rgba(42, 36, 34, 0.15);
  transform: translateY(-4px);
}
.specialite-card__media {
  aspect-ratio: 4/3;
}
@supports not (aspect-ratio: 1/1) {
  .specialite-card__media {
    position: relative;
  }
  .specialite-card__media::before {
    content: "";
    display: block;
    padding-top: 75%;
  }
  .specialite-card__media > * {
    position: absolute;
    inset: 0;
  }
}
.specialite-card__media {
  overflow: hidden;
  background: #EBE2D2;
}
.specialite-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.specialite-card:hover .specialite-card__image {
  transform: scale(1.05);
}
.specialite-card__body {
  padding: 1.5rem;
}
.specialite-card__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  font-weight: 500;
  color: #2A2422;
  margin: 0 0 0.5rem;
}
.specialite-card__description {
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
  margin: 0;
}

.horaires-table {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  border-collapse: collapse;
}

.horaires-table tr
{
border-bottom: 1px solid #EBE2D2;
}

@media screen and (max-width: 575px)
{
	.horaires-table tr
	{
	display: flex;
	flex-direction: column;
	margin-bottom: 12px;
	}
	
	.horaires-table tr th,
	.horaires-table tr td
	{
	padding-top: 1px;
    padding-bottom: 17px;
	}
}

.horaires-table tr:last-child {
  border-bottom: none;
}
.horaires-table th, .horaires-table td {
  padding: 1rem 1.5rem;
  text-align: left;
  font-size: 1rem;
}
.horaires-table th {
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 500;
  color: #2A2422;
}

@media screen and (min-width: 576px)
{
	.horaires-table th {
	width: 30%;
	}
}

.horaires-table__time {
  font-weight: 500;
  color: #7A2128;
  white-space: nowrap;
}
.horaires-table__details {
  color: #8A8278;
  font-size: 0.875rem;
}

.menus-pdf-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  max-width: 600px;
  margin: 0 auto;
}
.menus-pdf-list__item {
  margin: 0;
}
.menus-pdf-list__link {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.5rem;
  background: #FFFFFF;
  border: 1px solid #EBE2D2;
  border-radius: 4px;
  text-decoration: none;
  transition: border-color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.menus-pdf-list__link:hover {
  border-color: #7A2128;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(42, 36, 34, 0.08);
  text-decoration: none;
}
.menus-pdf-list__icon {
  flex-shrink: 0;
  font-size: 1.5em;
}
.menus-pdf-list__label {
  flex: 1;
  font-weight: 500;
  color: #2A2422;
}
.menus-pdf-list__type {
  flex-shrink: 0;
  padding: 2px 10px;
  background: #7A2128;
  color: #FFFFFF;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 2px;
  letter-spacing: 0.05em;
}

.resa-tel {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .resa-tel {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.resa-tel {
  text-align: center;
  padding: 3rem;
  background: #FAF6EF;
  border-radius: 8px;
  margin: 0 auto;
}
.resa-tel__label {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  color: #2A2422;
  margin: 0 0 1.5rem;
}
.resa-tel__phone {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 23px;
  padding: 15px 15px;
}

@media screen and (min-width: 576px)
{
	.resa-tel__phone {
	font-size: clamp(2rem, 3vw + 1rem, 3rem) !important;
	padding: 1.5rem 3rem !important;
	}
}

.configurations-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

@media screen and (min-width: 936px) and (max-width: 1255px)
{
	.configurations-grid
	{
	grid-template-columns: repeat(2,1fr);
	}
}

.configuration-card {
  background: #FFFFFF;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(42, 36, 34, 0.06);
  transition: box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.configuration-card__media {
  aspect-ratio: 4/3;
}
@supports not (aspect-ratio: 1/1) {
  .configuration-card__media {
    position: relative;
  }
  .configuration-card__media::before {
    content: "";
    display: block;
    padding-top: 75%;
  }
  .configuration-card__media > * {
    position: absolute;
    inset: 0;
  }
}
.configuration-card__media {
  background: #FAF6EF;
  padding: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.configuration-card__media img {
  max-width: 80%;
  max-height: 80%;
  width: auto;
  height: auto;
}
.configuration-card__body {
  padding: 1.5rem;
}
.configuration-card__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #2A2422;
  margin: 0 0 0.5rem;
}
.configuration-card__capacity {
  font-size: 0.875rem;
  color: #7A2128;
  margin: 0 0 0.5rem;
}
.configuration-card__capacity strong {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  font-weight: 700;
}
.configuration-card__description {
  font-size: 0.875rem;
  color: #4A413E;
  margin: 0;
}

.forfaits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
}

@media screen and (min-width: 592px) and (max-width: 875px)
{
		.forfaits-grid {
	 grid-template-columns: repeat(1, 1fr);
		}
}

.forfait-card {
  background: #FFFFFF;
  border: 1px solid #EBE2D2;
  border-radius: 8px;
  padding: 2rem;
  transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
}
.forfait-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(42, 36, 34, 0.15);
  border-color: #7A2128;
  cursor: pointer;
}
.forfait-card__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  color: #2A2422;
  margin: 0 0 1rem;
}
.forfait-card__price {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  font-weight: 600;
  color: #7A2128;
  margin: 0 0 1.5rem;
}
.forfait-card__inclus {
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
  flex-grow: 1;
}
.forfait-card__inclus ul {
  padding-left: 1.5rem;
}
.forfait-card__inclus li {
  list-style: disc;
  margin-bottom: 0.25rem;
}
.forfait-card__inclus li::marker {
  color: #D4B896;
}

.cta-devis {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .cta-devis {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.cta-devis {
  text-align: center;
  padding: 4rem 3rem;
  background: #7A2128;
  color: #FFFFFF;
  border-radius: 8px;
}
.cta-devis__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  color: #FFFFFF;
  margin: 0 0 1rem;
}
.cta-devis__subtitle {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  margin: 0 0 2rem;
}
.cta-devis__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.services-grid__icon-img {
  display: block;
  width: 40px;
  height: 40px;
  object-fit: contain;
}

@media screen and (min-width: 1176px)
{
	.services-grid {
	grid-template-columns: repeat(3, 1fr);
	}
}

.services-grid__item {
  display: flex;
  gap: 1.5rem;
  padding: 1.5rem;
  background: #FAF6EF;
  border-radius: 4px;
}
.services-grid__icon {
  flex-shrink: 0;
  font-size: 2em;
  line-height: 1;
}
.services-grid__body {
  flex: 1;
}
.services-grid__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #2A2422;
  margin: 0 0 0.5rem;
}
.services-grid__description {
  font-size: 0.875rem;
  color: #4A413E;
  margin: 0;
}

.services-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

@media screen and (max-width: 1499px)
{
	.section-services-payants .services-list	{
	grid-template-columns: repeat(1, 1fr);
	max-width: 500px;
    margin: 0 auto;
	}
}

@media screen and (min-width: 936px) and (max-width: 1255px)
{
	.section-proximite .services-list	{
	grid-template-columns: repeat(2, 1fr);
	}
}

.services-list__item {
  padding: 1.5rem;
  background: #FFFFFF;
  border: 1px solid #EBE2D2;
  border-radius: 4px;
}



.services-list__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #2A2422;
  margin: 0 0 0.5rem;
}
.services-list__prix, .services-list__distance {
  font-size: 0.875rem;
  color: #7A2128;
  font-weight: 500;
  margin: 0 0 0.5rem;
}
.services-list__description {
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
  margin: 0;
}

.contact-coords {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
@media (min-width: 992px) {
  .contact-coords {
    grid-template-columns: 1fr 1.2fr;
    gap: 6rem;
  }
}
.contact-coords__col {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.contact-coords__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  color: #2A2422;
  margin: 0;
}
.contact-coords__bloc h3 {
  font-family: "Manrope", system-ui, -apple-system, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #8A8278;
  margin: 0 0 0.5rem;
}
.contact-coords__bloc address, .contact-coords__bloc p {
  color: #2A2422;
  line-height: 1.6;
  margin: 0;
  font-style: normal;
}
.contact-coords__bloc a {
  color: #2A2422;
  font-weight: 500;
}
.contact-coords__bloc a:hover {
  color: #7A2128;
}

.acces-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}

@media screen and (min-width: 936px) and (max-width: 1255px)
{
	.acces-grid {
	grid-template-columns: repeat(2, 1fr);
	}
}

.acces-card {
  display: flex;
  gap: 1.5rem;
  padding: 2rem;
  background: #FAF6EF;
  border-radius: 8px;
}
.acces-card__icon {
  flex-shrink: 0;
  font-size: 2.5em;
  line-height: 1;
}
.acces-card__body {
  flex: 1;
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
}

.map-placeholder {
  background: #EBE2D2;
  border-radius: 8px;
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
}
.map-placeholder__notice {
  text-align: center;
  color: #4A413E;
  font-size: 0.875rem;
  max-width: 400px;
  padding: 1.5rem;
}

.single-lieu {
  padding: 4rem 0 6rem;
}
.single-lieu__layout {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .single-lieu__layout {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.single-lieu__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
}
@media (min-width: 992px) {
  .single-lieu__layout {
    grid-template-columns: 1fr 320px;
    gap: 6rem;
  }
}
.single-lieu__main {
  min-width: 0;
}
.single-lieu__section {
  margin-bottom: 3rem;
}
.single-lieu__section-title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem);
  color: #2A2422;
  margin-bottom: 1.5rem;
}
.single-lieu__galerie {
  margin-top: 4rem;
}
@media (min-width: 992px) {
  .single-lieu__sidebar {
    position: sticky;
    top: 112px;
    align-self: start;
  }
}

.lieu-infos {
  background: #FFFFFF;
  border: 1px solid #EBE2D2;
  border-radius: 8px;
  padding: 2rem;
  margin-bottom: 1.5rem;
}
.lieu-infos__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  margin: 0 0 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #EBE2D2;
}
.lieu-infos__list {
  list-style: none;
  margin: 0 0 1.5rem;
  padding: 0;
}
.lieu-infos__list li {
  padding: 0.25rem 0;
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
}
.lieu-infos__list li strong {
  color: #2A2422;
}
.lieu-infos__link {
  width: 100%;
  display: flex;
}

.lieu-cta {
  background: #7A2128;
  color: #FFFFFF;
  padding: 2rem;
  border-radius: 8px;
  text-align: center;
}
.lieu-cta h3 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: 1.125rem;
  font-weight: 500;
  color: #FFFFFF;
  margin: 0 0 1.5rem;
}
.lieu-cta .btn {
  background: #FFFFFF;
  color: #7A2128;
  border-color: #FFFFFF;
}
.lieu-cta .btn:hover {
  background: #F5EFE6;
}

.transport-infos {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .transport-infos {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.transport-infos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  padding: 2rem;
  background: #FAF6EF;
  border-radius: 8px;
}
@media (min-width: 768px) {
  .transport-infos {
    grid-template-columns: repeat(4, 1fr);
    padding: 3rem;
  }
}
.transport-infos__item {
  text-align: center;
}
.transport-infos__label {
  display: block;
  font-size: 0.75rem;
  color: #8A8278;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}
.transport-infos__value {
  display: block;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  font-weight: 600;
  color: #7A2128;
}

.error-404 {
  padding: 8rem 0;
}
.error-404__inner {
  width: 100%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 992px) {
  .error-404__inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.error-404__inner {
  text-align: center;
}
.error-404__code {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(6rem, 15vw, 12rem);
  font-weight: 700;
  color: #7A2128;
  line-height: 1;
  margin: 0 0 1.5rem;
  opacity: 0.2;
}
.error-404__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2rem, 3vw + 1rem, 3rem);
  margin: 0 0 1.5rem;
}
.error-404__message {
  font-size: clamp(1.125rem, 0.5vw + 1rem, 1.375rem);
  color: #4A413E;
  margin-bottom: 3rem;
}
.error-404__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 6rem;
}
.error-404__search {
  max-width: 480px;
  margin: 0 auto;
}
.error-404__search h2 {
  font-size: 1.125rem;
  margin-bottom: 1.5rem;
}

.search-results {
  padding: 4rem 0;
}
.search-results .container-fluid {
  max-width: 720px;
}
.search-results__form {
  margin-bottom: 3rem;
}
.search-results__count {
  font-size: 0.875rem;
  color: #8A8278;
  margin-bottom: 1.5rem;
  text-align: center;
}
.search-results__list {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.search-results__empty {
  text-align: center;
  padding: 3rem 0;
  color: #4A413E;
}

.search-result {
  padding: 1.5rem;
  background: #FAF6EF;
  border-radius: 4px;
}
.search-result__title {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(1.25rem, 1vw + 1rem, 1.5rem);
  font-weight: 500;
  margin: 0 0 0.25rem;
}
.search-result__title a {
  color: #2A2422;
}
.search-result__title a:hover {
  color: #7A2128;
}
.search-result__type {
  font-size: 0.75rem;
  color: #7A2128;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 0.5rem;
}
.search-result__excerpt {
  font-size: 0.875rem;
  color: #4A413E;
  line-height: 1.6;
  margin: 0 0 1rem;
}
.search-result__link {
  font-size: 0.875rem;
  font-weight: 500;
}

.archive-actualite {
  padding: 4rem 0;
}
.archive-actualite__filtres {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 3rem;
}
.archive-actualite__filtre {
  padding: 0.5rem 1.5rem;
  background: transparent;
  border: 1px solid #D9D3C9;
  border-radius: 999px;
  font-size: 0.875rem;
  color: #4A413E;
  text-decoration: none;
  transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.archive-actualite__filtre:hover {
  border-color: #7A2128;
  color: #7A2128;
  text-decoration: none;
}
.archive-actualite__filtre.is-active {
  background: #7A2128;
  border-color: #7A2128;
  color: #FFFFFF;
}
.archive-actualite__empty {
  text-align: center;
  padding: 3rem 0;
  color: #4A413E;
}

[data-fade-in-up] {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1) 0s, transform 400ms cubic-bezier(0.4, 0, 0.2, 1) 0s;
}
[data-fade-in-up].is-visible {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  [data-fade-in-up] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

[data-fade-in-up][data-delay="1"] {
  transition-delay: 100ms;
}

[data-fade-in-up][data-delay="2"] {
  transition-delay: 200ms;
}

[data-fade-in-up][data-delay="3"] {
  transition-delay: 300ms;
}

[data-fade-in-up][data-delay="4"] {
  transition-delay: 400ms;
}

body {
  opacity: 0;
  transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
body.is-loaded {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  body {
    opacity: 1;
    transition: none;
  }
}

.hero--with-image .hero__image {
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .card-chambre:hover,
  .lieu-card:hover,
  .actu-card:hover,
  .specialite-card:hover,
  .forfait-card:hover,
  .menus-pdf-list__link:hover {
    transform: none !important;
  }
  .card-chambre img,
  .lieu-card img,
  .actu-card img,
  .specialite-card img,
  .forfait-card img,
  .menus-pdf-list__link img {
    transform: none !important;
  }
}
.loading-spinner {
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 3px solid #EBE2D2;
  border-top-color: #7A2128;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .loading-spinner {
    animation: none;
    border-top-color: #EBE2D2;
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/*
.lightbox-overlay {
  position: fixed;
  inset: 0;
  z-index: 400;
  background: rgba(0, 0, 0, 0.92);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  cursor: zoom-out;
}
.lightbox-overlay.is-open {
  display: flex;
  animation: fadeIn 250ms ease-out;
}
.lightbox-overlay img {
  max-width: 95vw;
  max-height: 90vh;
  object-fit: contain;
  cursor: default;
}
.lightbox-overlay__close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  color: #FFFFFF;
  cursor: pointer;
  font-size: 1.5em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox-overlay__close:hover {
  background: rgba(255, 255, 255, 0.2);
}
@media (prefers-reduced-motion: reduce) {
  .lightbox-overlay.is-open {
    animation: none;
  }
}*/

/* ===== LIGHTBOX — classes alignées sur le JS de main.js ===== */
.lightbox {
  position: fixed;
  inset: 0;
  z-index: 400;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(0, 0, 0, 0.92);
  cursor: zoom-out;
  animation: fadeIn 250ms ease-out; /* fadeIn existe déjà dans main.css */
}
.lightbox[hidden] { display: none; }

.lightbox__content {
  max-width: 95vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  cursor: default;
}
.lightbox__image {
  max-width: 95vw;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 4px;
}
.lightbox__caption {
  color: #fff;
  font-size: 0.875rem;
  text-align: center;
  margin: 0;
  max-width: 60ch;
}
.lightbox__caption[hidden] { display: none; }

.lightbox__counter {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  margin: 0;
}

.lightbox__close,
.lightbox__nav {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  transition: background 150ms cubic-bezier(0.4, 0, 0.2, 1);
}
.lightbox__close:hover,
.lightbox__nav:hover { background: rgba(255, 255, 255, 0.2); }

.lightbox__close { top: 1.5rem; right: 1.5rem; }
.lightbox__nav--prev { left: 1.5rem; top: 50%; transform: translateY(-50%); }
.lightbox__nav--next { right: 1.5rem; top: 50%; transform: translateY(-50%); }

@media (prefers-reduced-motion: reduce) {
  .lightbox { animation: none; }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.site-header__menu.is-open {
  animation: slideInDown 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
@media (prefers-reduced-motion: reduce) {
  .site-header__menu.is-open {
    animation: none;
  }
}

.scroll-indicator {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  color: #FFFFFF;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  text-align: center;
  animation: bounce 2s ease-in-out infinite;
}
.scroll-indicator::after {
  content: "";
  display: block;
  width: 1px;
  height: 32px;
  background: #FFFFFF;
  margin: 0.5rem auto 0;
  opacity: 0.6;
}
@media (prefers-reduced-motion: reduce) {
  .scroll-indicator {
    animation: none;
  }
}

@keyframes bounce {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-8px);
  }
}
.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-flex {
  display: flex !important;
}

.d-grid {
  display: grid !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

@media (max-width: 575px) {
  .hidden-mobile {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .hidden-desktop {
    display: none !important;
  }
}
.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-bordeaux {
  color: #7A2128 !important;
}

.text-ink {
  color: #2A2422 !important;
}

.text-grey {
  color: #8A8278 !important;
}

.text-white {
  color: #FFFFFF !important;
}

.bg-cream {
  background: #F5EFE6 !important;
}

.bg-cream-light {
  background: #FAF6EF !important;
}

.bg-bordeaux {
  background: #7A2128 !important;
}

.bg-white {
  background: #FFFFFF !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.mt-xs {
  margin-top: 0.5rem !important;
}

.mb-xs {
  margin-bottom: 0.5rem !important;
}

.my-xs {
  margin-top: 0.5rem !important;
  margin-bottom: 0.5rem !important;
}

.pt-xs {
  padding-top: 0.5rem !important;
}

.pb-xs {
  padding-bottom: 0.5rem !important;
}

.py-xs {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}

.mt-sm {
  margin-top: 1rem !important;
}

.mb-sm {
  margin-bottom: 1rem !important;
}

.my-sm {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important;
}

.pt-sm {
  padding-top: 1rem !important;
}

.pb-sm {
  padding-bottom: 1rem !important;
}

.py-sm {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

.mt-md {
  margin-top: 1.5rem !important;
}

.mb-md {
  margin-bottom: 1.5rem !important;
}

.my-md {
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.pt-md {
  padding-top: 1.5rem !important;
}

.pb-md {
  padding-bottom: 1.5rem !important;
}

.py-md {
  padding-top: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.mt-lg {
  margin-top: 2rem !important;
}

.mb-lg {
  margin-bottom: 2rem !important;
}

.my-lg {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.pt-lg {
  padding-top: 2rem !important;
}

.pb-lg {
  padding-bottom: 2rem !important;
}

.py-lg {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.mt-xl {
  margin-top: 3rem !important;
}

.mb-xl {
  margin-bottom: 3rem !important;
}

.my-xl {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important;
}

.pt-xl {
  padding-top: 3rem !important;
}

.pb-xl {
  padding-bottom: 3rem !important;
}

.py-xl {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.mt-xxl {
  margin-top: 4rem !important;
}

.mb-xxl {
  margin-bottom: 4rem !important;
}

.my-xxl {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.pt-xxl {
  padding-top: 4rem !important;
}

.pb-xxl {
  padding-bottom: 4rem !important;
}

.py-xxl {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.w-100 {
  width: 100% !important;
}

.w-auto {
  width: auto !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1rem;
  margin-right: -1rem;
}

.col {
  flex: 1 0 0%;
  padding-left: 1rem;
  padding-right: 1rem;
}

/*
.services-grid__icon[data-icon=wifi]::before {
  content: "📶";
}

.services-grid__icon[data-icon=parking]::before {
  content: "🅿️";
}

.services-grid__icon[data-icon=climatisation]::before {
  content: "❄️";
}*/

.img-rounded {
  border-radius: 8px !important;
}

.img-cover {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.img-contain {
  object-fit: contain !important;
}


/*
-------------
CUSTOM
-------------
*/

/*
Page de liste
*/

.page_liste_actus
{
margin-bottom: 50px;
}

.home .autres_actus
{
padding: 50px 0;
}

.liste_actus .intro
{
margin-bottom: 40px;
}

.liste_actus .intro,
.liste_actus .intro p
{
text-align: center;
}

.liste_actu .intro .title
{
font-size: 20px;
}

.liste_actus .column
{
margin-bottom: 40px;
cursor: pointer;
}

@media screen and (min-width: 768px)
{
	.liste_actus > .row,
	.home .liste_actus_accueil
	{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	}
}

@media screen and (max-width: 992px)
{
	.liste_actus > .row,
	.home .liste_actus_accueil
	{
	max-width: 416px;
	margin: 0 auto;
	}
}

@media screen and (max-width: 991px)
{
	.liste_actus .column
	{
	text-align: center;
	}
}

@media screen and (min-width: 768px) and (max-width: 991px)
{
	.liste_actus .column:nth-child(odd)
	{
	clear: both;
	}
}

@media screen and (min-width: 992px)
{
	.liste_actus .column:nth-child(3n+1)
	{
	clear: both;
	}
}

@media screen and (min-width: 768px)
{
	.liste_actus .actu_wrapper
	{
	display: flex;
	flex-direction: column;
	height: 100%;
	}
}

.liste_actus .column img
{
margin: 0 auto;
}

.liste_actus .column .title
{
font-size: 18px;
font-weight: normal;
margin-top: 15px;
}

.liste_actus .column .date
{
margin-bottom: 10px;
}

.liste_actus .column .txt
{
margin-bottom: 20px;	
}

@media screen and (min-width: 768px)
{
	.liste_actus .column .txt
	{
	flex-grow: 1;
	}
}

.liste_actus .column .txt p
{
margin-bottom: 0;	
}


/*
Page séminaire
*/


@media screen and (max-width: 991px)
{
	.section_restauration_wrapper .section__inner--image-left
	{
	display: block;
	}
}

.section_restauration_wrapper .section__body
{
padding-top: 30px;
}

/*
Page services
*/

.section-services-payants h2
{
text-align: center;
}


.services_payants_wrapper
{
max-width: 800px;
margin: 0 auto;
}


@media screen and (min-width: 1500px)
{
	.services_payants_wrapper
	{
	max-width: 1502px;
	}
}



/* ============================================================
   HÔTEL DE L'ANGE — CSS additionnel global (v3 — propre)
   ============================================================ */

/* --- LOGO HEADER --- */
.site-header__brand,
.custom-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
}
.site-header__logo,
.custom-logo {
    display: block;
    height: auto;
    max-height: 80px;
    width: auto;
    max-width: 280px;
    object-fit: contain;
}
.site-header.is-sticky .site-header__logo,
.site-header.is-sticky .custom-logo {
    max-height: 56px;
    transition: max-height 0.25s ease;
}

/* --- MENU HEADER --- */
.site-header__menu,
#primary-menu {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 1.5rem;
}
.site-header__menu li,
#primary-menu li,
.site-header__menu a,
#primary-menu a {
    white-space: nowrap;
}
.site-header__menu a,
#primary-menu a {
    text-decoration: none;
    display: inline-block;
}

/* --- LOGO FOOTER --- */
.site-footer__logo {
    display: block;
    height: auto;
    max-height: 90px;
    width: auto;
    max-width: 260px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}
.site-footer__logo-link {
    display: inline-block;
    line-height: 0;
}
.site-footer__logo-text {
    display: inline-block;
    color: #fff;
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

/* --- ACCUEIL : alternance de fonds + paddings calibrés --- */



.bloc-services {
    background-color: #fdf8f2;
    padding-top: 4rem !important;
    padding-bottom: 3rem !important;
}

.bloc-services__content
{
max-width: 800px;
margin: 0 auto;
text-align: center;
}

.bloc-chambres {
    background-color: #f5ede0;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}
.bloc-restaurant {
    background-color: #fdf8f2;
    padding-top: 1rem !important;
    padding-bottom: 60px !important;
}
.bloc-seminaire {
    background-color: #f5ede0;
    padding-top: 1rem !important;
    padding-bottom: 60px;
}
.bloc-decouverte {
    background-color: #fdf8f2;
    padding-top: 1rem !important;
    padding-bottom: 60px;
}
.bloc-actualites {
    background-color: #f5ede0;
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

/* --- CTAs accueil : respiration entre contenu et bouton --- */
.bloc-chambres__cta,
.bloc-restaurant__cta,
.bloc-seminaire__cta,
.bloc-decouverte__cta,
.bloc-actualites__cta,
.bloc-services__cta {
    margin-top: 1.5rem !important;
    margin-bottom: 0 !important;
    text-align: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


.bloc-decouverte__cta
{
margin-top: 50px!important;
}

.bloc-seminaire__cta
{
margin-top: 0!important;
}

/* --- KEY FIX : réduire le padding 8rem des sections internes --- */
@media (min-width: 768px) {
    .bloc-restaurant > .section,
    .bloc-seminaire > .section,
    .bloc-decouverte > .section,
    .bloc-restaurant section.section,
    .bloc-seminaire section.section,
    .bloc-decouverte section.section {
        padding-top: 2rem !important;
        padding-bottom: 1rem !important;
    }
}

/* --- GRILLE DES SERVICES ESSENTIELS (icônes SVG) --- */
.services-essentiels-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 2rem 1.5rem;
    max-width: 1100px;
    margin: 2.5rem auto 0;
    padding: 0;
    list-style: none;
}
.services-essentiels-grid__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.75rem;
}
.services-essentiels-grid__icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7A2128;
    flex-shrink: 0;
}
.services-essentiels-grid__icon svg {
    width: 100%;
    height: 100%;
}
.services-essentiels-grid__label {
    font-family: 'Manrope', sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    color: #2a2a2a;
    line-height: 1.3;
}

/* --- RESPONSIVE TABLET --- */
@media (max-width: 1280px) {
    .site-header__menu,
    #primary-menu {
        gap: 1rem;
    }
}

@media (max-width: 991px) {
    .site-header__logo,
    .custom-logo {
        max-height: 52px;
        max-width: 180px;
    }
    }

/* --- RESPONSIVE MOBILE --- */
@media (max-width: 768px) {

    .site-footer__logo {
        max-height: 70px;
        max-width: 200px;
    }
    .bloc-services,
    .bloc-chambres,
    .bloc-restaurant,
    .bloc-seminaire,
    .bloc-decouverte,
    .bloc-actualites {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }
    .bloc-chambres__cta,
    .bloc-restaurant__cta,
    .bloc-seminaire__cta,
    .bloc-decouverte__cta,
    .bloc-actualites__cta,
    .bloc-services__cta {
        margin-top: 1rem !important;
    }
}

@media (max-width: 480px) {
    .services-essentiels-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem 1rem;
    }
    .services-essentiels-grid__icon {
        width: 40px;
        height: 40px;
    }
    .services-essentiels-grid__label {
        font-size: 0.85rem;
    }
}

/* ============================================================
   PAGE RESTAURANT — Section "Consulter nos cartes" (PDF)
   ============================================================ */

/* Réduit le padding excessif de la section sur desktop */
@media (min-width: 768px) {
    .section-menus-pdf {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
}

/* Conteneur grille des PDFs */
.menus-pdf-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    max-width: 1100px;
    margin: 2.5rem auto 0;
    padding: 0;
    list-style: none;
}

.menus-pdf-list__item {
    margin: 0;
    padding: 0;
    list-style: none;
}

.menus-pdf-list__link {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    background-color: #fff;
    border: 1px solid #e8dfd0;
    border-radius: 8px;
    text-decoration: none;
    color: #2a2a2a;
    transition: all 0.25s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.menus-pdf-list__link:hover,
.menus-pdf-list__link:focus {
    border-color: #7A2128;
    box-shadow: 0 4px 12px rgba(122, 33, 40, 0.12);
    transform: translateY(-2px);
}

/* Icône PDF — bloc rouge bordeaux avec texte "PDF" */
.menus-pdf-list__icon {
    flex-shrink: 0;
    width: 48px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #7A2128;
    color: #fff;
    border-radius: 4px;
    font-family: 'Manrope', sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    position: relative;
    /* Masque l'emoji 📄 original */
    overflow: hidden;
    text-indent: -9999px;
}

.menus-pdf-list__icon::before {
    content: "PDF";
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-indent: 0;
}

/* Coin replié en haut à droite (effet feuille pliée) */
.menus-pdf-list__icon::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 12px;
    height: 12px;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 100%, 100% 0);
}

/* Nom du document */
.menus-pdf-list__label {
    flex: 1;
    font-family: 'Manrope', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #2a2a2a;
    line-height: 1.3;
}

/* Tag "PDF" à droite : on peut le masquer puisque l'icône l'indique déjà */
.menus-pdf-list__type {
    display: none;
}

/* Responsive mobile */
@media (max-width: 480px) {
    .menus-pdf-list__link {
        padding: 1rem 1rem;
        gap: 0.75rem;
    }
    .menus-pdf-list__icon {
        width: 42px;
        height: 50px;
        font-size: 0.65rem;
    }
    .menus-pdf-list__label {
        font-size: 0.9rem;
    }
}

/* ============================================================
   LAYOUTS image-left / image-right pour le template-part section
   ============================================================ */

/* Layout horizontal commun */
@media (min-width: 768px) {
    .section__inner--image-left,
    .section__inner--image-right {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        align-items: center;
    }

    /* image-left : image en colonne 1, texte en colonne 2 (ordre naturel) */
    .section__inner--image-left .section__media {
        order: 1;
    }
    .section__inner--image-left .section__body {
        order: 2;
    }

    /* image-right : on inverse — texte en colonne 1, image en colonne 2 */
    .section__inner--image-right .section__media {
        order: 2;
    }
    .section__inner--image-right .section__body {
        order: 1;
    }
}

/* Image qui remplit bien sa colonne */
.section__inner--image-left .section__image,
.section__inner--image-right .section__image {
    width: 100%;
    height: auto;
    border-radius: 4px;
}

/* Sur mobile : image au-dessus du texte dans les 2 cas */
@media (max-width: 767px) {
    .section__inner--image-left,
    .section__inner--image-right {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }
    .section__inner--image-left .section__media,
    .section__inner--image-right .section__media {
        margin-bottom: 1rem;
    }
}


/*
Bande bar
*/

.section-bar
{
background-image: url(../images/bg_bar.webp)!important;
background-size: cover!important;
background-position: center center!important;

}

.section-bar .section__title,
.section-bar p,
.section-bar strong
{
color: #fff!important;	
}


/*
Page chambres
*/

.page-template-page-chambres .section__body
{
display: flex;
flex-direction: column;
justify-content: center;
}

/* ============================================================
   PAGE SÉMINAIRE — Grille équipements en 4 colonnes / 2 lignes centrée
   ============================================================ */
.equipements-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem 2rem;
    max-width: 1100px;
    margin: 2rem auto 0;
    padding: 0;
    list-style: none;
}

.equipements-grid__item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0;
    padding: 5px 16px;
    list-style: none;
    text-align: left;
    min-height: 2.5rem;
}

.section-equipements-seminaire .section__title
{
text-align: center;
}

.equipements-grid__icon {
    flex-shrink: 0;
    color: #7A2128;
    font-weight: 700;
    font-size: 1.1rem;
}

.equipements-grid__label {
    font-family: 'Manrope', sans-serif;
    font-size: 0.95rem;
    color: #2a2a2a;
    line-height: 1.3;
}

/* Tablette : 3 colonnes */
@media (max-width: 1024px) {
    .equipements-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Mobile : 2 colonnes */
@media (max-width: 640px) {
    .equipements-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }
    .equipements-grid__label {
        font-size: 0.85rem;
    }
}

/* ============================================================
   Image dans les layouts image-left / image-right : pleine hauteur
   ============================================================ */
@media (min-width: 768px) {
    .section__inner--image-left,
    .section__inner--image-right {
        align-items: stretch;  /* au lieu de center : l'image prend la hauteur du texte */
    }

    .section__inner--image-left .section__media,
    .section__inner--image-right .section__media {
        height: 100%;
        overflow: hidden;
    }

    .section__inner--image-left .section__image,
    .section__inner--image-right .section__image {
        width: 100%;
        height: 100%;
        object-fit: cover;       /* l'image remplit son conteneur sans déformation */
        object-position: center; /* centrée */
        display: block;
    }
}



.page_decouvrir_cta_bouton_wrapper
{
margin-top: 30px;
}


@media screen and (max-width: 767px)
{
	.bloc-restaurant > .section,
	.bloc-seminaire > .section,
	.bloc-decouverte > .section
	{
	padding: 30px 0 0 0;
	}
}


.section-horaires .section__title
{
text-align: center;
}


.section-resa-tel.section
{
padding: 0;
}

@media screen and (min-width: 768px)
{
	.section-forfaits
	{
	padding-bottom: 0;
	}
}


.col-12,
.col-md-6
{
width: 100%;
}

@media screen and (min-width: 576px)
{
	.col-md-6
	{
	width: 50%;
	}
}

.col-12,
.col-md-6
{
padding: 0 15px;
}

.ne_pas_remplir
{
display: none;
}

.formfield_wrapper textarea
{
height: 140px;
}


.section-carte.section
{
padding-bottom: 0;	
}

.responsive_map {
overflow:hidden;
height: 600px!important;
position:relative;
height:0;
}
.responsive_map iframe {
left:0;
top:0;
height: 600px!important;
width:100%!important;
position:absolute;
border: 0;
}

/*message quand les cookies ne sont pas autorisés*/

.tac_float
{
padding: 15px
}

.tac_float button
{
display: block!important;
margin: 15px auto 0 auto;
}

.tac_activate,
.geoportail
{
height: 600px!important;
}


/* Grille actualités : reprend les paliers Bootstrap d'origine
   (col-12 / col-sm-6 / col-lg-4) avec largeurs fixes par ligne. */
.archive-actualite__grid--bootstrap {
    display: grid;
    grid-template-columns: 1fr;        /* mobile : 1 colonne (col-12) */
    gap: 2rem;
}
@media (min-width: 576px) {
    .archive-actualite__grid--bootstrap {
        grid-template-columns: repeat(2, 1fr);  /* col-sm-6 */
    }
}
@media (min-width: 992px) {
    .archive-actualite__grid--bootstrap {
        grid-template-columns: repeat(3, 1fr);  /* col-lg-4 */
    }
}

/*
.section.section-autres-chambres
{
padding-top: 0;
}*/

.page_simple h2
{
font-size: 30px;
margin-top: 30px;
}