

:root {
  --color-ivoire: #F7F4EF;
  --color-pierre-calcaire: #E8E2D9;
  --color-vert-mousse: #5A6B4A;
  --color-brun-noisette: #6B4F3A;
  --color-bordeaux-sourd: #7A3B3B;
  --color-bleu-nuit: #1E2A38;
  --color-ivoire-clair: #F7F4EF;
  --color-ombre-douce: rgba(30, 42, 56, 0.08);
  --color-ombre-suspendue: rgba(30, 42, 56, 0.12);

  --font-heading: "Playfair Display", serif;
  --font-body: "Inter", sans-serif;

  --text-display-size: clamp(2.75rem, 6vw, 4.5rem);
  --text-display-line-height: 1.1;
  --text-display-weight: 700;

  --text-h1-size: clamp(2.5rem, 5vw, 3.5rem);
  --text-h1-line-height: 1.15;
  --text-h1-weight: 700;

  --text-h2-size: clamp(1.75rem, 3.5vw, 2.5rem);
  --text-h2-line-height: 1.2;
  --text-h2-weight: 600;

  --text-h3-size: 1.75rem;
  --text-h3-line-height: 1.3;
  --text-h3-weight: 600;

  --text-h4-size: 1.25rem;
  --text-h4-line-height: 1.4;
  --text-h4-weight: 600;

  --text-body-size: 1rem;
  --text-body-line-height: 1.6;
  --text-body-weight: 400;

  --text-small-size: 0.875rem;
  --text-small-line-height: 1.5;
  --text-small-weight: 400;

  --text-caption-size: 0.75rem;
  --text-caption-line-height: 1.4;
  --text-caption-weight: 500;
  --text-caption-letter-spacing: 0.05em;

  --space-2: 2px;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;
  --space-96: 96px;
  --space-128: 128px;

  --container-max: 1200px;
  --container-gutter-mobile: 24px;
  --container-gutter-desktop: 48px;

  --surface-card-padding: 32px;
  --surface-card-gap: 24px;

  --border-thin: 1px;
  --border-radius-frame: 0px;
  --border-radius-control: 4px;
  --border-radius-media: 8px;
  --border-radius-badge: 2px;

  --shadow-douce: 0 8px 24px var(--color-ombre-douce);
  --shadow-suspendue: 0 12px 32px var(--color-ombre-suspendue);
  --shadow-elevation: 0 16px 40px var(--color-ombre-suspendue);

  --transition-color: 200ms ease-in-out;
  --transition-elevation: 300ms ease-out;
  --transition-image: 400ms ease-out;
}

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

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: var(--text-body-weight);
  line-height: var(--text-body-line-height);
  color: var(--color-bleu-nuit);
  background-color: var(--color-ivoire);
  min-height: 100vh;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  color: var(--color-bleu-nuit);
  font-weight: var(--text-h1-weight);
  line-height: var(--text-h1-line-height);
  margin-block-end: var(--space-24);
  overflow-wrap: break-word;
  text-wrap: balance;
}

h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  font-weight: var(--text-h1-weight);
}

h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line-height);
  font-weight: var(--text-h2-weight);
  margin-block-end: var(--space-16);
}

h3 {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  font-weight: var(--text-h3-weight);
  margin-block-end: var(--space-12);
}

h4 {
  font-family: var(--font-body);
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-line-height);
  font-weight: var(--text-h4-weight);
  margin-block-end: var(--space-8);
}

p {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  margin-block-end: var(--space-16);
}

ul,
ol {
  margin-block-end: var(--space-24);
  padding-inline-start: var(--space-24);
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li {
  line-height: var(--text-body-line-height);
}

blockquote {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  color: var(--color-brun-noisette);
  margin-block: var(--space-32);
  padding-inline-start: var(--space-24);
  border-inline-start: 2px solid var(--color-vert-mousse);
}

figure {
  margin-block-end: var(--space-32);
}

figcaption {
  font-size: var(--text-caption-size);
  font-weight: var(--text-caption-weight);
  letter-spacing: var(--text-caption-letter-spacing);
  text-transform: uppercase;
  color: var(--color-brun-noisette);
  margin-block-start: var(--space-8);
}

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

img {
  border-radius: var(--border-radius-media);
}

a {
  color: var(--color-vert-mousse);
  text-decoration: none;
  transition: color var(--transition-color);
}

a:hover,
a:focus-visible {
  color: var(--color-bordeaux-sourd);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--color-vert-mousse);
  outline-offset: 2px;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
}

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

input,
select,
textarea {
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-pierre-calcaire);
  border-radius: var(--border-radius-control);
  padding: var(--space-12) var(--space-16);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-bleu-nuit);
  transition: border-color var(--transition-color);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-vert-mousse);
  outline: none;
}

textarea {
  resize: vertical;
  min-height: 120px;
}

label {
  display: block;
  font-size: var(--text-small-size);
  font-weight: 500;
  color: var(--color-brun-noisette);
  margin-block-end: var(--space-4);
}

hr {
  border: none;
  border-block-start: 1px solid var(--color-pierre-calcaire);
  margin-block: var(--space-32);
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: var(--space-24);
}

th,
td {
  text-align: start;
  padding: var(--space-12) var(--space-16);
  border-block-end: 1px solid var(--color-pierre-calcaire);
}

th {
  font-weight: 600;
  color: var(--color-brun-noisette);
}

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
}

@media (min-width: 768px) {
  .container {
    padding-inline: var(--container-gutter-desktop);
  }
}

.section {
  padding-block: var(--space-64);
}

@media (min-width: 768px) {
  .section {
    padding-block: var(--space-96);
  }
}

.surface-ivoire {
  background-color: var(--color-ivoire);
}

.surface-pierre {
  background-color: var(--color-pierre-calcaire);
}

.surface-nuit {
  background-color: var(--color-bleu-nuit);
  color: var(--color-ivoire-clair);
}

.surface-nuit h1,
.surface-nuit h2,
.surface-nuit h3,
.surface-nuit h4 {
  color: var(--color-ivoire-clair);
}

.surface-nuit p,
.surface-nuit li {
  color: var(--color-ivoire-clair);
}

.surface-nuit a {
  color: var(--color-ivoire-clair);
}

.surface-nuit a:hover {
  color: var(--color-pierre-calcaire);
}

.card {
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-pierre-calcaire);
  border-radius: var(--border-radius-frame);
  box-shadow: var(--shadow-douce);
  padding: var(--surface-card-padding);
}

.card > :last-child {
  margin-block-end: 0;
}

.cadre-suspendu {
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-vert-mousse);
  border-radius: var(--border-radius-frame);
  box-shadow: var(--shadow-suspendue);
  padding: var(--surface-card-padding);
  position: relative;
  transition: box-shadow var(--transition-elevation), transform var(--transition-elevation);
}

.cadre-suspendu::before {
  content: "";
  position: absolute;
  top: -32px;
  left: 50%;
  width: 1px;
  height: 32px;
  background-color: var(--color-vert-mousse);
  transform: translateX(-50%);
}

.cadre-suspendu:hover {
  box-shadow: var(--shadow-elevation);
  transform: translateY(-4px);
}

.cadre-suspendu > :last-child {
  margin-block-end: 0;
}

.cadre-nuit {
  background-color: var(--color-bleu-nuit);
  border: 1px solid var(--color-bordeaux-sourd);
  border-radius: var(--border-radius-frame);
  box-shadow: var(--shadow-suspendue);
  padding: var(--surface-card-padding);
  color: var(--color-ivoire-clair);
}

.cadre-nuit h1,
.cadre-nuit h2,
.cadre-nuit h3,
.cadre-nuit h4 {
  color: var(--color-ivoire-clair);
}

.cadre-nuit p,
.cadre-nuit li {
  color: var(--color-ivoire-clair);
}

.cadre-nuit a {
  color: var(--color-ivoire-clair);
}

.cadre-nuit a:hover {
  color: var(--color-pierre-calcaire);
}

.cadre-nuit > :last-child {
  margin-block-end: 0;
}

.btn {
  display: inline-block;
  background-color: var(--color-vert-mousse);
  color: var(--color-ivoire-clair);
  font-family: var(--font-body);
  font-size: var(--text-small-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: var(--space-12) var(--space-24);
  border-radius: var(--border-radius-control);
  border: 1px solid var(--color-vert-mousse);
  text-align: center;
  transition: background-color var(--transition-color), color var(--transition-color), border-color var(--transition-color);
}

.btn:hover {
  background-color: var(--color-bordeaux-sourd);
  border-color: var(--color-bordeaux-sourd);
  color: var(--color-ivoire-clair);
}

.btn-secondary {
  background-color: transparent;
  color: var(--color-vert-mousse);
  border: 1px solid var(--color-vert-mousse);
}

.btn-secondary:hover {
  background-color: var(--color-vert-mousse);
  border-color: var(--color-vert-mousse);
  color: var(--color-ivoire-clair);
}

.badge {
  display: inline-block;
  background-color: var(--color-vert-mousse);
  color: var(--color-ivoire-clair);
  font-size: var(--text-caption-size);
  font-weight: var(--text-caption-weight);
  letter-spacing: var(--text-caption-letter-spacing);
  text-transform: uppercase;
  padding: var(--space-4) var(--space-8);
  border-radius: var(--border-radius-badge);
}

.badge-bordeaux {
  background-color: var(--color-bordeaux-sourd);
}

.badge-nuit {
  background-color: var(--color-bleu-nuit);
}

.image-frame {
  overflow: hidden;
  border-radius: var(--border-radius-media);
  border: 1px solid var(--color-vert-mousse);
}

.image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  transition: transform var(--transition-image);
}

.image-frame:hover img {
  transform: scale(1.02);
}

.flex {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-24);
}

.flex > * {
  min-width: 0;
  flex-shrink: 1;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.flex-column {
  flex-direction: column;
}

.flex-center {
  align-items: center;
  justify-content: center;
}

.flex-between {
  align-items: center;
  justify-content: space-between;
}

.flex-start {
  align-items: flex-start;
}

.flex-end {
  align-items: flex-end;
}

.flex-1 {
  flex: 1 1 0%;
  min-width: 0;
}

.flex-auto {
  flex: 0 0 auto;
}

.flex-grow {
  flex: 1 1 auto;
  min-width: 0;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  top: -100%;
  left: var(--space-16);
  z-index: 9999;
  background-color: var(--color-bleu-nuit);
  color: var(--color-ivoire-clair);
  padding: var(--space-12) var(--space-24);
  border-radius: var(--border-radius-control);
  transition: top 200ms ease-in-out;
}

.skip-link:focus {
  top: var(--space-16);
  color: var(--color-ivoire-clair);
}

::selection {
  background-color: var(--color-vert-mousse);
  color: var(--color-ivoire-clair);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* Header component styles */
.site-header {
  background-color: var(--color-bleu-nuit);
  color: var(--color-ivoire-clair);
  position: relative;
  z-index: 1000;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-24);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
  min-height: 64px;
}

@media (min-width: 768px) {
  .site-header__inner {
    padding-inline: var(--container-gutter-desktop);
    min-height: 80px;
  }
}

.brand {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  text-decoration: none;
  color: inherit;
  flex-shrink: 0;
}

.brand__logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  display: block;
}

.brand__text {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-ivoire-clair);
  white-space: nowrap;
}

@media (min-width: 768px) {
  .brand__logo {
    width: 48px;
    height: 48px;
  }
  .brand__text {
    font-size: 1.5rem;
  }
}

.nav-toggle {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: transparent;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
}

.nav-toggle__line {
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--color-ivoire-clair);
  transition: transform 200ms ease-in-out, opacity 200ms ease-in-out;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(2) {
  opacity: 0;
}

.nav-toggle[aria-expanded="true"] .nav-toggle__line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.nav-toggle:focus-visible {
  outline: 2px solid var(--color-vert-mousse);
  outline-offset: 2px;
}

.site-nav {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background-color: var(--color-bleu-nuit);
  padding: var(--space-16) var(--container-gutter-mobile);
  max-height: calc(100vh - 64px);
  overflow-y: auto;
  z-index: 999;
}

.site-nav.is-open {
  display: block;
}

.site-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.site-nav__item {
  margin: 0;
}

.site-nav__link {
  display: block;
  padding: var(--space-12) var(--space-16);
  color: var(--color-ivoire-clair);
  font-family: var(--font-body);
  font-size: var(--text-small-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color var(--transition-color), background-color var(--transition-color);
}

.site-nav__link:hover,
.site-nav__link:focus-visible {
  color: var(--color-vert-mousse);
  background-color: rgba(247, 244, 239, 0.05);
}

@media (min-width: 1024px) {
  .nav-toggle {
    display: none;
  }

  .site-nav {
    display: block;
    position: static;
    background: transparent;
    padding: 0;
    max-height: none;
    overflow: visible;
  }

  .site-nav__list {
    flex-direction: row;
    align-items: center;
    gap: var(--space-24);
  }

  .site-nav__link {
    padding: var(--space-8) 0;
    position: relative;
  }

  .site-nav__link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background-color: var(--color-vert-mousse);
    transition: width var(--transition-color);
  }

  .site-nav__link:hover::after,
  .site-nav__link:focus-visible::after {
    width: 100%;
  }
}


/* Footer, consent banner, and age modal styles */
.site-footer {
  background-color: var(--color-bleu-nuit);
  color: var(--color-ivoire-clair);
  padding-block: var(--space-48) var(--space-24);
}

.site-footer__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-32);
}

@media (min-width: 768px) {
  .site-footer__inner {
    grid-template-columns: 2fr 1fr 1fr;
    gap: var(--space-48);
    padding-inline: var(--container-gutter-desktop);
  }
}

.site-footer__brand-link {
  display: flex;
  align-items: center;
  gap: var(--space-12);
  color: inherit;
  text-decoration: none;
  margin-block-end: var(--space-16);
}

.site-footer__logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.site-footer__brand-text {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
}

.site-footer__address {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-pierre-calcaire);
  margin-block-end: 0;
}

.site-footer__heading {
  font-family: var(--font-body);
  font-size: var(--text-small-size);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--color-ivoire-clair);
  margin-block-end: var(--space-16);
}

.site-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.site-footer__list a {
  color: var(--color-pierre-calcaire);
  text-decoration: none;
  font-size: var(--text-small-size);
  transition: color var(--transition-color);
}

.site-footer__list a:hover,
.site-footer__list a:focus-visible {
  color: var(--color-vert-mousse);
}

.site-footer__bottom {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
  margin-block-start: var(--space-32);
  border-block-start: 1px solid rgba(247, 244, 239, 0.2);
  padding-block-start: var(--space-16);
}

@media (min-width: 768px) {
  .site-footer__bottom {
    padding-inline: var(--container-gutter-desktop);
  }
}

.site-footer__copyright {
  font-size: var(--text-caption-size);
  color: var(--color-pierre-calcaire);
  text-align: center;
  margin-block-end: 0;
}

/* Consent banner */
.consent-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1100;
  background-color: var(--color-bleu-nuit);
  color: var(--color-ivoire-clair);
  padding: var(--space-16) var(--container-gutter-mobile);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
}

@media (min-width: 768px) {
  .consent-banner {
    padding: var(--space-16) var(--container-gutter-desktop);
  }
}

.consent-banner[hidden] {
  display: none !important;
}

.consent-banner__content {
  max-width: var(--container-max);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  align-items: flex-start;
}

@media (min-width: 768px) {
  .consent-banner__content {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.consent-banner__text {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  margin-block-end: 0;
}

.consent-banner__text a {
  color: var(--color-vert-mousse);
  text-decoration: underline;
}

.consent-banner__actions {
  display: flex;
  gap: var(--space-12);
  flex-wrap: wrap;
}

.consent-banner__button {
  padding: var(--space-8) var(--space-16);
  border-radius: var(--border-radius-control);
  font-size: var(--text-small-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--transition-color), color var(--transition-color), border-color var(--transition-color);
}

.consent-banner__button--accept {
  background-color: var(--color-vert-mousse);
  color: var(--color-ivoire-clair);
  border: 1px solid var(--color-vert-mousse);
}

.consent-banner__button--accept:hover,
.consent-banner__button--accept:focus-visible {
  background-color: var(--color-bordeaux-sourd);
  border-color: var(--color-bordeaux-sourd);
}

.consent-banner__button--reject {
  background-color: transparent;
  color: var(--color-ivoire-clair);
  border: 1px solid var(--color-ivoire-clair);
}

.consent-banner__button--reject:hover,
.consent-banner__button--reject:focus-visible {
  background-color: var(--color-ivoire-clair);
  color: var(--color-bleu-nuit);
}

/* Age modal */
.age-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-16);
}

.age-modal[hidden] {
  display: none !important;
}

.age-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(30, 42, 56, 0.8);
}

.age-modal__dialog {
  position: relative;
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-bordeaux-sourd);
  border-radius: var(--border-radius-frame);
  box-shadow: var(--shadow-elevation);
  padding: var(--space-32);
  max-width: 480px;
  width: 100%;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line-height);
  font-weight: var(--text-h2-weight);
  color: var(--color-bleu-nuit);
  margin-block-end: var(--space-16);
}

.age-modal__text {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-bleu-nuit);
  margin-block-end: var(--space-24);
}

.age-modal__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.age-modal__button {
  padding: var(--space-12) var(--space-24);
  border-radius: var(--border-radius-control);
  font-size: var(--text-small-size);
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color var(--transition-color), color var(--transition-color), border-color var(--transition-color);
}

.age-modal__button--confirm {
  background-color: var(--color-vert-mousse);
  color: var(--color-ivoire-clair);
  border: 1px solid var(--color-vert-mousse);
}

.age-modal__button--confirm:hover,
.age-modal__button--confirm:focus-visible {
  background-color: var(--color-bordeaux-sourd);
  border-color: var(--color-bordeaux-sourd);
}

.age-modal__button--decline {
  background-color: transparent;
  color: var(--color-bordeaux-sourd);
  border: 1px solid var(--color-bordeaux-sourd);
}

.age-modal__button--decline:hover,
.age-modal__button--decline:focus-visible {
  background-color: var(--color-bordeaux-sourd);
  color: var(--color-ivoire-clair);
}


/* Styles spécifiques à la page Contact — Salon du Vallon */

/* Section intro */
.contact-intro {
  padding-block: var(--space-64);
}

.contact-intro__container {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.contact-intro__container h1 {
  margin-block-end: 0;
}

.contact-intro__lead {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.contact-intro__support {
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

/* Section coordonnées */
.contact-coordinates {
  padding-block: var(--space-64);
}

.contact-coordinates__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
  margin-block-start: var(--space-32);
}

.contact-coordinate {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  min-width: 0;
}

.contact-coordinate h3 {
  margin-block-end: 0;
}

.contact-coordinate__value {
  max-width: 45ch;
  margin-block-end: 0;
}

.contact-coordinate__detail {
  max-width: 45ch;
  margin-block-end: 0;
}

/* Section horaires */
.contact-hours {
  padding-block: var(--space-64);
}

.contact-hours__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-24);
  margin-block-start: var(--space-32);
}

.contact-hours__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  min-width: 0;
}

.contact-hours__card h3 {
  margin-block-end: 0;
}

.contact-hours__card p,
.contact-hours__card ul {
  max-width: 55ch;
  margin-block-end: 0;
}

.contact-hours__note {
  font-size: var(--text-small-size);
  color: var(--color-brun-noisette);
}

/* Section accès */
.contact-access {
  padding-block: var(--space-64);
}

.contact-access__container {
  max-width: 800px;
  margin-inline: auto;
}

.contact-access__frame {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  margin-block-start: var(--space-32);
}

.contact-access__frame h3 {
  margin-block-end: 0;
}

.contact-access__frame p,
.contact-access__frame ul {
  max-width: 60ch;
  margin-block-end: 0;
}

/* Section formulaire */
.contact-form-section {
  padding-block: var(--space-64);
}

.contact-form__container {
  max-width: 800px;
  margin-inline: auto;
}

.contact-form__frame {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  margin-block-start: var(--space-32);
  border-color: var(--color-bordeaux-sourd);
  box-shadow: var(--shadow-elevation);
}

.contact-form__frame h3 {
  margin-block-end: 0;
}

.contact-form__frame > p {
  margin-block-end: 0;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-24);
}

.contact-form__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  min-width: 0;
}

.contact-form__field label {
  max-width: 50ch;
}

.contact-form__field input,
.contact-form__field textarea {
  width: 100%;
  min-width: 0;
}

.contact-form__submit {
  align-self: flex-start;
}

.contact-form__status {
  font-size: var(--text-small-size);
  color: var(--color-bordeaux-sourd);
  min-height: 1.5em;
  margin-block-end: 0;
}

.contact-form__status.success {
  color: var(--color-vert-mousse);
}

/* Section note poker offline */
.contact-offline {
  padding-block: var(--space-64);
}

.contact-offline__container {
  max-width: 800px;
  margin-inline: auto;
}

.contact-offline__frame {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  margin-block-start: var(--space-32);
}

.contact-offline__frame h3 {
  margin-block-end: 0;
}

.contact-offline__frame p {
  margin-block-end: 0;
}

/* Responsive */
@media (min-width: 768px) {
  .contact-intro,
  .contact-coordinates,
  .contact-hours,
  .contact-access,
  .contact-form-section,
  .contact-offline {
    padding-block: var(--space-96);
  }
}

@media (max-width: 991px) {
  .contact-coordinates__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-coordinate:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  .contact-coordinates__grid,
  .contact-hours__grid,
  .contact-form__row {
    grid-template-columns: 1fr;
  }

  .contact-coordinate:last-child {
    grid-column: auto;
  }

  .contact-intro__container h1 {
    font-size: var(--text-h1-size);
  }

  .contact-form__submit {
    align-self: stretch;
  }
}

@media (max-width: 575px) {
  .contact-hours__grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cadre-suspendu,
  .cadre-nuit {
    transition: none;
  }
}


/* Cookies page styles */

.cookies-intro__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.cookies-intro__title {
  text-align: center;
  margin-inline: auto;
  margin-block-end: 0;
}

.cookies-intro__lead {
  max-width: 65ch;
  margin-inline: auto;
  text-align: left;
  margin-block-end: 0;
}

.cookies-types__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.cookies-types__title {
  margin-block-end: 0;
}

.cookies-types__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.cookies-types__card {
  min-width: 0;
}

.cookies-types__card-title {
  margin-block-end: var(--space-12);
}

.cookies-types__card-text {
  max-width: 65ch;
  margin-block-end: 0;
}

.cookies-management__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.cookies-management__title {
  margin-block-end: 0;
}

.cookies-management__text {
  max-width: 65ch;
  margin-block-end: 0;
}

.cookies-management__note {
  max-width: 600px;
  margin-inline: auto;
  width: 100%;
}

.cookies-management__note-title {
  color: var(--color-ivoire-clair);
  margin-block-end: var(--space-12);
}

.cookies-management__note-text {
  color: var(--color-ivoire-clair);
  margin-block-end: 0;
}

.cookies-duration__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.cookies-duration__title {
  margin-block-end: 0;
}

.cookies-duration__intro {
  max-width: 65ch;
  margin-block-end: 0;
}

.cookies-duration__table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.cookies-duration__table {
  width: 100%;
  margin-block-end: 0;
}

.cookies-duration__note {
  max-width: 65ch;
  margin-block-end: 0;
  font-size: var(--text-small-size);
  color: var(--color-brun-noisette);
}

.cookies-rights__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.cookies-rights__title {
  margin-block-end: 0;
}

.cookies-rights__intro {
  max-width: 65ch;
  margin-block-end: 0;
}

.cookies-rights__card {
  max-width: 700px;
  margin-inline: auto;
  width: 100%;
}

.cookies-rights__list {
  margin-block-end: var(--space-16);
  padding-inline-start: var(--space-24);
  list-style: disc;
}

.cookies-rights__list li::marker {
  color: var(--color-vert-mousse);
}

.cookies-rights__contact {
  margin-block-end: 0;
}

.cookies-contact__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.cookies-contact__title {
  margin-block-end: 0;
}

.cookies-contact__card {
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-pierre-calcaire);
  border-radius: var(--border-radius-frame);
  box-shadow: var(--shadow-douce);
  padding: var(--surface-card-padding);
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.cookies-contact__text {
  max-width: 65ch;
  margin-block-end: 0;
}

.cookies-update__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.cookies-update__title {
  margin-block-end: 0;
}

.cookies-update__text {
  max-width: 65ch;
  margin-block-end: 0;
}

@media (max-width: 1023px) {
  .cookies-types__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .cookies-types__grid {
    grid-template-columns: 1fr;
    gap: var(--space-16);
  }

  .cookies-intro__lead,
  .cookies-management__text,
  .cookies-duration__intro,
  .cookies-duration__note,
  .cookies-rights__intro,
  .cookies-contact__text,
  .cookies-update__text {
    max-width: 100%;
  }

  .cookies-management__note,
  .cookies-rights__card {
    max-width: 100%;
  }
}


/* Page-specific styles for Intérieur */

.interieur-intro__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-32);
  text-align: center;
}

.interieur-intro__title {
  margin-block-end: 0;
  text-align: center;
}

.interieur-intro__lead {
  max-width: 65ch;
  margin-inline: auto;
  text-align: center;
  margin-block-end: 0;
}

.interieur-intro__figure {
  width: 100%;
  max-width: 100%;
  margin-block-end: 0;
}

.interieur-intro__figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}

.interieur-salle__container {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-48);
  align-items: start;
}

.interieur-salle__content {
  min-width: 0;
}

.interieur-salle__content h2 {
  text-align: left;
}

.interieur-salle__content p {
  text-align: left;
}

.interieur-salle__figure {
  min-width: 0;
  margin-block-end: 0;
}

.interieur-salle__figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.interieur-bar__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  align-items: flex-start;
}

.interieur-bar__container h2 {
  text-align: left;
}

.interieur-bar__container p {
  text-align: left;
}

.interieur-bar__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-16) var(--space-32);
  width: 100%;
  margin-block-end: 0;
  padding-inline-start: var(--space-24);
  list-style: disc;
}

.interieur-bar__list li {
  min-width: 0;
  text-align: left;
}

.interieur-lounge__container {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-48);
  align-items: start;
}

.interieur-lounge__figure {
  min-width: 0;
  margin-block-end: 0;
}

.interieur-lounge__figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 4 / 3;
}

.interieur-lounge__content {
  min-width: 0;
}

.interieur-lounge__content h2 {
  text-align: left;
}

.interieur-lounge__content p {
  text-align: left;
}

.interieur-poker__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  align-items: flex-start;
}

.interieur-poker__container h2 {
  text-align: left;
}

.interieur-poker__container p {
  text-align: left;
}

.interieur-poker__figure {
  width: 100%;
  max-width: 100%;
  margin-block-end: 0;
}

.interieur-poker__figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 16 / 9;
}

.interieur-tables__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  align-items: flex-start;
}

.interieur-tables__container h2 {
  text-align: left;
}

.interieur-tables__container p {
  text-align: left;
}

.interieur-tables__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-16) var(--space-32);
  width: 100%;
  margin-block-end: 0;
  padding-inline-start: var(--space-24);
  list-style: disc;
}

.interieur-tables__list li {
  min-width: 0;
  text-align: left;
}

.interieur-soiree__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  align-items: flex-start;
}

.interieur-soiree__container h2 {
  text-align: left;
}

.interieur-soiree__container p {
  text-align: left;
}

.interieur-cta__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-24);
  text-align: center;
}

.interieur-cta__container h2 {
  text-align: center;
  margin-block-end: 0;
}

.interieur-cta__text {
  max-width: 65ch;
  margin-inline: auto;
  text-align: center;
  margin-block-end: 0;
}

.interieur-cta__button {
  margin-block-start: var(--space-16);
}

@media (min-width: 768px) and (max-width: 1023px) {
  .interieur-salle__container,
  .interieur-lounge__container {
    grid-template-columns: 1fr;
    gap: var(--space-32);
  }

  .interieur-salle__figure,
  .interieur-lounge__figure {
    order: -1;
  }

  .interieur-bar__list,
  .interieur-tables__list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .interieur-intro__container {
    gap: var(--space-24);
  }

  .interieur-intro__lead {
    max-width: 100%;
  }

  .interieur-salle__container,
  .interieur-lounge__container {
    grid-template-columns: 1fr;
    gap: var(--space-24);
  }

  .interieur-salle__figure,
  .interieur-lounge__figure {
    order: -1;
  }

  .interieur-bar__list,
  .interieur-tables__list {
    grid-template-columns: 1fr;
    gap: var(--space-12);
  }

  .interieur-cta__button {
    width: 100%;
  }
}


/* Page-owned styles for confidentialite */
.confidentialite-page {
  --confidentialite-measure: 65ch;
}

/* Introduction */
.confidentialite-intro__container {
  display: flex;
  justify-content: flex-start;
}

.confidentialite-intro__bloc {
  width: 100%;
  max-width: var(--confidentialite-measure);
  padding-block: var(--space-32);
}

.confidentialite-intro__titre {
  margin-block-end: var(--space-24);
}

.confidentialite-intro__texte + .confidentialite-intro__texte {
  margin-block-start: var(--space-16);
}

/* Données collectées */
.confidentialite-donnees__container {
  display: flex;
  justify-content: center;
}

.confidentialite-donnees__cadre {
  width: 100%;
  max-width: var(--confidentialite-measure);
  margin-block: var(--space-32);
}

.confidentialite-donnees__titre,
.confidentialite-base-legale__titre,
.confidentialite-partage__titre,
.confidentialite-droits__titre,
.confidentialite-contact__titre {
  margin-block-end: var(--space-24);
}

.confidentialite-donnees__texte,
.confidentialite-base-legale__texte,
.confidentialite-partage__texte,
.confidentialite-droits__texte,
.confidentialite-contact__texte {
  margin-block-end: var(--space-16);
}

.confidentialite-donnees__liste,
.confidentialite-base-legale__liste,
.confidentialite-partage__liste,
.confidentialite-droits__liste,
.confidentialite-contact__liste {
  margin-block-end: var(--space-24);
  padding-inline-start: var(--space-24);
  list-style: disc;
}

.confidentialite-donnees__liste li,
.confidentialite-base-legale__liste li,
.confidentialite-partage__liste li,
.confidentialite-droits__liste li,
.confidentialite-contact__liste li {
  margin-block-end: var(--space-8);
}

/* Utilisation des données */
.confidentialite-utilisation__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.confidentialite-utilisation__titre {
  margin-block-end: var(--space-16);
}

.confidentialite-utilisation__grille {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-24);
}

.confidentialite-utilisation__principal {
  min-width: 0;
}

.confidentialite-utilisation__texte {
  margin-block-end: var(--space-16);
}

.confidentialite-utilisation__sous-titre {
  margin-block-start: var(--space-24);
  margin-block-end: var(--space-8);
}

.confidentialite-utilisation__encadre {
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-vert-mousse);
  border-radius: var(--border-radius-frame);
  padding: var(--surface-card-padding);
  box-shadow: var(--shadow-douce);
  min-width: 0;
}

.confidentialite-utilisation__encadre-titre {
  margin-block-end: var(--space-16);
}

.confidentialite-utilisation__encadre-liste {
  list-style: disc;
  padding-inline-start: var(--space-24);
  margin-block-end: 0;
}

.confidentialite-utilisation__encadre-liste li {
  margin-block-end: var(--space-8);
}

/* Base légale */
.confidentialite-base-legale__container {
  display: flex;
  justify-content: center;
}

.confidentialite-base-legale__cadre {
  width: 100%;
  max-width: var(--confidentialite-measure);
  margin-block: var(--space-32);
  border-color: var(--color-brun-noisette);
}

/* Conservation et sécurité */
.confidentialite-conservation__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.confidentialite-conservation__titre {
  margin-block-end: var(--space-16);
}

.confidentialite-conservation__grille {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-24);
}

.confidentialite-conservation__cadre {
  min-width: 0;
}

.confidentialite-conservation__sous-titre {
  margin-block-end: var(--space-16);
}

.confidentialite-conservation__texte {
  margin-block-end: var(--space-16);
}

.confidentialite-conservation__liste {
  list-style: disc;
  padding-inline-start: var(--space-24);
  margin-block-end: var(--space-16);
}

.confidentialite-conservation__liste li {
  margin-block-end: var(--space-8);
}

/* Partage des données */
.confidentialite-partage__container {
  display: flex;
  justify-content: center;
}

.confidentialite-partage__cadre {
  width: 100%;
  max-width: var(--confidentialite-measure);
  margin-block: var(--space-32);
  background-color: var(--color-pierre-calcaire);
}

/* Droits des personnes */
.confidentialite-droits__container {
  display: flex;
  justify-content: center;
}

.confidentialite-droits__cadre {
  width: 100%;
  max-width: var(--confidentialite-measure);
  margin-block: var(--space-32);
  border-color: var(--color-bordeaux-sourd);
}

/* Cookies */
.confidentialite-cookies__container {
  display: flex;
  justify-content: flex-start;
}

.confidentialite-cookies__bloc {
  width: 100%;
  max-width: var(--confidentialite-measure);
  padding-block: var(--space-32);
}

.confidentialite-cookies__titre {
  margin-block-end: var(--space-24);
}

.confidentialite-cookies__texte {
  margin-block-end: var(--space-16);
}

.confidentialite-cookies__liste {
  list-style: disc;
  padding-inline-start: var(--space-24);
  margin-block-end: var(--space-24);
}

.confidentialite-cookies__liste li {
  margin-block-end: var(--space-8);
}

.confidentialite-cookies__lien {
  text-decoration: underline;
  text-decoration-color: var(--color-vert-mousse);
  text-underline-offset: 4px;
  transition: text-decoration-color var(--transition-color);
}

.confidentialite-cookies__lien:hover,
.confidentialite-cookies__lien:focus-visible {
  text-decoration-color: var(--color-bordeaux-sourd);
}

/* Contact */
.confidentialite-contact__container {
  display: flex;
  justify-content: center;
}

.confidentialite-contact__cadre {
  width: 100%;
  max-width: var(--confidentialite-measure);
  margin-block: var(--space-32);
}

.confidentialite-contact__cadre--nuit {
  background-color: var(--color-bleu-nuit);
  border-color: var(--color-vert-mousse);
  color: var(--color-ivoire-clair);
}

.confidentialite-contact__cadre--nuit h2,
.confidentialite-contact__cadre--nuit h3,
.confidentialite-contact__cadre--nuit h4 {
  color: var(--color-ivoire-clair);
}

.confidentialite-contact__cadre--nuit p,
.confidentialite-contact__cadre--nuit li {
  color: var(--color-ivoire-clair);
}

.confidentialite-contact__cadre--nuit a {
  color: var(--color-ivoire-clair);
}

.confidentialite-contact__cadre--nuit a:hover {
  color: var(--color-pierre-calcaire);
}

/* Date d'effet */
.confidentialite-date__container {
  display: flex;
  justify-content: flex-start;
}

.confidentialite-date__bloc {
  width: 100%;
  max-width: var(--confidentialite-measure);
  padding-block: var(--space-32);
}

.confidentialite-date__titre {
  margin-block-end: var(--space-24);
}

.confidentialite-date__texte {
  margin-block-end: 0;
}

/* Tablet and desktop */
@media (min-width: 768px) {
  .confidentialite-utilisation__grille {
    grid-template-columns: 3fr 2fr;
    align-items: start;
  }

  .confidentialite-conservation__grille {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }

  .confidentialite-conservation__cadre {
    display: flex;
    flex-direction: column;
  }
}

@media (max-width: 767px) {
  .confidentialite-intro__bloc,
  .confidentialite-donnees__cadre,
  .confidentialite-base-legale__cadre,
  .confidentialite-partage__cadre,
  .confidentialite-droits__cadre,
  .confidentialite-contact__cadre,
  .confidentialite-cookies__bloc,
  .confidentialite-date__bloc {
    max-width: 100%;
  }

  .confidentialite-utilisation__grille,
  .confidentialite-conservation__grille {
    grid-template-columns: 1fr;
  }
}


/* Page conditions — Cadres Suspendus */

.conditions-page {
  overflow-x: hidden;
}

/* Introduction */
.conditions-intro__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-32);
  padding-block: var(--space-64);
}

.conditions-intro__title {
  width: 100%;
  margin-block-end: 0;
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  font-weight: var(--text-h1-weight);
  color: var(--color-bleu-nuit);
}

.conditions-intro__content {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  text-align: left;
}

.conditions-intro__content p {
  margin-block-end: var(--space-16);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-bleu-nuit);
  }

/* Réservation */
.conditions-reservation__container {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-48);
  align-items: start;
  padding-block: var(--space-64);
}

.conditions-reservation__text {
  min-width: 0;
}

.conditions-reservation__text h2 {
  margin-block-end: var(--space-32);
}

.conditions-reservation__text h3 {
  margin-block-start: var(--space-32);
  margin-block-end: var(--space-12);
}

.conditions-reservation__text p,
.conditions-reservation__text li {
  max-width: 65ch;
}

.conditions-reservation__card {
  min-width: 0;
}

.conditions-reservation__card h3 {
  margin-block-end: var(--space-16);
}

.conditions-reservation__card p {
  margin-block-end: var(--space-12);
  }

/* Poker Room */
.conditions-poker {
  background-color: var(--color-bleu-nuit);
  color: var(--color-ivoire-clair);
}

.conditions-poker__container {
  padding-block: var(--space-64);
}

.conditions-poker__title {
  color: var(--color-ivoire-clair);
  margin-block-end: var(--space-48);
}

.conditions-poker__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-32);
}

.conditions-poker__card {
  min-width: 0;
  background-color: #2A3A4A;
  border: 1px solid var(--color-vert-mousse);
  box-shadow: var(--shadow-suspendue);
  padding: var(--surface-card-padding);
  position: relative;
  transition: box-shadow var(--transition-elevation), transform var(--transition-elevation);
}

.conditions-poker__card::before {
  content: "";
  position: absolute;
  top: -32px;
  left: 50%;
  width: 1px;
  height: 32px;
  background-color: var(--color-vert-mousse);
  transform: translateX(-50%);
}

.conditions-poker__card:hover {
  box-shadow: var(--shadow-elevation);
  transform: translateY(-4px);
}

.conditions-poker__card h3 {
  color: var(--color-ivoire-clair);
  margin-block-end: var(--space-16);
}

.conditions-poker__card p,
.conditions-poker__card li {
  color: var(--color-ivoire-clair);
  max-width: 60ch;
}

.conditions-poker__card ul {
  margin-block-start: var(--space-12);
  margin-block-end: 0;
  padding-inline-start: var(--space-24);
}

.conditions-poker__card /* Paiement */
.conditions-paiement__container {
  padding-block: var(--space-64);
}

.conditions-paiement__container h2 {
  margin-block-end: var(--space-32);
}

.conditions-paiement__content {
  max-width: 720px;
  margin-inline: auto;
  text-align: left;
}

.conditions-paiement__content h3 {
  margin-block-start: var(--space-32);
  margin-block-end: var(--space-12);
}

.conditions-paiement__content p,
.conditions-paiement__content li {
  max-width: 65ch;
}

/* Responsabilité */
.conditions-responsabilite__container {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-48);
  align-items: start;
  padding-block: var(--space-64);
}

.conditions-responsabilite__text {
  min-width: 0;
}

.conditions-responsabilite__text h2 {
  margin-block-end: var(--space-32);
}

.conditions-responsabilite__text h3 {
  margin-block-end: var(--space-12);
}

.conditions-responsabilite__text p {
  }

.conditions-responsabilite__card {
  min-width: 0;
}

.conditions-responsabilite__card h3 {
  margin-block-end: var(--space-16);
}

.conditions-responsabilite__card p {
  }

/* Propriété intellectuelle */
.conditions-propriete__container {
  padding-block: var(--space-64);
}

.conditions-propriete__container h2 {
  margin-block-end: var(--space-32);
}

.conditions-propriete__content {
  max-width: 720px;
  margin-inline: auto;
  text-align: left;
}

.conditions-propriete__content p {
  }

/* Données personnelles et cookies */
.conditions-donnees__container {
  padding-block: var(--space-64);
}

.conditions-donnees__container h2 {
  margin-block-end: var(--space-48);
}

.conditions-donnees__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-48);
}

.conditions-donnees__card {
  min-width: 0;
}

.conditions-donnees__card h3 {
  margin-block-end: var(--space-16);
}

.conditions-donnees__card p {
  }

/* Droit applicable */
.conditions-droit__container {
  padding-block: var(--space-64);
}

.conditions-droit__container h2 {
  margin-block-end: var(--space-32);
}

.conditions-droit__content {
  max-width: 720px;
  margin-inline: auto;
  text-align: left;
}

.conditions-droit__content p {
  }

/* Contact */
.conditions-contact__container {
  padding-block: var(--space-64);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-32);
}

.conditions-contact__title {
  text-align: center;
  margin-block-end: 0;
}

.conditions-contact__card {
  width: 100%;
  max-width: 400px;
  margin-inline: auto;
  text-align: center;
}

.conditions-contact__card p,
.conditions-contact__card li {
  max-width: 50ch;
  margin-inline: auto;
}

.conditions-contact__card ul {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-16);
  margin-block-end: 0;
}

.conditions-contact__card li {
  margin-block-end: var(--space-8);
}

/* Date de mise à jour */
.conditions-date__container {
  padding-block: var(--space-32);
  text-align: center;
}

.conditions-date__text {
  font-size: var(--text-caption-size);
  font-weight: var(--text-caption-weight);
  letter-spacing: var(--text-caption-letter-spacing);
  text-transform: uppercase;
  color: var(--color-brun-noisette);
  margin-block-end: 0;
  max-width: 65ch;
  margin-inline: auto;
}

/* Responsive */
@media (max-width: 1024px) {
  .conditions-reservation__container,
  .conditions-responsabilite__container {
    grid-template-columns: 1fr;
    gap: var(--space-32);
  }

  .conditions-poker__grid {
    grid-template-columns: 1fr;
    gap: var(--space-48);
  }

  .conditions-poker__card::before {
    top: -24px;
    height: 24px;
  }

  .conditions-donnees__grid {
    grid-template-columns: 1fr;
    gap: var(--space-48);
  }
}

@media (max-width: 768px) {
  .conditions-intro__container,
  .conditions-reservation__container,
  .conditions-poker__container,
  .conditions-paiement__container,
  .conditions-responsabilite__container,
  .conditions-propriete__container,
  .conditions-donnees__container,
  .conditions-droit__container,
  .conditions-contact__container,
  .conditions-date__container {
    padding-block: var(--space-64);
  }

  .conditions-intro__title {
    font-size: 2.5rem;
  }

  .conditions-intro__content,
  .conditions-paiement__content,
  .conditions-propriete__content,
  .conditions-droit__content {
    max-width: 100%;
  }

  .conditions-reservation__card,
  .conditions-responsabilite__card,
  .conditions-donnees__card,
  .conditions-contact__card {
    max-width: 100%;
  }

  .conditions-contact__card {
    text-align: left;
  }

  .conditions-contact__card p,
  .conditions-contact__card li {
    margin-inline: 0;
  }

  .conditions-poker__card::before {
    top: -16px;
    height: 16px;
  }
}

@media (max-width: 390px) {
  .conditions-intro__container,
  .conditions-reservation__container,
  .conditions-poker__container,
  .conditions-paiement__container,
  .conditions-responsabilite__container,
  .conditions-propriete__container,
  .conditions-donnees__container,
  .conditions-droit__container,
  .conditions-contact__container,
  .conditions-date__container {
    padding-inline: var(--space-24);
  }

  .conditions-intro__title {
    font-size: 2rem;
  }

  .conditions-poker__card,
  .conditions-donnees__card,
  .conditions-reservation__card,
  .conditions-responsabilite__card,
  .conditions-contact__card {
    padding: var(--space-24);
  }
}


/* Page-owned styles for La Carte */
.la-carte-main {
    overflow: hidden;
}

/* Hero */
.la-carte-hero {
    padding-block-start: var(--space-64);
    padding-block-end: var(--space-48);
}

.la-carte-hero__container {
    display: flex;
    flex-direction: column;
    gap: var(--space-32);
}

.la-carte-hero__content {
    text-align: center;
    max-width: 720px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

.la-carte-hero__title {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line-height);
    margin-block-end: 0;
}

.la-carte-hero__subtitle {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-brun-noisette);
    max-width: 65ch;
    margin-inline: auto;
    margin-block-end: 0;
}

.la-carte-hero__figure {
    width: 100%;
    max-width: 100%;
    margin-block-end: 0;
}

.la-carte-hero__figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.la-carte-hero__figure figcaption {
    text-align: left;
    margin-block-start: var(--space-8);
}

/* Introduction */
.la-carte-intro {
    padding-block: var(--space-64);
}

.la-carte-intro__title {
    margin-block-end: var(--space-32);
}

.la-carte-intro__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-32);
}

.la-carte-intro__text {
    min-width: 0;
}

.la-carte-intro__text p {
  margin-block-end: var(--space-16);
}

.la-carte-intro__text p:last-child {
    margin-block-end: 0;
}

.la-carte-intro__quote {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

.la-carte-intro__quote blockquote {
    margin-block: 0;
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line-height);
}

.la-carte-intro__quote-note {
    font-size: var(--text-small-size);
    line-height: var(--text-small-line-height);
    color: var(--color-brun-noisette);
    margin-block-end: 0;
}

/* Entrées */
.la-carte-entrees {
    padding-block: var(--space-64);
}

.la-carte-entrees__title {
    margin-block-end: var(--space-16);
}

.la-carte-entrees__lead {
    max-width: 55ch;
    margin-block-end: var(--space-32);
}

.la-carte-entrees__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-24);
    margin-block-end: var(--space-32);
}

.la-carte-entree {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
}

.la-carte-entree h3 {
    margin-block-end: 0;
}

.la-carte-entree p {
  margin-block-end: 0;
}

.la-carte-entrees__suggestions {
    background-color: var(--color-pierre-calcaire);
    border: 1px solid var(--color-pierre-calcaire);
    padding: var(--space-24);
    border-radius: var(--border-radius-frame);
}

.la-carte-entrees__suggestions h4 {
    margin-block-end: var(--space-8);
}

.la-carte-entrees__suggestions ul {
    margin-block-end: 0;
    padding-inline-start: var(--space-24);
}

/* Plats */
.la-carte-plats {
    padding-block: var(--space-64);
}

.la-carte-plats__title {
    margin-block-end: var(--space-16);
}

.la-carte-plats__lead {
    max-width: 60ch;
    margin-block-end: var(--space-32);
}

.la-carte-plats__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-24);
    margin-block-end: var(--space-32);
}

.la-carte-plat {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
}

.la-carte-plat h3 {
    margin-block-end: 0;
}

.la-carte-plat p {
  margin-block-end: 0;
}

.la-carte-plats__option {
    background-color: var(--color-ivoire);
    border: 1px solid var(--color-pierre-calcaire);
    padding: var(--space-24);
    border-radius: var(--border-radius-frame);
}

.la-carte-plats__option h4 {
    margin-block-end: var(--space-8);
}

.la-carte-plats__option p {
    margin-block-end: 0;
}

/* Desserts */
.la-carte-desserts {
    padding-block: var(--space-64);
}

.la-carte-desserts__title {
    margin-block-end: var(--space-16);
}

.la-carte-desserts__lead {
    max-width: 55ch;
    margin-block-end: var(--space-32);
}

.la-carte-desserts__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-24);
}

.la-carte-dessert {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
}

.la-carte-dessert h3 {
    margin-block-end: 0;
}

.la-carte-dessert p {
  margin-block-end: 0;
}

/* Menus et Formules */
.la-carte-menus {
    padding-block: var(--space-64);
}

.la-carte-menus__title {
    margin-block-end: var(--space-32);
}

.la-carte-menus__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-32);
}

.la-carte-menu,
.la-carte-formule {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

.la-carte-menu h3,
.la-carte-formule h3 {
    margin-block-end: 0;
}

.la-carte-menu p,
.la-carte-formule p {
  margin-block-end: 0;
}

.la-carte-menu ul,
.la-carte-formule ul {
    margin-block-end: 0;
    padding-inline-start: var(--space-24);
}

/* Vins et Boissons */
.la-carte-vins {
    padding-block: var(--space-64);
}

.la-carte-vins__title {
    margin-block-end: var(--space-32);
}

.la-carte-vins__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-32);
}

.la-carte-vins__col {
    min-width: 0;
}

.la-carte-vins__col h3 {
    margin-block-end: var(--space-8);
}

.la-carte-vins__col p {
  margin-block-end: var(--space-16);
}

.la-carte-vins__col ul {
    margin-block-end: 0;
    padding-inline-start: var(--space-24);
}

/* Poker Offline */
.la-carte-poker {
    padding-block: var(--space-64);
}

.la-carte-poker__title {
    margin-block-end: var(--space-32);
}

.la-carte-poker__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-32);
}

.la-carte-poker__text {
    min-width: 0;
}

.la-carte-poker__text h3 {
    margin-block-end: var(--space-16);
}

.la-carte-poker__text p {
  margin-block-end: var(--space-16);
}

.la-carte-poker__text p:last-child {
    margin-block-end: 0;
}

.la-carte-poker__figure {
    width: 100%;
    max-width: 100%;
    margin-block-end: 0;
}

.la-carte-poker__figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.la-carte-poker__figure figcaption {
    text-align: left;
    margin-block-start: var(--space-8);
}

/* Réservation */
.la-carte-reservation {
    padding-block: var(--space-64);
}

.la-carte-reservation__container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-24);
}

.la-carte-reservation__title {
    margin-block-end: 0;
}

.la-carte-reservation__text {
    max-width: 65ch;
    margin-inline: auto;
    margin-block-end: 0;
}

.la-carte-reservation__contact {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.la-carte-reservation__contact p {
    margin-block-end: 0;
}

.la-carte-reservation__btn {
    margin-block-start: var(--space-8);
    width: auto;
}

/* Tablet and up */
@media (min-width: 640px) {
    .la-carte-entrees__grid,
    .la-carte-desserts__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .la-carte-plats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .la-carte-hero {
        padding-block-start: var(--space-96);
        padding-block-end: var(--space-64);
    }

    .la-carte-hero__container {
        gap: var(--space-48);
    }

    .la-carte-intro,
    .la-carte-entrees,
    .la-carte-plats,
    .la-carte-desserts,
    .la-carte-menus,
    .la-carte-vins,
    .la-carte-poker,
    .la-carte-reservation {
        padding-block: var(--space-96);
    }

    .la-carte-intro__grid {
        grid-template-columns: 3fr 2fr;
        gap: var(--space-48);
    }

    .la-carte-entrees__grid,
    .la-carte-desserts__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .la-carte-plats__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .la-carte-menus__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .la-carte-vins__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .la-carte-poker__grid {
        grid-template-columns: 3fr 2fr;
        gap: var(--space-48);
    }

    .la-carte-poker__figure {
        align-self: start;
    }

    .la-carte-reservation__btn {
        width: auto;
    }
}

@media (min-width: 1024px) {
    .la-carte-hero__figure img {
        aspect-ratio: 16 / 9;
    }

    .la-carte-poker__figure img {
        aspect-ratio: 4 / 3;
    }
}

/* Mobile adjustments */
@media (max-width: 639px) {
    .la-carte-hero__title {
        font-size: var(--text-h1-size);
    }

    .la-carte-hero__subtitle {
        max-width: 100%;
    }

    .la-carte-hero__figure img {
        aspect-ratio: 4 / 3;
    }

    .la-carte-intro__quote blockquote {
        font-size: 1.5rem;
    }

    .la-carte-reservation__btn {
        width: 100%;
    }
}


/* Assiettes page styles */

.assiettes-page {
  background-color: var(--color-ivoire);
}

/* Introduction éditoriale */
.assiettes-intro {
  padding-block: var(--space-64) var(--space-48);
}

.assiettes-intro__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-24);
}

.assiettes-intro__content {
  grid-column: 1 / span 6;
  min-width: 0;
}

.assiettes-intro__title {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  font-weight: var(--text-h1-weight);
  margin-block-end: var(--space-24);
}

.assiettes-intro__lead {
  max-width: 65ch;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  margin-block-end: 0;
}

/* Philosophie culinaire */
.assiettes-philosophie {
  padding-block: var(--space-64);
}

.assiettes-philosophie__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-24);
  align-items: start;
}

.assiettes-philosophie__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.assiettes-philosophie__text h2 {
  margin-block-end: var(--space-16);
}

.assiettes-philosophie__text p {
  margin-block-end: var(--space-16);
}

.assiettes-philosophie__quote {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  color: var(--color-brun-noisette);
  margin-block: var(--space-24);
  padding-inline-start: var(--space-24);
  border-inline-start: 2px solid var(--color-vert-mousse);
}

.assiettes-philosophie__list {
  margin-block-end: 0;
  padding-inline-start: var(--space-24);
}

.assiettes-philosophie__media {
  grid-column: 8 / span 4;
  min-width: 0;
}

.assiettes-philosophie__frame {
  margin-block-end: 0;
}

.assiettes-philosophie__frame .image-frame {
  aspect-ratio: 3 / 4;
}

/* Sélection d'assiettes signature */
.assiettes-signature {
  padding-block: var(--space-64);
}

.assiettes-signature__heading {
  margin-block-end: var(--space-32);
}

.assiettes-signature__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.assiettes-signature__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.assiettes-signature__card .image-frame {
  aspect-ratio: 3 / 4;
  margin-block-end: var(--space-24);
}

.assiettes-signature__card-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.assiettes-signature__card-body .badge {
  align-self: flex-start;
}

.assiettes-signature__card-body h3 {
  margin-block-end: 0;
}

.assiettes-signature__card-body p {
  margin-block-end: 0;
}

/* Le lien avec la table */
.assiettes-table {
  padding-block: var(--space-64);
}

.assiettes-table__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-24);
  align-items: start;
}

.assiettes-table__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.assiettes-table__text h2 {
  margin-block-end: var(--space-16);
}

.assiettes-table__text p {
  margin-block-end: var(--space-16);
}

.assiettes-table__quote {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  color: var(--color-ivoire-clair);
  margin-block: var(--space-24);
  padding-inline-start: var(--space-24);
  border-inline-start: 2px solid var(--color-vert-mousse);
}

.assiettes-table__media {
  grid-column: 8 / span 5;
  min-width: 0;
}

.assiettes-table__frame {
  margin-block-end: 0;
}

.assiettes-table__frame .image-frame {
  aspect-ratio: 4 / 3;
}

/* Le Card Lounge */
.assiettes-lounge {
  padding-block: var(--space-64);
}

.assiettes-lounge__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-24);
  align-items: start;
}

.assiettes-lounge__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.assiettes-lounge__text h2 {
  margin-block-end: var(--space-16);
}

.assiettes-lounge__text p {
  margin-block-end: var(--space-16);
}

.assiettes-lounge__list {
  margin-block-end: 0;
  padding-inline-start: var(--space-24);
}

.assiettes-lounge__media {
  grid-column: 8 / span 4;
  min-width: 0;
}

.assiettes-lounge__frame {
  margin-block-end: 0;
}

.assiettes-lounge__frame .image-frame {
  aspect-ratio: 3 / 4;
}

/* La Poker Room */
.assiettes-poker {
  padding-block: var(--space-64);
}

.assiettes-poker__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-24);
  align-items: start;
}

.assiettes-poker__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.assiettes-poker__text h2 {
  margin-block-end: var(--space-16);
}

.assiettes-poker__text p {
  margin-block-end: var(--space-16);
}

.assiettes-poker__quote {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  color: var(--color-ivoire-clair);
  margin-block: var(--space-24);
  padding-inline-start: var(--space-24);
  border-inline-start: 2px solid var(--color-vert-mousse);
}

.assiettes-poker__media {
  grid-column: 8 / span 5;
  min-width: 0;
}

.assiettes-poker__frame {
  margin-block-end: 0;
}

.assiettes-poker__frame .image-frame {
  aspect-ratio: 4 / 3;
}

/* Témoignage ou citation */
.assiettes-citation {
  padding-block: var(--space-64);
}

.assiettes-citation__inner {
  display: flex;
  justify-content: center;
}

.assiettes-citation__frame {
  width: 50%;
  min-width: 0;
  text-align: center;
  margin-block-end: 0;
}

.assiettes-citation__frame blockquote {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  color: var(--color-brun-noisette);
  margin-block: 0 var(--space-16);
  padding-inline-start: 0;
  border-inline-start: none;
  max-width: 50ch;
  margin-inline: auto;
}

.assiettes-citation__frame figcaption {
  margin-block-start: 0;
}

/* Appel à l'action */
.assiettes-cta {
  padding-block: var(--space-64);
}

.assiettes-cta__inner {
  display: flex;
  justify-content: center;
}

.assiettes-cta__frame {
  width: 60%;
  min-width: 0;
  text-align: center;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-24);
}

.assiettes-cta__frame h2 {
  margin-block-end: 0;
}

.assiettes-cta__frame p {
  margin-inline: auto;
  margin-block-end: 0;
}

.assiettes-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-16);
}

/* Responsive */
@media (max-width: 1023px) {
  .assiettes-intro__content,
  .assiettes-philosophie__text,
  .assiettes-table__text,
  .assiettes-lounge__text,
  .assiettes-poker__text {
    grid-column: 1 / span 7;
  }

  .assiettes-philosophie__media,
  .assiettes-lounge__media {
    grid-column: 8 / span 5;
  }

  .assiettes-table__media,
  .assiettes-poker__media {
    grid-column: 8 / span 5;
  }

  .assiettes-signature__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .assiettes-signature__card:last-child {
    grid-column: 1 / -1;
  }

  .assiettes-citation__frame {
    width: 70%;
  }

  .assiettes-cta__frame {
    width: 80%;
  }
}

@media (max-width: 767px) {
  .assiettes-intro__inner,
  .assiettes-philosophie__grid,
  .assiettes-table__grid,
  .assiettes-lounge__grid,
  .assiettes-poker__grid {
    grid-template-columns: 1fr;
    row-gap: var(--space-32);
  }

  .assiettes-intro__content,
  .assiettes-philosophie__text,
  .assiettes-philosophie__media,
  .assiettes-table__text,
  .assiettes-table__media,
  .assiettes-lounge__text,
  .assiettes-lounge__media,
  .assiettes-poker__text,
  .assiettes-poker__media {
    grid-column: 1 / -1;
  }

  .assiettes-signature__grid {
    grid-template-columns: 1fr;
  }

  .assiettes-signature__card:last-child {
    grid-column: auto;
  }

  .assiettes-citation__frame {
    width: 100%;
  }

  .assiettes-cta__frame {
    width: 100%;
  }

  .assiettes-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .assiettes-cta__actions .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cadre-suspendu,
  .image-frame img {
    transition: none;
  }
}


/* Page-owned styles for Restaurant page */
.restaurant-main {
    width: 100%;
}

/* Introduction */
.restaurant-intro__title {
    text-align: center;
    margin-block-end: var(--space-48);
}

.restaurant-intro__frame {
    width: 50%;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-24);
    align-items: flex-start;
}

.restaurant-intro__text {
    max-width: 65ch;
    text-align: left;
}

.restaurant-intro__details {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    width: 100%;
}

.restaurant-intro__details li {
    margin-block-start: 0;
    line-height: var(--text-body-line-height);
}

/* Philosophy */
.restaurant-philosophy__title {
    margin-block-end: var(--space-48);
}

.restaurant-philosophy__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-24);
    align-items: start;
}

.restaurant-philosophy__card {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    min-width: 0;
}

.restaurant-philosophy__card:nth-child(2) {
    transform: translateY(var(--space-16));
}

.restaurant-philosophy__card:nth-child(3) {
    transform: translateY(var(--space-32));
}

.restaurant-philosophy__card p {
  text-align: left;
}

.restaurant-philosophy__card ul {
    list-style: disc;
    padding-inline-start: var(--space-24);
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.restaurant-philosophy__card li {
    margin-block-start: 0;
}

/* Entrées */
.restaurant-entrees__title {
    margin-block-end: var(--space-48);
}

.restaurant-entrees__frame {
    width: 60%;
    margin-inline: 0 auto 0 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    align-items: flex-start;
}

.restaurant-entrees__intro {
    max-width: 60ch;
    text-align: left;
}

.restaurant-entrees__list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    width: 100%;
}

.restaurant-entrees__list li {
    margin-block-start: 0;
    padding-block-end: var(--space-16);
    border-block-end: 1px solid var(--color-pierre-calcaire);
}

.restaurant-entrees__list li:last-child {
    border-block-end: none;
    padding-block-end: 0;
}

.restaurant-entrees__list h4 {
    margin-block-end: var(--space-4);
}

.restaurant-entrees__list p {
  text-align: left;
}

/* Plats */
.restaurant-plats__title {
    margin-block-end: var(--space-48);
}

.restaurant-plats__frame {
    width: 60%;
    margin-inline: 0 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    align-items: flex-start;
}

.restaurant-plats__intro {
    max-width: 60ch;
    text-align: left;
}

.restaurant-plats__list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    width: 100%;
}

.restaurant-plats__list li {
    margin-block-start: 0;
    padding-block-end: var(--space-16);
    border-block-end: 1px solid var(--color-pierre-calcaire);
}

.restaurant-plats__list li:last-child {
    border-block-end: none;
    padding-block-end: 0;
}

.restaurant-plats__list h4 {
    margin-block-end: var(--space-4);
}

.restaurant-plats__list p {
  text-align: left;
}

/* Desserts */
.restaurant-desserts__title {
    margin-block-end: var(--space-48);
}

.restaurant-desserts__frame {
    width: 60%;
    margin-inline: 0 auto 0 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    align-items: flex-start;
}

.restaurant-desserts__intro {
    max-width: 60ch;
    text-align: left;
}

.restaurant-desserts__list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    width: 100%;
}

.restaurant-desserts__list li {
    margin-block-start: 0;
    padding-block-end: var(--space-16);
    border-block-end: 1px solid var(--color-pierre-calcaire);
}

.restaurant-desserts__list li:last-child {
    border-block-end: none;
    padding-block-end: 0;
}

.restaurant-desserts__list h4 {
    margin-block-end: var(--space-4);
}

.restaurant-desserts__list p {
  text-align: left;
}

/* Dressage */
.restaurant-dressage__title {
    margin-block-end: var(--space-48);
}

.restaurant-dressage__frame {
    width: 40%;
    margin-inline: 0 auto 0 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    align-items: flex-start;
}

.restaurant-dressage__figure {
    margin-block-end: 0;
    width: 100%;
}

.restaurant-dressage__image-wrapper {
    aspect-ratio: 4 / 3;
    width: 100%;
    margin-block-end: var(--space-8);
}

.restaurant-dressage__text {
    max-width: 55ch;
    text-align: left;
}

.restaurant-dressage__details {
    list-style: disc;
    padding-inline-start: var(--space-24);
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.restaurant-dressage__details li {
    margin-block-start: 0;
}

/* Ambiance */
.restaurant-ambiance__title {
    margin-block-end: var(--space-48);
}

.restaurant-ambiance__frame {
    width: 50%;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    align-items: flex-start;
}

.restaurant-ambiance__text {
    max-width: 60ch;
    text-align: left;
}

/* Transition */
.restaurant-transition__title {
    margin-block-end: var(--space-48);
}

.restaurant-transition__frame {
    width: 70%;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    align-items: flex-start;
    transform: rotate(-0.5deg);
}

.restaurant-transition__text {
    max-width: 70ch;
    text-align: left;
}

.restaurant-transition__list {
    list-style: disc;
    padding-inline-start: var(--space-24);
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.restaurant-transition__list li {
    margin-block-start: 0;
}

/* Poker Room / Card Lounge */
.restaurant-poker__title {
    margin-block-end: var(--space-48);
}

.restaurant-poker__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-24);
    align-items: start;
}

.restaurant-poker__card {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    min-width: 0;
}

.restaurant-poker__card p {
  text-align: left;
}

.restaurant-poker__card ul {
    list-style: disc;
    padding-inline-start: var(--space-24);
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.restaurant-poker__card li {
    margin-block-start: 0;
}

/* Reservation */
.restaurant-reservation__title {
    margin-block-end: var(--space-48);
}

.restaurant-reservation__frame {
    width: 70%;
    margin-inline: auto;
    background-color: var(--color-vert-mousse);
    color: var(--color-ivoire-clair);
    border: 1px solid var(--color-vert-mousse);
    border-radius: var(--border-radius-frame);
    box-shadow: var(--shadow-suspendue);
    padding: var(--surface-card-padding);
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    align-items: center;
    text-align: center;
}

.restaurant-reservation__frame h3 {
    color: var(--color-ivoire-clair);
}

.restaurant-reservation__text {
    max-width: 60ch;
    margin-inline: auto;
    text-align: center;
}

.restaurant-reservation__details {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    width: 100%;
    max-width: 60ch;
    margin-inline: auto;
}

.restaurant-reservation__details li {
    margin-block-start: 0;
}

.restaurant-reservation__details a {
    color: var(--color-ivoire-clair);
    text-decoration: underline;
}

.restaurant-reservation__details a:hover {
    color: var(--color-pierre-calcaire);
}

.restaurant-reservation__btn {
    background-color: var(--color-ivoire-clair);
    color: var(--color-vert-mousse);
    border-color: var(--color-ivoire-clair);
    margin-block-start: var(--space-8);
}

.restaurant-reservation__btn:hover {
    background-color: var(--color-bordeaux-sourd);
    border-color: var(--color-bordeaux-sourd);
    color: var(--color-ivoire-clair);
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1023px) {
    .restaurant-intro__frame {
        width: 70%;
    }

    .restaurant-philosophy__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .restaurant-philosophy__card:nth-child(2) {
        transform: translateY(0);
    }

    .restaurant-philosophy__card:nth-child(3) {
        transform: translateY(0);
        grid-column: span 2;
    }

    .restaurant-entrees__frame,
    .restaurant-plats__frame,
    .restaurant-desserts__frame {
        width: 80%;
    }

    .restaurant-dressage__frame {
        width: 60%;
    }

    .restaurant-ambiance__frame {
        width: 70%;
    }

    .restaurant-transition__frame {
        width: 85%;
    }

    .restaurant-reservation__frame {
        width: 85%;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .restaurant-intro__title {
        font-size: var(--text-h1-size);
    }

    .restaurant-intro__frame {
        width: 90%;
    }

    .restaurant-philosophy__grid {
        grid-template-columns: 1fr;
        gap: var(--space-16);
    }

    .restaurant-philosophy__card:nth-child(2),
    .restaurant-philosophy__card:nth-child(3) {
        transform: translateY(0);
        grid-column: auto;
    }

    .restaurant-entrees__frame,
    .restaurant-plats__frame,
    .restaurant-desserts__frame,
    .restaurant-dressage__frame,
    .restaurant-ambiance__frame,
    .restaurant-transition__frame,
    .restaurant-reservation__frame {
        width: 90%;
        margin-inline: auto;
    }

    .restaurant-transition__frame {
        transform: none;
    }

    .restaurant-poker__grid {
        grid-template-columns: 1fr;
        gap: var(--space-16);
    }

    .restaurant-reservation__btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .restaurant-philosophy__card:nth-child(2),
    .restaurant-philosophy__card:nth-child(3),
    .restaurant-transition__frame {
        transform: none;
    }
}


/* Cuisine page — Cadres Suspendus */

.cuisine-main {
  --cuisine-col-8: minmax(0, 8fr);
  --cuisine-col-12: minmax(0, 12fr);
}

/* Introduction culinaire */
.cuisine-intro__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
}

.cuisine-intro__title,
.cuisine-intro__lead,
.cuisine-intro__details {
  grid-column: span 8;
  max-width: 800px;
}

.cuisine-intro__title {
  margin-block-end: var(--space-16);
}

.cuisine-intro__lead {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  margin-block-end: var(--space-24);
}

.cuisine-intro__figure {
  grid-column: span 12;
  margin-block-end: var(--space-24);
}

.cuisine-intro__figure img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
}

.cuisine-intro__details {
  margin-block-start: var(--space-16);
  color: var(--color-brun-noisette);
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
}

/* Philosophie du chef */
.cuisine-philosophie__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.cuisine-philosophie__title {
  margin-block-end: var(--space-16);
}

.cuisine-philosophie__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
  align-items: start;
}

.cuisine-philosophie__card {
  grid-column: span 5;
  max-width: 400px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.cuisine-philosophie__card--first {
  grid-column: 1 / span 5;
  transform: translateY(0);
}

.cuisine-philosophie__card--second {
  grid-column: 8 / span 5;
  transform: translateY(24px);
}

.cuisine-philosophie__card h3 {
  margin-block-end: 0;
}

.cuisine-philosophie__card p {
  margin-block-end: 0;
  }

/* Assiettes signatures */
.cuisine-signatures__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.cuisine-signatures__title {
  margin-block-end: var(--space-16);
}

.cuisine-signatures__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.cuisine-signatures__card {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
  align-items: center;
  min-width: 0;
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
}

.cuisine-signatures__media {
  grid-column: span 4;
  min-width: 0;
  border-radius: var(--border-radius-media);
  overflow: hidden;
  border: 1px solid var(--color-vert-mousse);
}

.cuisine-signatures__media img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}

.cuisine-signatures__content {
  grid-column: span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.cuisine-signatures__content h3 {
  margin-block-end: 0;
}

.cuisine-signatures__content p {
  margin-block-end: 0;
  }

/* Carte des vins */
.cuisine-vins__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
}

.cuisine-vins__title,
.cuisine-vins__lead {
  grid-column: span 8;
}

.cuisine-vins__title {
  margin-block-end: var(--space-16);
}

.cuisine-vins__lead {
  margin-block-end: var(--space-24);
  max-width: 65ch;
}

.cuisine-vins__list {
  grid-column: span 8;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-16) var(--space-24);
  list-style: disc;
  padding-inline-start: var(--space-24);
  margin-block-end: 0;
}

.cuisine-vins__list li {
  min-width: 0;
  line-height: var(--text-body-line-height);
}

/* Expérience en salle */
.cuisine-salle__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
}

.cuisine-salle__title {
  grid-column: span 8;
  margin-block-end: var(--space-16);
}

.cuisine-salle__figure {
  grid-column: span 12;
  margin-block-end: var(--space-24);
}

.cuisine-salle__figure img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
}

.cuisine-salle__text {
  grid-column: span 8;
  max-width: 65ch;
  margin-block-end: 0;
}

/* Lien avec le poker */
.cuisine-poker__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.cuisine-poker__title {
  margin-block-end: var(--space-16);
}

.cuisine-poker__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
  align-items: stretch;
}

.cuisine-poker__card {
  grid-column: span 5;
  max-width: 500px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  transition: box-shadow var(--transition-elevation), transform var(--transition-elevation);
}

.cuisine-poker__card:first-child {
  grid-column: 1 / span 5;
}

.cuisine-poker__card:last-child {
  grid-column: 8 / span 5;
}

.cuisine-poker__card:hover {
  box-shadow: var(--shadow-elevation);
  transform: translateY(-4px);
}

.cuisine-poker__card h3 {
  margin-block-end: 0;
}

.cuisine-poker__card p {
  margin-block-end: 0;
  }

/* Produits de saison */
.cuisine-saisons__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
}

.cuisine-saisons__title,
.cuisine-saisons__lead {
  grid-column: span 8;
}

.cuisine-saisons__title {
  margin-block-end: var(--space-16);
}

.cuisine-saisons__lead {
  margin-block-end: var(--space-24);
  max-width: 65ch;
}

.cuisine-saisons__list {
  grid-column: span 12;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-16) var(--space-24);
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
}

.cuisine-saisons__list li {
  min-width: 0;
  line-height: var(--text-body-line-height);
  padding: var(--space-12);
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-pierre-calcaire);
  border-radius: var(--border-radius-frame);
  box-shadow: var(--shadow-douce);
}

.cuisine-saisons__list strong {
  color: var(--color-vert-mousse);
  font-weight: 600;
}

/* Réservation et contact */
.cuisine-reservation__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-24);
  max-width: 600px;
  margin-inline: auto;
}

.cuisine-reservation__title {
  margin-block-end: 0;
}

.cuisine-reservation__text,
.cuisine-reservation__contacts {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.cuisine-reservation__contacts a {
  color: var(--color-vert-mousse);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cuisine-reservation__contacts a:hover {
  color: var(--color-bordeaux-sourd);
}

.cuisine-reservation__btn {
  margin-block-start: var(--space-8);
}

/* Responsive */
@media (max-width: 1023px) {
  .cuisine-intro__title,
  .cuisine-intro__lead,
  .cuisine-intro__details,
  .cuisine-vins__title,
  .cuisine-vins__lead,
  .cuisine-vins__list,
  .cuisine-salle__title,
  .cuisine-salle__text,
  .cuisine-saisons__title,
  .cuisine-saisons__lead {
    grid-column: span 12;
  }

  .cuisine-philosophie__card--first,
  .cuisine-philosophie__card--second {
    grid-column: span 6;
    transform: none;
    max-width: none;
  }

  .cuisine-philosophie__card--second {
    grid-column: 7 / span 6;
  }

  .cuisine-signatures__card {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .cuisine-signatures__media {
    grid-column: span 5;
  }

  .cuisine-signatures__content {
    grid-column: span 7;
  }

  .cuisine-poker__card:first-child,
  .cuisine-poker__card:last-child {
    grid-column: span 6;
    max-width: none;
  }

  .cuisine-poker__card:last-child {
    grid-column: 7 / span 6;
  }

  .cuisine-saisons__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .cuisine-intro__container,
  .cuisine-philosophie__grid,
  .cuisine-signatures__card,
  .cuisine-vins__container,
  .cuisine-salle__container,
  .cuisine-poker__grid,
  .cuisine-saisons__container {
    grid-template-columns: 1fr;
    gap: var(--space-16);
  }

  .cuisine-intro__title,
  .cuisine-intro__lead,
  .cuisine-intro__details,
  .cuisine-intro__figure,
  .cuisine-philosophie__card,
  .cuisine-philosophie__card--first,
  .cuisine-philosophie__card--second,
  .cuisine-signatures__media,
  .cuisine-signatures__content,
  .cuisine-vins__title,
  .cuisine-vins__lead,
  .cuisine-vins__list,
  .cuisine-salle__title,
  .cuisine-salle__figure,
  .cuisine-salle__text,
  .cuisine-poker__card,
  .cuisine-poker__card:first-child,
  .cuisine-poker__card:last-child,
  .cuisine-saisons__title,
  .cuisine-saisons__lead,
  .cuisine-saisons__list {
    grid-column: auto;
    max-width: 100%;
    width: 100%;
  }

  .cuisine-philosophie__card--second {
    transform: none;
  }

  .cuisine-signatures__card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .cuisine-signatures__media {
    width: 100%;
  }

  .cuisine-signatures__content {
    width: 100%;
  }

  .cuisine-vins__list {
    grid-template-columns: 1fr;
    padding-inline-start: var(--space-16);
  }

  .cuisine-saisons__list {
    grid-template-columns: 1fr;
  }

  .cuisine-reservation__container {
    max-width: 100%;
    padding-inline: var(--space-24);
  }

  .cuisine-reservation__btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cuisine-poker__card,
  .cadre-suspendu,
  .image-frame img {
    transition: none;
  }
}


/* ===== Page: Le Salon ===== */
/* Tous les sélecteurs sont scopés au <main> ou à une racine de composant de page. */

main {
  overflow-x: hidden;
}

/* --- Introduction éditoriale --- */
.salon-intro {
  padding-block: var(--space-96) var(--space-64);
}

.salon-intro__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
  align-items: start;
}

.salon-intro__text {
  grid-column: 1 / span 7;
  min-width: 0;
}

.salon-intro__figure {
  grid-column: 8 / span 5;
  min-width: 0;
  margin-block-end: 0;
}

.salon-kicker {
  font-size: var(--text-caption-size);
  font-weight: var(--text-caption-weight);
  letter-spacing: var(--text-caption-letter-spacing);
  text-transform: uppercase;
  color: var(--color-vert-mousse);
  margin-block-end: var(--space-12);
}

.salon-intro h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  font-weight: var(--text-h1-weight);
  margin-block-end: var(--space-24);
  max-width: 12ch;
}

.salon-intro__subtitle {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--color-brun-noisette);
  margin-block-end: var(--space-24);
  max-width: 65ch;
}

.salon-intro__rule {
  width: 64px;
  height: 2px;
  background-color: var(--color-vert-mousse);
  margin-block-end: var(--space-24);
}

.salon-intro__paragraph {
  max-width: 65ch;
  margin-block-end: 0;
}

.salon-intro__image-frame {
  aspect-ratio: 3 / 4;
}

.salon-intro__image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.salon-intro__figure figcaption {
  margin-block-start: var(--space-12);
}

/* --- Le concept en bref --- */
.salon-concept {
  padding-block: var(--space-96);
}

.salon-concept__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
  align-items: start;
}

.salon-concept__text {
  grid-column: 4 / span 6;
  min-width: 0;
  text-align: left;
}

.salon-concept__figure {
  grid-column: span 3;
  min-width: 0;
  margin-block-end: 0;
}

.salon-concept__figure--left {
  grid-column: 1 / span 3;
}

.salon-concept__figure--right {
  grid-column: 10 / span 3;
}

.salon-concept__image-frame {
  aspect-ratio: 3 / 4;
}

.salon-concept__image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.salon-concept__figure figcaption {
  margin-block-start: var(--space-12);
}

.salon-concept__text h2 {
  text-align: center;
  margin-block-end: var(--space-24);
}

.salon-concept__text p {
  margin-inline: auto;
}

.salon-concept__list-title {
  font-weight: 600;
  color: var(--color-brun-noisette);
  margin-block-start: var(--space-24);
  margin-block-end: var(--space-8);
}

.salon-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  max-width: 65ch;
  margin-inline: auto;
}

.salon-list li {
  position: relative;
  padding-inline-start: var(--space-24);
  margin-block-end: var(--space-8);
}

.salon-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 8px;
  height: 8px;
  background-color: var(--color-vert-mousse);
  border-radius: 50%;
}

.salon-list li:last-child {
  margin-block-end: 0;
}

/* --- Le restaurant --- */
.salon-restaurant {
  padding-block: var(--space-96);
}

.salon-restaurant__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
  align-items: start;
}

.salon-restaurant__text {
  grid-column: 1 / span 7;
  min-width: 0;
}

.salon-restaurant__figure {
  grid-column: 8 / span 5;
  min-width: 0;
  margin-block-end: 0;
}

.salon-restaurant__text h2 {
  margin-block-end: var(--space-24);
}

.salon-restaurant__text p {
  }

.salon-restaurant__list-title {
  font-weight: 600;
  color: var(--color-brun-noisette);
  margin-block-start: var(--space-24);
  margin-block-end: var(--space-8);
}

.salon-restaurant__text .salon-list {
  margin-inline: 0;
}

.salon-restaurant__image-frame {
  aspect-ratio: 3 / 4;
}

.salon-restaurant__image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.salon-restaurant__figure figcaption {
  margin-block-start: var(--space-12);
}

/* --- Le Card Lounge --- */
.salon-lounge {
  padding-block: var(--space-96);
}

.salon-lounge__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
  align-items: start;
}

.salon-lounge__text {
  grid-column: 3 / span 8;
  min-width: 0;
}

.salon-lounge__text h2 {
  text-align: center;
  margin-block-end: var(--space-24);
}

.salon-lounge__text p {
  margin-inline: auto;
}

.salon-lounge__aside {
  background-color: var(--color-pierre-calcaire);
  border: 1px solid var(--color-vert-mousse);
  border-radius: var(--border-radius-frame);
  padding: var(--space-24);
  margin-block-start: var(--space-24);
  max-width: 65ch;
  margin-inline: auto;
}

.salon-lounge__aside-title {
  font-weight: 600;
  color: var(--color-vert-mousse);
  margin-block-end: var(--space-8);
}

.salon-lounge__aside p:last-child {
  margin-block-end: 0;
}

.salon-lounge__figure {
  grid-column: 3 / span 8;
  min-width: 0;
  margin-block-start: var(--space-32);
  margin-block-end: 0;
}

.salon-lounge__image-frame {
  aspect-ratio: 16 / 9;
}

.salon-lounge__image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.salon-lounge__figure figcaption {
  margin-block-start: var(--space-12);
}

/* --- La Poker Room --- */
.salon-poker {
  padding-block: var(--space-96);
}

.salon-poker__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-24);
  align-items: start;
}

.salon-poker__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.salon-poker__figure {
  grid-column: 7 / span 6;
  min-width: 0;
  margin-block-end: 0;
}

.salon-poker__text h2 {
  color: var(--color-ivoire-clair);
  margin-block-end: var(--space-24);
}

.salon-poker__text p {
  color: var(--color-ivoire-clair);
  }

.salon-poker__list-title {
  font-weight: 600;
  color: var(--color-pierre-calcaire);
  margin-block-start: var(--space-24);
  margin-block-end: var(--space-8);
}

.salon-list--nuit {
  margin-inline: 0;
}

.salon-list--nuit li {
  color: var(--color-ivoire-clair);
}

.salon-list--nuit li::before {
  background-color: var(--color-vert-mousse);
}

.salon-poker__image-frame {
  aspect-ratio: 16 / 9;
}

.salon-poker__image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.salon-poker__figure figcaption {
  color: var(--color-pierre-calcaire);
  margin-block-start: var(--space-12);
}

/* --- Une soirée type --- */
.salon-evening {
  padding-block: var(--space-96);
}

.salon-evening__title {
  text-align: center;
  margin-block-end: var(--space-48);
}

.salon-evening__steps {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-24);
}

.salon-evening__step {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  margin-block-end: 0;
}

.salon-evening__step-number {
  font-family: var(--font-heading);
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  color: var(--color-vert-mousse);
}

.salon-evening__step h3 {
  margin-block-end: 0;
}

.salon-evening__step p {
  margin-block-end: 0;
  }

/* --- Les valeurs du Salon --- */
.salon-values {
  padding-block: var(--space-96);
}

.salon-values__title {
  text-align: left;
  margin-block-end: var(--space-48);
}

.salon-values__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.salon-value {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  margin-block-end: 0;
}

.salon-value h3 {
  margin-block-end: 0;
}

.salon-value p {
  margin-block-end: 0;
  }

/* --- Informations pratiques --- */
.salon-info {
  padding-block: var(--space-96);
}

.salon-info__title {
  text-align: center;
  margin-block-end: var(--space-48);
}

.salon-info__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-24);
}

.salon-info__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  margin-block-end: 0;
}

.salon-info__card h3 {
  margin-block-end: 0;
}

.salon-info__card address {
  font-style: normal;
  line-height: var(--text-body-line-height);
}

.salon-info__card p {
  margin-block-end: 0;
}

.salon-info__card .salon-list {
  margin-inline: 0;
}

/* --- Appel à l'action --- */
.salon-cta {
  padding-block: var(--space-96);
}

.salon-cta__card {
  max-width: 800px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-24);
  text-align: center;
  padding: var(--space-48);
}

.salon-cta__card h2 {
  margin-block-end: 0;
  color: var(--color-ivoire-clair);
}

.salon-cta__card p {
  margin-block-end: 0;
  color: var(--color-ivoire-clair);
}

.salon-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-16);
}

/* --- Responsive --- */
@media (max-width: 1023px) {
  .salon-intro__text,
  .salon-restaurant__text {
    grid-column: 1 / span 7;
  }

  .salon-intro__figure,
  .salon-restaurant__figure {
    grid-column: 8 / span 5;
  }

  .salon-concept__text {
    grid-column: 2 / span 10;
    order: 1;
  }

  .salon-concept__figure--left {
    grid-column: 2 / span 5;
    order: 2;
  }

  .salon-concept__figure--right {
    grid-column: 7 / span 5;
    order: 3;
  }

  .salon-lounge__text {
    grid-column: 2 / span 10;
  }

  .salon-lounge__figure {
    grid-column: 2 / span 10;
  }

  .salon-poker__text {
    grid-column: 1 / span 6;
  }

  .salon-poker__figure {
    grid-column: 7 / span 6;
  }

  .salon-evening__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .salon-values__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .salon-intro__grid,
  .salon-concept__grid,
  .salon-restaurant__grid,
  .salon-lounge__grid,
  .salon-poker__grid,
  .salon-info__grid {
    grid-template-columns: 1fr;
    gap: var(--space-32);
  }

  .salon-intro__text,
  .salon-intro__figure,
  .salon-concept__text,
  .salon-concept__figure,
  .salon-concept__figure--left,
  .salon-concept__figure--right,
  .salon-restaurant__text,
  .salon-restaurant__figure,
  .salon-lounge__text,
  .salon-lounge__figure,
  .salon-poker__text,
  .salon-poker__figure {
    grid-column: 1;
    order: initial;
  }

  .salon-intro h1 {
    font-size: var(--text-h1-size);
    max-width: none;
  }

  .salon-intro__subtitle,
  .salon-intro__paragraph,
  .salon-concept__text p,
  .salon-restaurant__text p,
  .salon-lounge__text p,
  .salon-poker__text p {
  }

  .salon-concept__text h2,
  .salon-lounge__text h2 {
    text-align: left;
  }

  .salon-concept__list-title,
  .salon-restaurant__list-title,
  .salon-poker__list-title {
    margin-block-start: var(--space-16);
  }

  .salon-list {
    max-width: none;
    margin-inline: 0;
  }

  .salon-evening__steps {
    grid-template-columns: 1fr;
    gap: var(--space-24);
  }

  .salon-values__grid {
    grid-template-columns: 1fr;
    gap: var(--space-24);
  }

  .salon-cta__card {
    padding: var(--space-32) var(--space-24);
  }

  .salon-cta__actions {
    flex-direction: column;
    width: 100%;
  }

  .salon-cta__actions .btn {
    width: 100%;
  }

  .salon-intro,
  .salon-concept,
  .salon-restaurant,
  .salon-lounge,
  .salon-poker,
  .salon-evening,
  .salon-values,
  .salon-info,
  .salon-cta {
    padding-block: var(--space-64);
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .salon-evening__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Poker Offline page styles */

.poker-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-bleu-nuit);
}

.poker-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.poker-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  filter: saturate(0.85);
}

.poker-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(30, 42, 56, 0.6);
}

.poker-hero__content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  padding: var(--space-48) var(--space-24);
  text-align: center;
  color: var(--color-ivoire-clair);
}

.poker-hero__content h1 {
  color: var(--color-ivoire-clair);
  font-size: var(--text-h1-size);
  margin-block-end: var(--space-24);
}

.poker-hero__content p {
  color: var(--color-ivoire-clair);
  font-size: var(--text-body-size);
  margin-inline: auto;
  margin-block-end: 0;
}

@media (min-width: 768px) {
  .poker-hero {
    min-height: 80vh;
  }

  .poker-hero__content {
    padding: var(--space-48);
  }
}

@media (max-width: 767px) {
  .poker-hero {
    min-height: 70vh;
  }

  .poker-hero__content h1 {
    font-size: 2.5rem;
  }

  .poker-hero__content p {
    font-size: 1rem;
  }
}

/* Philosophie */
.poker-philosophie__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-32);
  align-items: start;
}

.poker-philosophie__frame {
  width: 100%;
}

.poker-philosophie__frame .image-frame {
  aspect-ratio: 3 / 4;
  width: 100%;
}

.poker-philosophie__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.poker-philosophie__content {
  min-width: 0;
}

.poker-philosophie__content p {
  }

@media (min-width: 768px) {
  .poker-philosophie__grid {
    grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
    gap: var(--space-48);
  }
}

/* Poker Room */
.poker-room__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-32);
  align-items: start;
}

.poker-room__frame {
  width: 100%;
}

.poker-room__frame .image-frame {
  aspect-ratio: 16 / 9;
  width: 100%;
}

.poker-room__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.poker-room__content {
  min-width: 0;
}

.poker-room__content p {
  }

@media (min-width: 768px) {
  .poker-room__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-48);
  }
}

/* Card Lounge */
.poker-lounge__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-32);
  align-items: start;
}

.poker-lounge__frame {
  width: 100%;
}

.poker-lounge__frame .image-frame {
  aspect-ratio: 3 / 4;
  width: 100%;
}

.poker-lounge__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.poker-lounge__content {
  min-width: 0;
}

.poker-lounge__content p {
  }

@media (min-width: 768px) {
  .poker-lounge__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-48);
  }
}

/* Tables de Poker */
.poker-tables__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-32);
  align-items: start;
}

.poker-tables__frame {
  width: 100%;
}

.poker-tables__frame .image-frame {
  aspect-ratio: 16 / 9;
  width: 100%;
}

.poker-tables__frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.poker-tables__content {
  min-width: 0;
}

.poker-tables__content p {
  }

@media (min-width: 768px) {
  .poker-tables__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-48);
  }

  .poker-tables__frame {
    grid-column: 1 / -1;
  }

  .poker-tables__content {
    grid-column: 1 / -1;
    max-width: 800px;
    margin-inline: auto;
  }
}

/* Comparaison */
.poker-comparison__grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.poker-comparison__columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-24);
}

.poker-comparison__column {
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-pierre-calcaire);
  padding: var(--space-24);
  min-width: 0;
}

.poker-comparison__column h3 {
  margin-block-end: var(--space-16);
}

.poker-comparison__column ul {
  margin-block-end: 0;
  padding-inline-start: var(--space-24);
}

.poker-comparison__column--online {
  border-color: var(--color-bordeaux-sourd);
}

.poker-comparison__note {
  max-width: 65ch;
  margin-block-start: var(--space-16);
}

@media (min-width: 768px) {
  .poker-comparison__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-24);
  }
}

/* Soirée */
.poker-evening__grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.poker-evening__steps {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-24);
}

.poker-evening__step {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.poker-evening__step-number {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  font-weight: var(--text-h3-weight);
  color: var(--color-vert-mousse);
}

.poker-evening__step h3 {
  margin-block-end: 0;
}

.poker-evening__step p {
  margin-block-end: 0;
  }

@media (min-width: 768px) {
  .poker-evening__steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-24);
  }
}

/* Art de la table */
.poker-art__grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.poker-art__grid > p {
  }

.poker-art__gallery {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-24);
}

.poker-art__item {
  min-width: 0;
}

.poker-art__item .image-frame {
  aspect-ratio: 1 / 1;
  width: 100%;
}

.poker-art__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.poker-art__item--text {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}

.poker-art__text-frame {
  padding: var(--space-24);
  text-align: center;
}

.poker-art__text-frame p {
  margin-block-end: 0;
  margin-inline: auto;
}

@media (min-width: 768px) {
  .poker-art__gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-24);
  }
}

/* FAQ */
.poker-faq__grid {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.poker-faq__accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  max-width: 800px;
  width: 100%;
}

.poker-faq__item {
  background-color: var(--color-ivoire);
  border: 1px solid var(--color-pierre-calcaire);
  border-radius: var(--border-radius-frame);
  overflow: hidden;
}

.poker-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
  width: 100%;
  padding: var(--space-16) var(--space-24);
  background: none;
  border: none;
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: 500;
  color: var(--color-bleu-nuit);
  text-align: left;
  cursor: pointer;
  transition: color var(--transition-color);
}

.poker-faq__question:hover,
.poker-faq__question:focus-visible {
  color: var(--color-vert-mousse);
}

.poker-faq__icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  position: relative;
}

.poker-faq__icon::before,
.poker-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 2px;
  background-color: currentColor;
  transform: translate(-50%, -50%);
  transition: transform var(--transition-color);
}

.poker-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.poker-faq__item[data-open="true"] .poker-faq__icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}

.poker-faq__answer {
  padding: 0 var(--space-24) var(--space-24);
}

.poker-faq__answer p {
  margin-block-end: 0;
  }

/* CTA final */
.poker-cta__grid {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-block: var(--space-64);
}

.poker-cta__frame {
  width: 100%;
  max-width: 600px;
  padding: var(--space-48);
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  align-items: center;
  text-align: center;
  background-color: var(--color-ivoire);
  color: var(--color-bleu-nuit);
}

.poker-cta__frame h2 {
  color: var(--color-bleu-nuit);
  margin-block-end: 0;
}

.poker-cta__frame p {
  color: var(--color-bleu-nuit);
  margin-block-end: 0;
  }

.poker-cta__details {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: var(--color-brun-noisette);
}

@media (max-width: 767px) {
  .poker-cta__frame {
    padding: var(--space-32);
  }
}


.home-main {
  overflow: clip;
}

.home-hero {
  position: relative;
  padding-block: var(--space-64) var(--space-96);
}

.home-hero__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: center;
}

.home-hero__text {
  grid-column: 1 / span 6;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  align-items: flex-start;
}

.home-hero__title {
  font-size: var(--text-display-size);
  line-height: var(--text-display-line-height);
  max-width: 600px;
  margin-block-end: 0;
}

.home-hero__subtitle {
  max-width: 600px;
  margin-block-end: 0;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
  align-items: center;
}

.home-hero__frames {
  grid-column: 7 / span 6;
  min-width: 0;
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(12, minmax(0, 1fr));
  aspect-ratio: 1 / 1;
}

.home-hero__frame {
  position: relative;
  margin: 0;
  min-width: 0;
}

.home-hero__frame .image-frame {
  width: 100%;
  height: 100%;
  border-radius: 0;
  border: 1px solid var(--color-vert-mousse);
  box-shadow: var(--shadow-suspendue);
}

.home-hero__frame .image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.home-hero__frame--assiette {
  grid-column: 1 / span 6;
  grid-row: 1 / span 7;
  z-index: 1;
  transform: translateY(0);
}

.home-hero__frame--table {
  grid-column: 5 / span 6;
  grid-row: 3 / span 7;
  z-index: 2;
  transform: translateY(24px);
}

.home-hero__frame--interieur {
  grid-column: 2 / span 5;
  grid-row: 6 / span 7;
  z-index: 3;
  transform: translateY(48px);
}

.home-hero__frame--poker {
  grid-column: 6 / span 6;
  grid-row: 8 / span 5;
  z-index: 4;
  transform: translateY(72px);
}

.home-restaurant {
  padding-block: var(--space-96);
}

.home-restaurant__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-restaurant__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.home-restaurant__text p {
  }

.home-restaurant__visual {
  grid-column: 8 / span 4;
  min-width: 0;
}

.home-restaurant__frame {
  aspect-ratio: 4 / 5;
  padding: 0;
  overflow: hidden;
}

.home-restaurant__frame-inner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.home-cuisine {
  padding-block: var(--space-96);
}

.home-cuisine__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-cuisine__visual {
  grid-column: 1 / span 4;
  min-width: 0;
}

.home-cuisine__frame {
  aspect-ratio: 4 / 5;
  padding: 0;
  overflow: hidden;
}

.home-cuisine__frame-inner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.home-cuisine__text {
  grid-column: 6 / span 6;
  min-width: 0;
}

.home-cuisine__text p {
  }

.home-carte {
  padding-block: var(--space-96);
}

.home-carte__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
}

.home-carte__title {
  max-width: 600px;
  margin-block-end: 0;
}

.home-carte__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.home-carte__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.home-carte__card h3 {
  margin-block-end: 0;
}

.home-carte__card p {
  margin-block-end: 0;
}

.home-assiettes {
  padding-block: var(--space-96);
}

.home-assiettes__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-assiettes__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.home-assiettes__text p {
  }

.home-assiettes__visual {
  grid-column: 8 / span 4;
  min-width: 0;
}

.home-assiettes__frame {
  aspect-ratio: 4 / 5;
  padding: 0;
  overflow: hidden;
}

.home-assiettes__frame-inner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.home-interieur {
  padding-block: var(--space-96);
}

.home-interieur__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-interieur__visual {
  grid-column: 1 / span 4;
  min-width: 0;
}

.home-interieur__frame {
  aspect-ratio: 4 / 5;
  padding: 0;
  overflow: hidden;
}

.home-interieur__frame-inner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.home-interieur__text {
  grid-column: 6 / span 6;
  min-width: 0;
}

.home-interieur__text p {
  }

.home-salon {
  padding-block: var(--space-96);
}

.home-salon__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
}

.home-salon__text {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
}

.home-salon__text p {
  text-align: left;
}

.home-salon__frames {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.home-salon__frame {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.home-salon__frame h3 {
  margin-block-end: 0;
}

.home-salon__frame p {
  margin-block-end: 0;
}

.home-poker-offline {
  padding-block: var(--space-96);
}

.home-poker-offline__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-poker-offline__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.home-poker-offline__text p {
  }

.home-poker-offline__visual {
  grid-column: 7 / span 6;
  min-width: 0;
}

.home-poker-offline__frame {
  aspect-ratio: 3 / 2;
  padding: 0;
  overflow: hidden;
}

.home-poker-offline__frame-inner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.home-poker-room {
  padding-block: var(--space-96);
}

.home-poker-room__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-poker-room__visual {
  grid-column: 1 / span 6;
  min-width: 0;
}

.home-poker-room__frame {
  aspect-ratio: 3 / 2;
  padding: 0;
  overflow: hidden;
}

.home-poker-room__frame-inner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.home-poker-room__text {
  grid-column: 7 / span 6;
  min-width: 0;
}

.home-poker-room__text p {
  }

.home-card-lounge {
  padding-block: var(--space-96);
}

.home-card-lounge__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-card-lounge__text {
  grid-column: 1 / span 6;
  min-width: 0;
}

.home-card-lounge__text p {
  }

.home-card-lounge__visual {
  grid-column: 7 / span 6;
  min-width: 0;
}

.home-card-lounge__frame {
  aspect-ratio: 3 / 2;
  padding: 0;
  overflow: hidden;
}

.home-card-lounge__frame-inner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.home-tables {
  padding-block: var(--space-96);
}

.home-tables__container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-tables__visual {
  grid-column: 1 / span 6;
  min-width: 0;
}

.home-tables__frame {
  aspect-ratio: 3 / 2;
  padding: 0;
  overflow: hidden;
}

.home-tables__frame-inner {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 0;
}

.home-tables__text {
  grid-column: 7 / span 6;
  min-width: 0;
}

.home-tables__text p {
  }

.home-synergie {
  padding-block: var(--space-96);
}

.home-synergie__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
}

.home-synergie__text {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
}

.home-synergie__text p {
  text-align: left;
}

.home-synergie__frames {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.home-synergie__frame {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.home-synergie__frame h3 {
  margin-block-end: 0;
}

.home-synergie__frame p {
  margin-block-end: 0;
}

.home-galerie {
  padding-block: var(--space-96);
}

.home-galerie__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
}

.home-galerie__title {
  max-width: 600px;
  margin-block-end: 0;
}

.home-galerie__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-24);
}

.home-galerie__item {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: 0;
  overflow: hidden;
}

.home-galerie__item .image-frame {
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--color-vert-mousse);
}

.home-galerie__item .image-frame img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

.home-galerie__item figcaption {
  padding-inline: var(--space-24);
  padding-block-end: var(--space-24);
  margin-block-start: 0;
}

.home-reservation {
  padding-block: var(--space-96);
}

.home-reservation__container {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  align-items: center;
}

.home-reservation__container h2,
.home-reservation__container p {
  margin-block-end: 0;
}

.home-reservation__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
  justify-content: center;
}

.home-contact {
  padding-block: var(--space-96);
}

.home-contact__container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-48);
  align-items: start;
}

.home-contact__coordonnees,
.home-contact__form {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.home-contact__coordonnees h2,
.home-contact__form h2 {
  margin-block-end: 0;
}

.home-contact__coordonnees p,
.home-contact__form p {
  margin-block-end: 0;
}

.home-contact__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.home-contact__list li {
  margin-block-start: 0;
}

.home-contact__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.home-contact__field label {
  margin-block-end: 0;
}

.home-contact__form .btn {
  align-self: flex-start;
}

@media (min-width: 768px) and (max-width: 1023px) {
  .home-hero__container {
    grid-template-columns: 1fr;
    gap: var(--space-48);
  }

  .home-hero__text {
    grid-column: 1;
    max-width: 600px;
  }

  .home-hero__frames {
    grid-column: 1;
    max-width: 600px;
    width: 100%;
    justify-self: center;
  }

  .home-restaurant__container,
  .home-cuisine__container,
  .home-assiettes__container,
  .home-interieur__container,
  .home-poker-offline__container,
  .home-poker-room__container,
  .home-card-lounge__container,
  .home-tables__container {
    grid-template-columns: 1fr;
    gap: var(--space-48);
  }

  .home-restaurant__text,
  .home-restaurant__visual,
  .home-cuisine__text,
  .home-cuisine__visual,
  .home-assiettes__text,
  .home-assiettes__visual,
  .home-interieur__text,
  .home-interieur__visual,
  .home-poker-offline__text,
  .home-poker-offline__visual,
  .home-poker-room__text,
  .home-poker-room__visual,
  .home-card-lounge__text,
  .home-card-lounge__visual,
  .home-tables__text,
  .home-tables__visual {
    grid-column: 1;
  }

  .home-restaurant__visual,
  .home-cuisine__visual,
  .home-assiettes__visual,
  .home-interieur__visual,
  .home-poker-offline__visual,
  .home-poker-room__visual,
  .home-card-lounge__visual,
  .home-tables__visual {
    max-width: 400px;
    justify-self: center;
  }

  .home-contact__container {
    grid-template-columns: 1fr;
    gap: var(--space-48);
  }
}

@media (max-width: 767px) {
  .home-hero {
    padding-block: var(--space-48) var(--space-64);
  }

  .home-hero__container {
    grid-template-columns: 1fr;
    gap: var(--space-32);
  }

  .home-hero__text {
    grid-column: 1;
    align-items: center;
    text-align: center;
  }

  .home-hero__title {
    font-size: var(--text-h1-size);
    max-width: 100%;
  }

  .home-hero__subtitle {
    max-width: 100%;
  }

  .home-hero__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions .btn {
    width: 100%;
  }

  .home-hero__frames {
    grid-column: 1;
    width: 100%;
    aspect-ratio: 1 / 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-16);
  }

  .home-hero__frame {
    grid-column: auto;
    grid-row: auto;
    transform: none;
  }

  .home-hero__frame--assiette {
    grid-column: 1;
    grid-row: 1;
  }

  .home-hero__frame--table {
    grid-column: 2;
    grid-row: 1;
  }

  .home-hero__frame--interieur {
    grid-column: 1;
    grid-row: 2;
  }

  .home-hero__frame--poker {
    grid-column: 2;
    grid-row: 2;
  }

  .home-restaurant,
  .home-cuisine,
  .home-carte,
  .home-assiettes,
  .home-interieur,
  .home-salon,
  .home-poker-offline,
  .home-poker-room,
  .home-card-lounge,
  .home-tables,
  .home-synergie,
  .home-galerie,
  .home-reservation,
  .home-contact {
    padding-block: var(--space-64);
  }

  .home-restaurant__container,
  .home-cuisine__container,
  .home-assiettes__container,
  .home-interieur__container,
  .home-poker-offline__container,
  .home-poker-room__container,
  .home-card-lounge__container,
  .home-tables__container {
    grid-template-columns: 1fr;
    gap: var(--space-32);
  }

  .home-restaurant__text,
  .home-restaurant__visual,
  .home-cuisine__text,
  .home-cuisine__visual,
  .home-assiettes__text,
  .home-assiettes__visual,
  .home-interieur__text,
  .home-interieur__visual,
  .home-poker-offline__text,
  .home-poker-offline__visual,
  .home-poker-room__text,
  .home-poker-room__visual,
  .home-card-lounge__text,
  .home-card-lounge__visual,
  .home-tables__text,
  .home-tables__visual {
    grid-column: 1;
  }

  .home-restaurant__text p,
  .home-cuisine__text p,
  .home-assiettes__text p,
  .home-interieur__text p,
  .home-poker-offline__text p,
  .home-poker-room__text p,
  .home-card-lounge__text p,
  .home-tables__text p {
  }

  .home-restaurant__visual,
  .home-cuisine__visual,
  .home-assiettes__visual,
  .home-interieur__visual,
  .home-poker-offline__visual,
  .home-poker-room__visual,
  .home-card-lounge__visual,
  .home-tables__visual {
    max-width: 100%;
  }

  .home-carte__grid,
  .home-salon__frames,
  .home-synergie__frames,
  .home-galerie__grid {
    grid-template-columns: 1fr;
    gap: var(--space-24);
  }

  .home-salon__text,
  .home-synergie__text {
    max-width: 100%;
  }

  .home-reservation__container {
    max-width: 100%;
  }

  .home-reservation__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .home-reservation__actions .btn {
    width: 100%;
  }

  .home-contact__container {
    grid-template-columns: 1fr;
    gap: var(--space-32);
  }
}


.thank-you {
  padding-block: var(--space-64);
}

@media (min-width: 768px) {
  .thank-you {
    padding-block: var(--space-96);
  }
}

.thank-you__container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-gutter-mobile);
}

@media (min-width: 768px) {
  .thank-you__container {
    padding-inline: var(--container-gutter-desktop);
  }
}

.thank-you__content {
  max-width: 640px;
  margin-inline: auto;
  text-align: center;
}

.thank-you__title {
  margin-block-end: var(--space-24);
}

.thank-you__message {
  font-size: var(--text-h4-size);
  line-height: var(--text-h4-line-height);
  font-weight: var(--text-h4-weight);
  color: var(--color-brun-noisette);
  margin-block-end: var(--space-16);
}

.thank-you__details {
  margin-block-end: var(--space-32);
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-16);
  justify-content: center;
}
