

:root {
  --color-pistachio: #B5C9A3;
  --color-night-blue: #1A2A3A;
  --color-terracotta: #C96F4A;
  --color-cream: #F5F0E6;
  --color-lilac: #C5A3C4;
  --color-night-blue-rgb: 26, 42, 58;
  --color-lilac-rgb: 197, 163, 196;
  --color-terracotta-rgb: 201, 111, 74;

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

  --text-display-size: clamp(2rem, 5vw, 2.5rem);
  --text-display-line-height: 1.2;
  --text-h1-size: clamp(1.75rem, 4vw, 2rem);
  --text-h1-line-height: 1.25;
  --text-h2-size: clamp(1.375rem, 3vw, 1.5rem);
  --text-h2-line-height: 1.333;
  --text-h3-size: clamp(1.125rem, 2vw, 1.25rem);
  --text-h3-line-height: 1.4;
  --text-body-size: 1rem;
  --text-body-line-height: 1.5;
  --text-small-size: 0.875rem;
  --text-small-line-height: 1.25;

  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;

  --container-max: 1200px;
  --section-padding-desktop: 4rem;
  --section-padding-mobile: 2rem;
  --card-gap: 1.5rem;

  --surface-primary: var(--color-cream);
  --surface-dark: var(--color-night-blue);
  --surface-accent: var(--color-pistachio);
  --surface-accent-alt: var(--color-lilac);

  --border-thin: 1px;
  --border-color-default: rgba(var(--color-lilac-rgb), 0.5);
  --border-color-dark: rgba(var(--color-night-blue-rgb), 0.2);

  --shadow-card: 0 2px 8px rgba(0, 0, 0, 0.1);

  --radius-small: 4px;
  --radius-medium: 12px;
  --radius-large: 24px;

  --transition-fast: 150ms ease;
  --focus-outline: 2px solid var(--color-terracotta);
  --focus-outline-offset: 2px;
}

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

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

body {
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-night-blue);
  background-color: var(--surface-primary);
  min-height: 100vh;
  min-width: 320px;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

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

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

button {
  background: none;
  border: none;
  cursor: pointer;
  border-radius: var(--radius-small);
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

a {
  color: var(--color-night-blue);
  text-decoration: none;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

a:hover {
  color: var(--color-terracotta);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

ul,
ol {
  list-style-position: inside;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-night-blue);
  line-height: 1.25;
}

h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  margin-block-end: var(--space-lg);
}

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

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

h4,
h5,
h6 {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  margin-block-end: var(--space-sm);
}

p {
  margin-block-end: var(--space-md);
}

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

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

ul:last-child,
ol:last-child {
  margin-block-end: 0;
}

blockquote {
  margin-block-end: var(--space-md);
  padding-inline-start: var(--space-lg);
  border-inline-start: 3px solid var(--color-terracotta);
  font-style: italic;
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

blockquote:last-child {
  margin-block-end: 0;
}

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

figure:last-child {
  margin-block-end: 0;
}

figcaption {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: rgba(var(--color-night-blue-rgb), 0.7);
  margin-block-start: var(--space-xs);
}

hr {
  border: none;
  border-block-start: var(--border-thin) solid var(--border-color-default);
  margin-block: var(--space-xl);
}

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

th,
td {
  padding: var(--space-sm) var(--space-md);
  text-align: start;
  border-block-end: var(--border-thin) solid var(--border-color-default);
}

th {
  font-weight: 600;
  font-family: var(--font-heading);
}

caption {
  font-size: var(--text-small-size);
  color: rgba(var(--color-night-blue-rgb), 0.7);
  margin-block-end: var(--space-sm);
  text-align: start;
}

form {
  margin-block-end: var(--space-md);
}

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

input,
textarea,
select {
  width: 100%;
  padding: var(--space-sm) 0;
  background: transparent;
  border: none;
  border-block-end: var(--border-thin) solid var(--border-color-dark);
  border-radius: 0;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  transition: border-color var(--transition-fast);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-block-end-color: var(--color-terracotta);
}

textarea {
  resize: vertical;
  min-height: 6rem;
}

select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A2A3A' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-inline-end: 1.5rem;
  cursor: pointer;
}

fieldset {
  border: var(--border-thin) solid var(--border-color-default);
  border-radius: var(--radius-medium);
  padding: var(--space-lg);
  margin-block-end: var(--space-md);
}

legend {
  font-family: var(--font-heading);
  font-weight: 600;
  padding-inline: var(--space-sm);
}

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

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

.section--dark {
  background-color: var(--surface-dark);
  color: var(--color-cream);
}

.section--dark h1,
.section--dark h2,
.section--dark h3,
.section--dark h4,
.section--dark h5,
.section--dark h6 {
  color: var(--color-cream);
}

.section--dark p,
.section--dark li,
.section--dark blockquote,
.section--dark figcaption,
.section--dark th,
.section--dark td,
.section--dark caption {
  color: rgba(245, 240, 230, 0.9);
}

.section--dark a {
  color: var(--color-pistachio);
}

.section--dark a:hover {
  color: var(--color-terracotta);
}

.section--dark input,
.section--dark textarea,
.section--dark select {
  border-block-end-color: rgba(245, 240, 230, 0.4);
  color: var(--color-cream);
}

.section--dark input:focus,
.section--dark textarea:focus,
.section--dark select:focus {
  border-block-end-color: var(--color-terracotta);
}

.section--dark hr {
  border-block-start-color: rgba(245, 240, 230, 0.25);
}

.section--dark fieldset {
  border-color: rgba(245, 240, 230, 0.3);
}

.surface-card {
  background-color: var(--surface-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
}

.surface-card--dark {
  background-color: var(--surface-dark);
  color: var(--color-cream);
}

.surface-card--dark h1,
.surface-card--dark h2,
.surface-card--dark h3,
.surface-card--dark h4,
.surface-card--dark h5,
.surface-card--dark h6 {
  color: var(--color-cream);
}

.surface-card--dark p,
.surface-card--dark li,
.surface-card--dark blockquote,
.surface-card--dark figcaption {
  color: rgba(245, 240, 230, 0.9);
}

.surface-card--dark a {
  color: var(--color-pistachio);
}

.surface-card--dark a:hover {
  color: var(--color-terracotta);
}

.surface-card--accent {
  background-color: var(--surface-accent);
  color: var(--color-night-blue);
}

.surface-card--accent-alt {
  background-color: var(--surface-accent-alt);
  color: var(--color-night-blue);
}

.btn {
  display: inline-block;
  padding: var(--space-sm) var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: 500;
  line-height: var(--text-body-line-height);
  text-align: center;
  border-radius: var(--radius-small);
  border: var(--border-thin) solid transparent;
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  text-decoration: none;
}

.btn:hover {
  text-decoration: none;
}

.btn--primary {
  background-color: var(--color-pistachio);
  color: var(--color-night-blue);
  border-color: var(--color-pistachio);
}

.btn--primary:hover {
  background-color: var(--color-terracotta);
  border-color: var(--color-terracotta);
  color: var(--color-cream);
}

.btn--outline {
  background-color: transparent;
  color: var(--color-night-blue);
  border-color: var(--color-night-blue);
}

.btn--outline:hover {
  background-color: var(--color-night-blue);
  border-color: var(--color-night-blue);
  color: var(--color-cream);
}

.btn--outline-light {
  background-color: transparent;
  color: var(--color-cream);
  border-color: var(--color-cream);
}

.btn--outline-light:hover {
  background-color: var(--color-cream);
  border-color: var(--color-cream);
  color: var(--color-night-blue);
}

.btn--terracotta {
  background-color: var(--color-terracotta);
  color: var(--color-cream);
  border-color: var(--color-terracotta);
}

.btn--terracotta:hover {
  background-color: var(--color-night-blue);
  border-color: var(--color-night-blue);
  color: var(--color-cream);
}

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

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

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

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

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

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

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

.flex--justify-between {
  justify-content: space-between;
}

.flex--justify-end {
  justify-content: flex-end;
}

.flex--justify-start {
  justify-content: flex-start;
}

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

.flex--gap-xs {
  gap: var(--space-xs);
}

.flex--gap-sm {
  gap: var(--space-sm);
}

.flex--gap-lg {
  gap: var(--space-lg);
}

.flex--gap-xl {
  gap: var(--space-xl);
}

.flex--gap-2xl {
  gap: var(--space-2xl);
}

.flex--gap-none {
  gap: 0;
}

.content-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

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

.content-list > li {
  margin-block-end: 0;
}

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

.visually-hidden {
  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-md);
  z-index: 1000;
  background-color: var(--color-pistachio);
  color: var(--color-night-blue);
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-small);
  font-weight: 500;
  transition: top var(--transition-fast);
}

.skip-link:focus {
  top: var(--space-md);
}

@media (max-width: 768px) {
  :root {
    --section-padding-desktop: var(--section-padding-mobile);
  }

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

  .container {
    padding-inline: var(--space-md);
  }

  .flex {
    gap: var(--space-sm);
  }

  .flex--gap-lg {
    gap: var(--space-md);
  }

  .flex--gap-xl {
    gap: var(--space-lg);
  }

  .flex--gap-2xl {
    gap: var(--space-xl);
  }

  .surface-card {
    padding: var(--space-md);
  }
}

@media (max-width: 480px) {
  .container {
    padding-inline: var(--space-sm);
  }

  .btn {
    width: 100%;
    padding-inline: var(--space-md);
  }
}

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


.site-header {
  position: relative;
  z-index: 100;
  background-color: var(--color-cream);
  border-bottom: 1px solid var(--border-color-default);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-height: 64px;
  padding-block: var(--space-sm);
}

.site-header__brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  text-decoration: none;
  color: var(--color-night-blue);
  flex-shrink: 0;
}

.site-header__brand:hover {
  text-decoration: none;
  color: var(--color-night-blue);
}

.site-header__logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 0;
}

.site-header__brand-text {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.site-header__toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: var(--radius-small);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}

.site-header__toggle:hover {
  background-color: rgba(var(--color-night-blue-rgb), 0.05);
}

.site-header__toggle:focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-outline-offset);
}

.site-header__toggle-line {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--color-night-blue);
  border-radius: 1px;
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

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

.site-header__toggle[aria-expanded="true"] .site-header__toggle-line:nth-child(2) {
  opacity: 0;
}

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

.site-header__nav {
  display: flex;
  align-items: center;
}

.site-header__nav-list {
  display: flex;
  align-items: center;
  gap: var(--space-lg);
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-header__nav-item {
  margin: 0;
  padding: 0;
}

.site-header__nav-link {
  display: inline-block;
  padding-block: var(--space-sm);
  font-size: var(--text-body-size);
  font-weight: 500;
  color: var(--color-night-blue);
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--transition-fast);
}

.site-header__nav-link:hover {
  color: var(--color-terracotta);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

@media (max-width: 900px) {
  .site-header__toggle {
    display: flex;
  }

  .site-header__nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--color-cream);
    border-bottom: 1px solid var(--border-color-default);
    box-shadow: var(--shadow-card);
    max-height: calc(100vh - 100%);
    overflow-y: auto;
    display: none;
    padding: var(--space-md);
  }

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

  .site-header__nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
  }

  .site-header__nav-link {
    display: block;
    padding: var(--space-sm) var(--space-md);
    border-radius: var(--radius-small);
  }

  .site-header__nav-link:hover {
    background-color: rgba(var(--color-night-blue-rgb), 0.05);
    text-decoration: none;
  }
}

@media (max-width: 480px) {
  .site-header__logo {
    width: 40px;
    height: 40px;
  }

  .site-header__brand-text {
    font-size: 1.125rem;
  }

  .site-header__inner {
    min-height: 56px;
  }
}


.site-footer {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
  padding-block: var(--space-2xl) var(--space-xl);
  margin-top: var(--space-3xl);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  gap: var(--space-xl);
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.site-footer__brand-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  color: var(--color-cream);
  text-decoration: none;
}

.site-footer__brand-link:hover {
  color: var(--color-pistachio);
  text-decoration: none;
}

.site-footer__logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 0;
}

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

.site-footer__tagline {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: rgba(245, 240, 230, 0.8);
  max-width: 30ch;
  margin: 0;
}

.site-footer__heading {
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  color: var(--color-cream);
  margin: 0 0 var(--space-md);
}

.site-footer__nav-list,
.site-footer__legal-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.site-footer__nav-list a,
.site-footer__legal-list a {
  color: rgba(245, 240, 230, 0.85);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.site-footer__nav-list a:hover,
.site-footer__legal-list a:hover {
  color: var(--color-pistachio);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.site-footer__bottom {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(245, 240, 230, 0.2);
  padding-top: var(--space-lg);
  margin-top: var(--space-lg);
  text-align: center;
}

.site-footer__copyright {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: rgba(245, 240, 230, 0.7);
  margin: 0;
}

.cookie-consent {
  position: fixed;
  bottom: var(--space-md);
  left: var(--space-md);
  right: var(--space-md);
  z-index: 200;
  background-color: var(--color-cream);
  color: var(--color-night-blue);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  max-width: 600px;
  margin-inline: auto;
}

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

.cookie-consent__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.cookie-consent__text {
  margin: 0;
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
}

.cookie-consent__actions {
  display: flex;
  gap: var(--space-sm);
  flex-wrap: wrap;
}

.cookie-consent__accept,
.cookie-consent__reject {
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-small);
  font-size: var(--text-small-size);
  font-weight: 500;
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.cookie-consent__accept {
  background-color: var(--color-pistachio);
  color: var(--color-night-blue);
  border: 1px solid var(--color-pistachio);
}

.cookie-consent__accept:hover {
  background-color: var(--color-terracotta);
  border-color: var(--color-terracotta);
  color: var(--color-cream);
}

.cookie-consent__reject {
  background-color: transparent;
  color: var(--color-night-blue);
  border: 1px solid var(--color-night-blue);
}

.cookie-consent__reject:hover {
  background-color: var(--color-night-blue);
  border-color: var(--color-night-blue);
  color: var(--color-cream);
}

.age-modal {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
}

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

.age-modal__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
}

.age-modal__dialog {
  position: relative;
  background-color: var(--color-cream);
  color: var(--color-night-blue);
  border-radius: var(--radius-large);
  padding: var(--space-xl);
  max-width: 480px;
  width: 100%;
  max-height: calc(100vh - 2 * var(--space-md));
  overflow-y: auto;
  box-shadow: var(--shadow-card);
  text-align: center;
}

.age-modal__title {
  font-family: var(--font-heading);
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line-height);
  color: var(--color-night-blue);
  margin: 0 0 var(--space-md);
}

.age-modal__description {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: rgba(var(--color-night-blue-rgb), 0.85);
  margin: 0 0 var(--space-lg);
}

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

.age-modal__confirm,
.age-modal__decline {
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--radius-small);
  font-size: var(--text-body-size);
  font-weight: 500;
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.age-modal__confirm {
  background-color: var(--color-pistachio);
  color: var(--color-night-blue);
  border: 1px solid var(--color-pistachio);
}

.age-modal__confirm:hover {
  background-color: var(--color-terracotta);
  border-color: var(--color-terracotta);
  color: var(--color-cream);
}

.age-modal__decline {
  background-color: transparent;
  color: var(--color-night-blue);
  border: 1px solid var(--color-night-blue);
}

.age-modal__decline:hover {
  background-color: var(--color-night-blue);
  border-color: var(--color-night-blue);
  color: var(--color-cream);
}

@media (max-width: 768px) {
  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .site-footer__bottom {
    grid-column: auto;
  }

  .cookie-consent {
    left: var(--space-sm);
    right: var(--space-sm);
    bottom: var(--space-sm);
    padding: var(--space-md);
  }

  .age-modal__dialog {
    padding: var(--space-lg);
  }
}


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

.confidentialite-intro__container,
.confidentialite-purposes__container,
.confidentialite-contact__container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
  padding-block: var(--space-3xl);
}

.confidentialite-intro__title,
.confidentialite-data__title,
.confidentialite-purposes__title,
.confidentialite-rights__title,
.confidentialite-contact__title {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-night-blue);
  margin-block-end: var(--space-lg);
}

.confidentialite-intro__copy,
.confidentialite-purposes__copy,
.confidentialite-contact__copy {
  max-width: 70ch;
  text-align: left;
}

.confidentialite-intro__list,
.confidentialite-purposes__list,
.confidentialite-contact__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.confidentialite-intro__list li,
.confidentialite-purposes__list li,
.confidentialite-contact__list li {
  margin-block-end: 0;
  padding-inline-start: var(--space-lg);
  position: relative;
}

.confidentialite-intro__list li::before,
.confidentialite-purposes__list li::before,
.confidentialite-contact__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--color-terracotta);
}

.confidentialite-data__grid,
.confidentialite-rights__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
  margin-block-start: var(--space-lg);
}

.confidentialite-card {
  background-color: var(--surface-primary);
  border: var(--border-thin) solid var(--border-color-default);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.confidentialite-card__title,
.confidentialite-purpose__title {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-night-blue);
  margin-block-end: 0;
}

.confidentialite-card__text,
.confidentialite-purpose__text {
  max-width: 70ch;
  text-align: left;
  margin-block-end: 0;
}

.confidentialite-card__list,
.confidentialite-purpose__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.confidentialite-card__list li,
.confidentialite-purpose__list li {
  margin-block-end: 0;
  padding-inline-start: var(--space-md);
  position: relative;
}

.confidentialite-card__list li::before,
.confidentialite-purpose__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: var(--color-lilac);
}

.confidentialite-purposes__container,
.confidentialite-contact__container {
  color: var(--color-cream);
}

.confidentialite-purposes__title,
.confidentialite-contact__title {
  color: var(--color-cream);
}

.confidentialite-purposes__copy,
.confidentialite-contact__copy {
  color: rgba(245, 240, 230, 0.9);
}

.confidentialite-purpose {
  margin-block-end: var(--space-lg);
}

.confidentialite-purpose:last-child {
  margin-block-end: 0;
}

.confidentialite-purpose__title {
  color: var(--color-cream);
}

.confidentialite-purpose__text {
  color: rgba(245, 240, 230, 0.9);
}

.confidentialite-purpose__list li {
  color: rgba(245, 240, 230, 0.9);
}

.confidentialite-purpose__list li::before {
  background-color: var(--color-pistachio);
}

.confidentialite-contact__list li {
  color: rgba(245, 240, 230, 0.9);
}

.confidentialite-contact__list li::before {
  background-color: var(--color-terracotta);
}

@media (max-width: 900px) {
  .confidentialite-data__grid,
  .confidentialite-rights__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .confidentialite-intro__container,
  .confidentialite-purposes__container,
  .confidentialite-contact__container {
    padding-inline: var(--space-md);
    padding-block: var(--space-xl);
  }

  .confidentialite-data__grid,
  .confidentialite-rights__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .confidentialite-card {
    padding: var(--space-md);
  }

  .confidentialite-intro__copy,
  .confidentialite-purposes__copy,
  .confidentialite-contact__copy {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .confidentialite-intro__container,
  .confidentialite-purposes__container,
  .confidentialite-contact__container {
    padding-inline: var(--space-sm);
  }

  .confidentialite-card__text,
  .confidentialite-purpose__text {
    max-width: 100%;
  }
}


.cookies-page {
  background-color: var(--color-cream);
  color: var(--color-night-blue);
}

.cookies-container {
  width: 100%;
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--space-lg);
  padding-block: var(--section-padding-desktop);
}

.cookies-section {
  margin-block-end: var(--space-3xl);
}

.cookies-section:last-child {
  margin-block-end: 0;
}

.cookies-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  max-width: 65ch;
}

.cookies-copy--intro {
  max-width: 65ch;
}

.cookies-copy h1,
.cookies-copy h2,
.cookies-copy h3 {
  margin-block-end: 0;
}

.cookies-copy h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  color: var(--color-night-blue);
}

.cookies-copy h2 {
  font-size: var(--text-h2-size);
  line-height: var(--text-h2-line-height);
  color: var(--color-night-blue);
  margin-block-start: var(--space-lg);
}

.cookies-copy h3 {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  color: var(--color-night-blue);
  margin-block-start: var(--space-md);
}

.cookies-copy p {
  margin-block-end: 0;
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

.cookies-copy strong {
  color: var(--color-night-blue);
}

.cookies-copy a {
  color: var(--color-terracotta);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.cookies-copy a:hover {
  color: var(--color-night-blue);
}

.cookies-date-box {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-xs);
  background-color: rgba(var(--color-lilac-rgb), 0.2);
  border: var(--border-thin) solid rgba(var(--color-lilac-rgb), 0.6);
  border-radius: var(--radius-medium);
  padding: var(--space-sm) var(--space-md);
  width: fit-content;
  max-width: 100%;
}

.cookies-date-label {
  font-weight: 600;
  color: var(--color-night-blue);
}

.cookies-date-box time {
  color: var(--color-terracotta);
  font-weight: 600;
}

.cookies-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.cookies-list li {
  position: relative;
  padding-inline-start: var(--space-lg);
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

.cookies-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background-color: var(--color-pistachio);
}

.cookies-list--pistachio li::before {
  background-color: var(--color-pistachio);
}

.cookies-list--lilac li::before {
  background-color: var(--color-lilac);
}

.cookies-list--terracotta li::before {
  background-color: var(--color-terracotta);
}

.cookies-consequence-box {
  background-color: rgba(var(--color-lilac-rgb), 0.15);
  border: var(--border-thin) solid rgba(var(--color-lilac-rgb), 0.5);
  border-radius: var(--radius-medium);
  padding: var(--space-md);
}

.cookies-consequence-box p {
  margin-block-end: 0;
}

.cookies-update-date {
  color: var(--color-terracotta);
}

@media (max-width: 768px) {
  .cookies-container {
    padding-inline: var(--space-md);
    padding-block: var(--section-padding-mobile);
  }

  .cookies-section {
    margin-block-end: var(--space-2xl);
  }

  .cookies-copy {
    max-width: 100%;
  }

  .cookies-copy h2 {
    margin-block-start: var(--space-md);
  }

  .cookies-copy h3 {
    margin-block-start: var(--space-sm);
  }
}

@media (max-width: 480px) {
  .cookies-container {
    padding-inline: var(--space-sm);
  }

  .cookies-date-box {
    width: 100%;
    justify-content: flex-start;
  }
}


/* Page-owned styles for roulette page */

.roulette-hero {
  padding-block: var(--space-3xl);
}

.roulette-hero__container {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-2xl);
  align-items: center;
}

.roulette-hero__text {
  min-width: 0;
  text-align: center;
  margin-inline: auto;
  max-width: 60%;
}

.roulette-hero__text h1 {
  color: var(--color-cream);
  margin-block-end: var(--space-lg);
}

.roulette-hero__subtitle {
  color: rgba(245, 240, 230, 0.9);
  margin-block-end: var(--space-xl);
}

.roulette-hero__cta {
  display: inline-block;
}

.roulette-hero__media {
  min-width: 0;
}

.roulette-hero__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.12) saturate(1.05);
}

.roulette-intro {
  padding-block: var(--section-padding-desktop);
}

.roulette-intro__container {
  display: flex;
  justify-content: center;
}

.roulette-intro__card {
  max-width: 800px;
  width: 100%;
  padding: var(--space-2xl);
}

.roulette-intro__card h2 {
  margin-block-end: var(--space-lg);
}

.roulette-intro__card p {
  margin-inline: 0;
}

.roulette-intro__card p + p {
  margin-block-start: var(--space-md);
}

.roulette-tables {
  padding-block: var(--section-padding-desktop);
  background-color: var(--surface-accent-alt);
}

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

.roulette-tables__text {
  min-width: 0;
}

.roulette-tables__text h2 {
  margin-block-end: var(--space-md);
}

.roulette-tables__text p {
  }

.roulette-tables__list {
  min-width: 0;
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.roulette-tables__list li {
  margin-block-end: 0;
  padding: var(--space-md) var(--space-lg);
  background-color: var(--color-cream);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
}

.roulette-gastronomy {
  padding-block: var(--section-padding-desktop);
}

.roulette-gastronomy__container {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-2xl);
  align-items: center;
}

.roulette-gastronomy__text {
  min-width: 0;
}

.roulette-gastronomy__text h2 {
  margin-block-end: var(--space-lg);
}

.roulette-gastronomy__text p {
  }

.roulette-gastronomy__text p + p {
  margin-block-start: var(--space-md);
}

.roulette-gastronomy__media {
  min-width: 0;
}

.roulette-gastronomy__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  aspect-ratio: 1 / 1;
  object-fit: cover;
  filter: sepia(0.1) saturate(1.05);
}

.roulette-ambiance {
  padding-block: var(--section-padding-desktop);
}

.roulette-ambiance__container {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
}

.roulette-ambiance__container h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-lg);
}

.roulette-ambiance__container p {
  color: rgba(245, 240, 230, 0.9);
  margin-inline: auto;
}

.roulette-ambiance__container p + p {
  margin-block-start: var(--space-md);
}

.roulette-faq {
  padding-block: var(--section-padding-desktop);
}

.roulette-faq__container {
  max-width: 800px;
  margin-inline: auto;
}

.roulette-faq__container h2 {
  margin-block-end: var(--space-xl);
}

.roulette-faq__accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.roulette-faq__item {
  border: var(--border-thin) solid var(--border-color-default);
  border-radius: var(--radius-medium);
  overflow: hidden;
}

.roulette-faq__trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: var(--space-md) var(--space-lg);
  background-color: var(--color-cream);
  border-radius: 0;
  font-weight: 500;
  text-align: left;
  transition: background-color var(--transition-fast);
}

.roulette-faq__trigger:hover {
  background-color: var(--color-pistachio);
}

.roulette-faq__icon {
  width: 0.75rem;
  height: 0.75rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--transition-fast);
  flex-shrink: 0;
}

.roulette-faq__item.is-open .roulette-faq__icon {
  transform: rotate(225deg);
}

.roulette-faq__panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height var(--transition-fast) ease;
}

.roulette-faq__panel p {
  padding: var(--space-md) var(--space-lg);
  margin-block-end: 0;
  }

.roulette-gallery {
  padding-block: var(--section-padding-desktop);
}

.roulette-gallery__container {
  text-align: center;
}

.roulette-gallery__container h2 {
  margin-block-end: var(--space-md);
}

.roulette-gallery__intro {
  max-width: 50%;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.roulette-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.roulette-gallery__figure {
  min-width: 0;
  margin-block-end: 0;
}

.roulette-gallery__figure img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.1) saturate(1.05);
}

.roulette-gallery__figure figcaption {
  margin-block-start: var(--space-sm);
  text-align: center;
  max-width: 50%;
  margin-inline: auto;
}

.roulette-cta {
  padding-block: var(--section-padding-desktop);
}

.roulette-cta__container {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
}

.roulette-cta__container h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-md);
}

.roulette-cta__container p {
  color: rgba(245, 240, 230, 0.9);
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

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

.roulette-cta__actions .btn {
  min-width: 140px;
}

@media (max-width: 1024px) {
  .roulette-hero__container,
  .roulette-gastronomy__container {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .roulette-hero__text {
    max-width: 100%;
    order: 2;
  }

  .roulette-hero__media {
    order: 1;
  }

  .roulette-gastronomy__text p {
  }

  .roulette-tables__container {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .roulette-tables__text p {
  }

  .roulette-gallery__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .roulette-hero,
  .roulette-intro,
  .roulette-tables,
  .roulette-gastronomy,
  .roulette-ambiance,
  .roulette-faq,
  .roulette-gallery,
  .roulette-cta {
    padding-block: var(--section-padding-mobile);
  }

  .roulette-hero__container,
  .roulette-gastronomy__container,
  .roulette-tables__container,
  .roulette-gallery__grid {
    gap: var(--space-lg);
  }

  .roulette-intro__card {
    padding: var(--space-lg);
  }

  .roulette-intro__card p {
  }

  .roulette-ambiance__container p,
  .roulette-cta__container p,
  .roulette-gallery__intro {
    max-width: 100%;
  }

  .roulette-faq__panel p {
  }

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

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

@media (max-width: 480px) {
  .roulette-hero__text h1 {
    font-size: var(--text-h1-size);
  }

  .roulette-hero__subtitle {
    font-size: var(--text-body-size);
  }

  .roulette-tables__list li {
    padding: var(--space-sm) var(--space-md);
  }

  .roulette-faq__trigger {
    padding: var(--space-sm) var(--space-md);
  }

  .roulette-faq__panel p {
    padding: var(--space-sm) var(--space-md);
  }
}


/* Poker page styles */
.poker-intro {
  background-color: var(--surface-primary);
}

.poker-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-xl);
  align-items: center;
}

.poker-intro__content {
  min-width: 0;
}

.poker-intro__lead {
  max-width: 70%;
}

.poker-intro__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.poker-intro__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
}

.poker-intro__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-pistachio);
  font-weight: 700;
}

.poker-intro__media {
  min-width: 0;
}

.poker-intro__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.08) saturate(0.95) contrast(0.98);
}

.poker-tables {
  background-color: var(--surface-dark);
}

.poker-tables__title {
  text-align: center;
  max-width: 80%;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.poker-tables__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--card-gap);
  margin-block-end: var(--space-xl);
}

.poker-tables__card {
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.poker-tables__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.poker-tables__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-sm);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.poker-tables__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
}

.poker-tables__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-terracotta);
}

.poker-tables__figure {
  margin-block-start: var(--space-xl);
}

.poker-tables__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.08) saturate(0.95) contrast(0.98);
}

.poker-cards {
  background-color: var(--surface-primary);
}

.poker-cards__grid {
  display: grid;
  grid-template-columns: minmax(0, 60%) minmax(0, 40%);
  gap: var(--space-xl);
  align-items: center;
}

.poker-cards__content {
  min-width: 0;
}

.poker-cards__block {
  margin-block-end: var(--space-lg);
}

.poker-cards__block:last-child {
  margin-block-end: 0;
}

.poker-cards__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-sm);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.poker-cards__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
}

.poker-cards__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-terracotta);
}

.poker-cards__media {
  min-width: 0;
}

.poker-cards__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.08) saturate(0.95) contrast(0.98);
}

.poker-gastronomy {
  background-color: var(--color-lilac);
  color: var(--color-night-blue);
}

.poker-gastronomy__container {
  max-width: 70%;
  margin-inline: auto;
  text-align: center;
}

.poker-gastronomy__content {
  margin-block-end: var(--space-xl);
}

.poker-gastronomy__figure {
  margin-block-start: var(--space-xl);
}

.poker-gastronomy__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.08) saturate(0.95) contrast(0.98);
}

.poker-practical {
  background-color: var(--surface-dark);
}

.poker-practical__title {
  text-align: center;
  max-width: 80%;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.poker-practical__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--card-gap);
}

.poker-practical__card {
  min-width: 0;
  border: var(--border-thin) solid rgba(var(--color-lilac-rgb), 0.5);
}

.poker-practical__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-start: var(--space-sm);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.poker-practical__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
}

.poker-practical__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-pistachio);
}

.poker-testimonials {
  background-color: var(--surface-primary);
}

.poker-testimonials__title {
  text-align: center;
  max-width: 90%;
  margin-inline: auto;
  margin-block-end: var(--space-md);
}

.poker-testimonials__intro {
  text-align: center;
  max-width: 90%;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
}

.poker-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
}

.poker-testimonials__card {
  min-width: 0;
  padding: var(--space-lg);
}

.poker-testimonials__card p {
  font-style: italic;
  margin-block-end: var(--space-sm);
}

.poker-testimonials__card footer {
  font-size: var(--text-small-size);
  color: rgba(var(--color-night-blue-rgb), 0.7);
}

.poker-cta {
  background-color: var(--color-pistachio);
  color: var(--color-night-blue);
}

.poker-cta__container {
  max-width: 60%;
  margin-inline: auto;
  text-align: center;
}

.poker-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  justify-content: center;
  margin-block-start: var(--space-xl);
}

.poker-cta__actions .btn {
  min-width: 180px;
}

@media (max-width: 1024px) {
  .poker-intro__grid,
  .poker-cards__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

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

  .poker-tables__grid,
  .poker-practical__grid {
    grid-template-columns: 1fr;
  }

  .poker-testimonials__grid {
    grid-template-columns: 1fr;
  }

  .poker-gastronomy__container,
  .poker-cta__container {
    max-width: 100%;
  }

  .poker-tables__title,
  .poker-practical__title,
  .poker-testimonials__title,
  .poker-testimonials__intro {
    max-width: 100%;
  }
}

@media (max-width: 768px) {
  .poker-intro__grid,
  .poker-cards__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .poker-intro__media,
  .poker-cards__media {
    order: 2;
  }

  .poker-intro__content,
  .poker-cards__content {
    order: 1;
  }

  .poker-tables__grid,
  .poker-practical__grid,
  .poker-testimonials__grid {
    grid-template-columns: 1fr;
    gap: var(--space-md);
  }

  .poker-cta__actions {
    flex-direction: column;
    align-items: center;
  }

  .poker-cta__actions .btn {
    width: 100%;
    max-width: 280px;
  }
}

@media (max-width: 480px) {
  .poker-intro__image,
  .poker-tables__image,
  .poker-cards__image,
  .poker-gastronomy__image {
    border-radius: var(--radius-medium);
  }

  .poker-gastronomy__container,
  .poker-cta__container {
    padding-inline: var(--space-sm);
  }
}


/* Page-specific styles for Sélection du Chef */

.selection-du-chef-main {
  width: 100%;
  overflow-x: hidden;
}

/* Introduction à la Sélection du Chef */
.chef-intro {
  background-color: var(--surface-primary);
}

.chef-intro__container {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 40vh;
}

.chef-intro__text {
  max-width: 800px;
  width: 100%;
  text-align: center;
  margin-inline: auto;
  padding-inline: var(--space-lg);
}

.chef-intro__text h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  margin-block-end: var(--space-lg);
}

.chef-intro__text p {
  margin-inline: auto;
  text-align: center;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

/* Plats Signature */
.chef-signature {
  background-color: var(--surface-primary);
}

.chef-signature__title {
  text-align: center;
  margin-block-end: var(--space-xl);
}

.chef-signature__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
}

.chef-signature__card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background-color: var(--surface-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.chef-signature__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.chef-signature__card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 0;
  filter: sepia(0.08) saturate(1.05);
}

.chef-signature__card-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-lg);
  flex: 1;
}

.chef-signature__card-body h3 {
  margin-block-end: 0;
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
}

.chef-signature__card-body p {
  margin-block-end: 0;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

/* Philosophie du Chef */
.chef-philosophy {
  background-color: rgba(var(--color-lilac-rgb), 0.18);
}

.chef-philosophy__panel {
  max-width: 800px;
  margin-inline: auto;
  background-color: var(--surface-primary);
  border-radius: var(--radius-large);
  padding: var(--space-2xl);
  box-shadow: var(--shadow-card);
}

.chef-philosophy__panel h2 {
  text-align: left;
  margin-block-end: var(--space-xl);
}

.chef-philosophy__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.chef-philosophy__unit {
  max-width: 70ch;
}

.chef-philosophy__unit h3 {
  margin-block-end: var(--space-sm);
}

.chef-philosophy__unit p {
  margin-block-end: 0;
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

/* L'Expérience Sensorielle */
.chef-sensory {
  background-color: var(--surface-dark);
}

.chef-sensory__content {
  max-width: 700px;
  margin-inline: 0;
  padding-inline: var(--space-lg);
}

.chef-sensory__content h2,
.chef-sensory__content h3 {
  color: var(--color-cream);
}

.chef-sensory__content h2 {
  margin-block-end: var(--space-md);
}

.chef-sensory__content h3 {
  margin-block-end: var(--space-sm);
}

.chef-sensory__content p {
  color: rgba(245, 240, 230, 0.9);
  margin-block-end: var(--space-lg);
}

.chef-sensory__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.chef-sensory__list li {
  position: relative;
  padding-inline-start: var(--space-lg);
  color: rgba(245, 240, 230, 0.9);
}

.chef-sensory__list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-pistachio);
  font-weight: 600;
}

/* Accords Mets et Vins */
.chef-pairing {
  background-color: var(--surface-primary);
}

.chef-pairing__content {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: var(--space-lg);
}

.chef-pairing__content h2 {
  margin-block-end: var(--space-md);
}

.chef-pairing__content h3 {
  margin-block-end: var(--space-sm);
}

.chef-pairing__content p {
  margin-block-end: var(--space-lg);
}

.chef-pairing__table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.chef-pairing__table-wrapper table {
  width: 100%;
  border-collapse: collapse;
  margin-block-end: 0;
}

.chef-pairing__table-wrapper th,
.chef-pairing__table-wrapper td {
  padding: var(--space-sm) var(--space-md);
  text-align: left;
  border-block-end: var(--border-thin) solid var(--border-color-default);
}

.chef-pairing__table-wrapper th {
  font-family: var(--font-heading);
  font-weight: 600;
  color: var(--color-night-blue);
}

.chef-pairing__table-wrapper td {
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

/* Le Cadre du Casino */
.chef-casino {
  background-color: rgba(var(--color-terracotta-rgb), 0.12);
}

.chef-casino__content {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--space-lg);
}

.chef-casino__content h2 {
  margin-block-end: var(--space-md);
}

.chef-casino__content h3 {
  margin-block-end: var(--space-sm);
}

.chef-casino__content p {
  margin-block-end: 0;
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

/* Réservation */
.chef-reservation {
  background-color: var(--surface-accent);
}

.chef-reservation__content {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  padding-inline: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.chef-reservation__content h2 {
  margin-block-end: 0;
  color: var(--color-night-blue);
}

.chef-reservation__content p {
  margin-block-end: 0;
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

.chef-reservation__btn {
  display: inline-block;
  padding: var(--space-sm) var(--space-lg);
  font-family: var(--font-body);
  font-size: var(--text-body-size);
  font-weight: 500;
  line-height: var(--text-body-line-height);
  text-align: center;
  border-radius: var(--radius-small);
  border: var(--border-thin) solid transparent;
  cursor: pointer;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
  text-decoration: none;
  background-color: var(--color-terracotta);
  color: var(--color-cream);
  border-color: var(--color-terracotta);
  min-width: 220px;
}

.chef-reservation__btn:hover {
  background-color: var(--color-night-blue);
  border-color: var(--color-night-blue);
  color: var(--color-cream);
  text-decoration: none;
}

/* Tablet and intermediate breakpoints */
@media (max-width: 1024px) {
  .chef-signature__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .chef-signature__card:last-child {
    grid-column: span 2;
    max-width: 50%;
    justify-self: center;
  }
}

@media (max-width: 768px) {
  .chef-intro__container {
    min-height: auto;
    padding-block: var(--space-2xl);
  }

  .chef-intro__text {
    padding-inline: var(--space-md);
  }

  .chef-intro__text p {
    text-align: left;
  }

  .chef-signature__grid {
    grid-template-columns: 1fr;
    padding-inline: var(--space-md);
  }

  .chef-signature__card:last-child {
    grid-column: auto;
    max-width: 100%;
    justify-self: auto;
  }

  .chef-philosophy__panel {
    padding: var(--space-xl);
    border-radius: var(--radius-medium);
  }

  .chef-sensory__content {
    padding-inline: var(--space-md);
  }

  .chef-pairing__content {
    padding-inline: var(--space-md);
  }

  .chef-casino__content {
    padding-inline: var(--space-md);
  }

  .chef-reservation__content {
    padding-inline: var(--space-md);
  }
}

@media (max-width: 480px) {
  .chef-intro__text h1 {
    font-size: 1.75rem;
    line-height: 1.25;
  }

  .chef-signature__card-body {
    padding: var(--space-md);
  }

  .chef-philosophy__panel {
    padding: var(--space-lg);
  }

  .chef-reservation__btn {
    width: 100%;
    min-width: 0;
  }

  .chef-pairing__table-wrapper table {
    font-size: var(--text-small-size);
  }

  .chef-pairing__table-wrapper th,
  .chef-pairing__table-wrapper td {
    padding: var(--space-xs) var(--space-sm);
  }
}

@media (prefers-reduced-motion: reduce) {
  .chef-signature__card {
    transition: none;
  }
}


/* Conditions page styles */
#conditions-main {
  background-color: var(--surface-primary);
  color: var(--color-night-blue);
}

.conditions-section {
  padding-block: var(--section-padding-desktop);
}

.conditions-container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
}

.conditions-container--narrow {
  max-width: 800px;
}

.conditions-container--wide {
  max-width: 1000px;
}

/* Section intro */
.conditions-section--intro {
  background-color: var(--surface-primary);
}

.conditions-intro-copy {
  max-width: 70ch;
  margin-inline: auto;
  text-align: center;
}

.conditions-intro-copy p {
  margin-block-end: var(--space-md);
}

.conditions-intro-copy p:last-child {
  margin-block-end: 0;
}

/* Section access */
.conditions-section--access {
  background-color: var(--surface-primary);
}

.conditions-access-grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-xl);
  align-items: start;
}

.conditions-access-copy {
  min-width: 0;
}

.conditions-access-copy h3,
.conditions-age-warning h3 {
  margin-block-end: var(--space-sm);
}

.conditions-access-copy p,
.conditions-age-warning p {
  margin-block-end: var(--space-md);
}

.conditions-age-warning {
  background-color: rgba(var(--color-lilac-rgb), 0.25);
  border: var(--border-thin) solid rgba(var(--color-lilac-rgb), 0.5);
  border-radius: var(--radius-medium);
  padding: var(--space-lg);
  min-width: 0;
}

.conditions-age-warning p {
  margin-block-end: 0;
}

/* Section reservations */
.conditions-section--reservations {
  background-color: rgba(var(--color-pistachio-rgb, 181, 201, 163), 0.15);
}

.conditions-reservations-main {
  margin-block-end: var(--space-xl);
}

.conditions-reservations-main h3,
.conditions-reservations-card h3 {
  margin-block-end: var(--space-sm);
}

.conditions-reservations-main p,
.conditions-reservations-card p {
  margin-block-end: var(--space-md);
}

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

.conditions-reservations-card {
  background-color: var(--surface-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  min-width: 0;
}

.conditions-reservations-card p {
  margin-block-end: var(--space-md);
}

.conditions-reservations-card p:last-child {
  margin-block-end: 0;
}

/* Section casino */
.conditions-section--casino {
  background-color: var(--surface-primary);
}

.conditions-casino-grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-xl);
  align-items: start;
}

.conditions-casino-copy {
  min-width: 0;
}

.conditions-casino-copy h3,
.conditions-responsible-gaming h3 {
  margin-block-end: var(--space-sm);
}

.conditions-casino-copy p,
.conditions-responsible-gaming p {
  margin-block-end: var(--space-md);
}

.conditions-responsible-gaming {
  background-color: rgba(var(--color-terracotta-rgb), 0.15);
  border: var(--border-thin) solid rgba(var(--color-terracotta-rgb), 0.5);
  border-radius: var(--radius-medium);
  padding: var(--space-lg);
  min-width: 0;
}

.conditions-responsible-gaming p {
  margin-block-end: 0;
}

/* Section IP */
.conditions-section--ip {
  background-color: rgba(var(--color-lilac-rgb), 0.15);
}

.conditions-ip-copy h3 {
  margin-block-end: var(--space-sm);
}

.conditions-ip-copy p {
  margin-block-end: var(--space-md);
}

.conditions-ip-copy p:last-child {
  margin-block-end: 0;
}

/* Section liability */
.conditions-section--liability {
  background-color: var(--surface-primary);
}

.conditions-liability-copy h3 {
  margin-block-end: var(--space-sm);
}

.conditions-liability-copy p {
  margin-block-end: var(--space-md);
}

.conditions-liability-copy p:last-child {
  margin-block-end: 0;
}

.conditions-footnote {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line-height);
  color: rgba(var(--color-night-blue-rgb), 0.7);
  margin-block-start: var(--space-md);
}

/* Section law */
.conditions-section--law {
  background-color: var(--surface-primary);
}

.conditions-law-copy h3 {
  margin-block-end: var(--space-sm);
}

.conditions-law-copy p {
  margin-block-end: 0;
}

/* Section modifications */
.conditions-section--modifications {
  background-color: rgba(var(--color-pistachio-rgb, 181, 201, 163), 0.15);
}

.conditions-modifications-copy h3 {
  margin-block-end: var(--space-sm);
}

.conditions-modifications-copy p {
  margin-block-end: 0;
}

/* Section contact */
.conditions-section--contact {
  background-color: var(--surface-primary);
}

.conditions-contact-copy h3 {
  margin-block-end: var(--space-sm);
}

.conditions-contact-copy p {
  margin-block-end: var(--space-lg);
}

.conditions-contact-btn {
  display: inline-block;
  margin-block-start: var(--space-md);
}

/* Lists */
.conditions-list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

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

.conditions-list > li {
  margin-block-end: 0;
  padding-inline-start: var(--space-lg);
  position: relative;
}

.conditions-list > li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-terracotta);
}

.conditions-steps {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  counter-reset: conditions-step;
}

.conditions-steps:last-child {
  margin-block-end: 0;
}

.conditions-steps > li {
  margin-block-end: 0;
  padding-inline-start: var(--space-xl);
  position: relative;
  counter-increment: conditions-step;
}

.conditions-steps > li::before {
  content: counter(conditions-step) ".";
  position: absolute;
  left: 0;
  font-weight: 600;
  color: var(--color-terracotta);
}

/* Responsive */
@media (max-width: 900px) {
  .conditions-access-grid,
  .conditions-casino-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

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

  .conditions-container--wide {
    max-width: 800px;
  }
}

@media (max-width: 768px) {
  .conditions-section {
    padding-block: var(--section-padding-mobile);
  }

  .conditions-container {
    padding-inline: var(--space-md);
  }

  .conditions-intro-copy {
    max-width: 100%;
    text-align: left;
    margin-inline: 0;
  }

  .conditions-access-copy p,
  .conditions-age-warning p,
  .conditions-reservations-main p,
  .conditions-reservations-card p,
  .conditions-casino-copy p,
  .conditions-responsible-gaming p,
  .conditions-ip-copy p,
  .conditions-liability-copy p,
  .conditions-law-copy p,
  .conditions-modifications-copy p,
  .conditions-contact-copy p {
  }

  .conditions-contact-btn {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .conditions-container {
    padding-inline: var(--space-sm);
  }

  .conditions-age-warning,
  .conditions-responsible-gaming,
  .conditions-reservations-card {
    padding: var(--space-md);
  }
}


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

.restaurant-page .container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
}

/* Héro d'introduction */
.restaurant-hero {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
  padding-block: var(--space-3xl);
}

.restaurant-hero__inner {
  display: flex;
  justify-content: flex-start;
}

.restaurant-hero__text {
  max-width: 600px;
  width: 100%;
  text-align: left;
}

.restaurant-hero__text h1 {
  color: var(--color-cream);
  font-size: var(--text-display-size);
  line-height: var(--text-display-line-height);
  margin-block-end: var(--space-lg);
}

.restaurant-hero__text p {
  color: rgba(245, 240, 230, 0.9);
  margin-block-end: var(--space-xl);
}

.restaurant-hero__cta {
  display: inline-block;
}

/* Notre concept */
.restaurant-concept {
  background-color: var(--color-cream);
}

.restaurant-concept h2 {
  margin-block-end: var(--space-xl);
  text-align: left;
}

.restaurant-concept__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
}

.restaurant-concept__card {
  background-color: var(--surface-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  min-width: 0;
  transition: box-shadow var(--transition-fast);
}

.restaurant-concept__card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.restaurant-concept__card h3 {
  margin-block-end: var(--space-md);
}

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

/* L'expérience culinaire */
.restaurant-experience {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
}

.restaurant-experience h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-xl);
  text-align: left;
}

.restaurant-experience__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

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

.restaurant-experience__item h3 {
  color: var(--color-cream);
  margin-block-end: var(--space-sm);
}

.restaurant-experience__item p {
  color: rgba(245, 240, 230, 0.9);
  text-align: left;
}

/* Les plats signature */
.restaurant-signature {
  background-color: var(--color-cream);
}

.restaurant-signature h2 {
  margin-block-end: var(--space-xl);
  text-align: left;
}

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

.restaurant-signature__card {
  background-color: var(--surface-primary);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.restaurant-signature__card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-medium) var(--radius-medium) 0 0;
  filter: sepia(0.08) saturate(1.05);
  transition: transform var(--transition-fast);
}

.restaurant-signature__card:hover img {
  transform: scale(1.03);
}

.restaurant-signature__body {
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.restaurant-signature__body h3 {
  margin-block-end: 0;
}

.restaurant-signature__body p {
  text-align: left;
  margin-block-end: 0;
}

/* L'intérieur du restaurant */
.restaurant-interior {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
}

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

.restaurant-interior__text h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-xl);
  text-align: left;
}

.restaurant-interior__text h3 {
  color: var(--color-cream);
  margin-block-end: var(--space-sm);
}

.restaurant-interior__text p {
  color: rgba(245, 240, 230, 0.9);
  text-align: left;
  margin-block-end: var(--space-lg);
}

.restaurant-interior__text p:last-child {
  margin-block-end: 0;
}

.restaurant-interior__media {
  min-width: 0;
}

.restaurant-interior__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-large);
  filter: sepia(0.08) saturate(1.05);
}

/* Le chef et sa philosophie */
.restaurant-chef {
  background-color: var(--color-cream);
}

.restaurant-chef__container {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
}

.restaurant-chef__container h2 {
  margin-block-end: var(--space-xl);
}

.restaurant-chef__container h3 {
  margin-block-end: var(--space-sm);
}

.restaurant-chef__container p {
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-lg);
}

.restaurant-chef__container p:last-child {
  margin-block-end: 0;
}

/* Le casino en bref */
.restaurant-casino {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
  border-block: var(--border-thin) solid var(--color-lilac);
}

.restaurant-casino__container {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
}

.restaurant-casino__container h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-lg);
}

.restaurant-casino__container p {
  color: rgba(245, 240, 230, 0.9);
  margin-inline: auto;
  text-align: center;
}

/* Appel à l'action */
.restaurant-cta {
  background-color: var(--color-pistachio);
  color: var(--color-night-blue);
}

.restaurant-cta__container {
  max-width: 500px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.restaurant-cta__container h2 {
  margin-block-end: 0;
}

.restaurant-cta__container p {
  margin-block-end: 0;
}

.restaurant-cta__button {
  display: inline-block;
}

/* Responsive */
@media (max-width: 1024px) {
  .restaurant-concept__grid,
  .restaurant-signature__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .restaurant-concept__card:last-child {
    grid-column: span 2;
  }

  .restaurant-signature__card:last-child {
    grid-column: span 2;
  }
}

@media (max-width: 768px) {
  .restaurant-page .container {
    padding-inline: var(--space-md);
  }

  .restaurant-hero {
    padding-block: var(--space-2xl);
  }

  .restaurant-hero__text {
    max-width: 100%;
    text-align: center;
  }

  .restaurant-hero__text h1 {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line-height);
  }

  .restaurant-hero__cta {
    width: 100%;
    max-width: 320px;
  }

  .restaurant-concept__grid,
  .restaurant-signature__grid {
    grid-template-columns: 1fr;
  }

  .restaurant-concept__card:last-child,
  .restaurant-signature__card:last-child {
    grid-column: auto;
  }

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

  .restaurant-experience__column {
    gap: var(--space-lg);
  }

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

  .restaurant-interior__text h2 {
    text-align: center;
  }

  .restaurant-interior__text h3,
  .restaurant-interior__text p {
    text-align: center;
    margin-inline: auto;
  }

  .restaurant-chef__container,
  .restaurant-casino__container,
  .restaurant-cta__container {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .restaurant-page .container {
    padding-inline: var(--space-sm);
  }

  .restaurant-hero {
    padding-block: var(--space-xl);
  }

  .restaurant-hero__text h1 {
    font-size: 1.75rem;
    line-height: 1.25;
  }

  .restaurant-concept__card,
  .restaurant-signature__body {
    padding: var(--space-md);
  }

  .restaurant-signature__body p {
  }

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


/* Page-owned styles for Casino page */
#casino-page {
  --casino-page-gap: var(--space-lg);
}

/* Héro Casino */
.casino-hero {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
  padding-block: var(--space-3xl);
  position: relative;
  overflow: hidden;
}

.casino-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 30%, rgba(181, 201, 163, 0.15), transparent 40%),
              radial-gradient(circle at 80% 70%, rgba(197, 163, 196, 0.15), transparent 40%);
  pointer-events: none;
}

.casino-hero__container {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-2xl);
  align-items: center;
}

.casino-hero__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: flex-start;
}

.casino-hero__text h1 {
  color: var(--color-cream);
  font-size: var(--text-display-size);
  line-height: var(--text-display-line-height);
  margin-block-end: 0;
}

.casino-hero__subtitle {
  color: rgba(245, 240, 230, 0.9);
  max-width: 60ch;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  margin-block-end: 0;
}

.casino-hero__cta {
  align-self: flex-start;
}

.casino-hero__media {
  min-width: 0;
  border-radius: var(--radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.casino-hero__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  display: block;
  filter: sepia(0.08) saturate(1.05);
}

/* Philosophie du Casino */
.casino-philosophy {
  background-color: var(--color-cream);
  color: var(--color-night-blue);
  padding-block: var(--space-3xl);
}

.casino-philosophy__container {
  max-width: 800px;
  margin-inline: auto;
}

.casino-philosophy__container h2 {
  text-align: left;
  margin-block-end: var(--space-xl);
}

.casino-philosophy__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.casino-philosophy__item {
  border-block-end: 1px solid var(--border-color-default);
  padding-block-end: var(--space-lg);
}

.casino-philosophy__item:last-child {
  border-block-end: none;
  padding-block-end: 0;
}

.casino-philosophy__item h3 {
  margin-block-end: var(--space-sm);
}

.casino-philosophy__item p {
  margin-block-end: 0;
}

/* Les Jeux Proposés */
.casino-games {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
  padding-block: var(--space-3xl);
}

.casino-games__container h2 {
  color: var(--color-cream);
  text-align: center;
  margin-block-end: var(--space-2xl);
}

.casino-games__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.casino-game-card {
  background-color: var(--color-cream);
  color: var(--color-night-blue);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.casino-game-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.casino-game-card__icon {
  font-size: 2rem;
  line-height: 1;
  color: var(--color-terracotta);
  opacity: 0.6;
}

.casino-game-card h3 {
  margin-block-end: 0;
}

.casino-game-card p {
  margin-block-end: 0;
}

.casino-game-card .content-list {
  margin-block-start: auto;
  padding-block-start: var(--space-sm);
}

/* L'Espace Casino */
.casino-space {
  background-color: var(--color-cream);
  color: var(--color-night-blue);
  padding-block: var(--space-3xl);
}

.casino-space__container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-2xl);
  align-items: center;
}

.casino-space__text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.casino-space__text h2 {
  margin-block-end: 0;
}

.casino-space__text p {
  margin-block-end: 0;
}

.casino-space__media {
  min-width: 0;
  border-radius: var(--radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.casino-space__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  display: block;
  filter: sepia(0.08) saturate(1.05);
  transition: transform var(--transition-fast);
}

.casino-space__media:hover .casino-space__image {
  transform: scale(1.03);
}

/* Jeu Responsable */
.casino-responsible {
  background-color: var(--color-lilac);
  color: var(--color-night-blue);
  padding-block: var(--space-3xl);
}

.casino-responsible__container {
  max-width: 700px;
  margin-inline: auto;
  text-align: center;
}

.casino-responsible__container h2 {
  margin-block-end: var(--space-lg);
}

.casino-responsible__intro {
  max-width: 70ch;
  margin-inline: auto;
  margin-block-end: var(--space-lg);
}

.casino-responsible__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  text-align: left;
  max-width: 600px;
  margin-inline: auto;
}

.casino-responsible__list li {
  padding-inline-start: var(--space-lg);
  position: relative;
}

.casino-responsible__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--color-terracotta);
  font-weight: 600;
}

/* Informations Pratiques */
.casino-practical {
  background-color: var(--color-cream);
  color: var(--color-night-blue);
  padding-block: var(--space-3xl);
}

.casino-practical__container h2 {
  text-align: center;
  margin-block-end: var(--space-2xl);
}

.casino-practical__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-lg);
}

.casino-practical__card {
  background-color: var(--color-cream);
  border: 1px solid var(--border-color-default);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-xl);
  min-width: 0;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.casino-practical__card:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.casino-practical__card h3 {
  margin-block-end: var(--space-sm);
}

.casino-practical__card p {
  margin-block-end: 0;
}

/* Témoignage Visuel */
.casino-visual {
  background-color: var(--color-night-blue);
  color: var(--color-cream);
  padding-block: var(--space-3xl);
}

.casino-visual__container {
  max-width: 1000px;
  margin-inline: auto;
  text-align: center;
}

.casino-visual__container h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-md);
}

.casino-visual__intro {
  max-width: 60ch;
  margin-inline: auto;
  margin-block-end: var(--space-xl);
  color: rgba(245, 240, 230, 0.9);
}

.casino-visual__media {
  border-radius: var(--radius-large);
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transform: rotate(-1deg);
  transition: transform var(--transition-fast);
}

.casino-visual__media:hover {
  transform: rotate(0deg);
}

.casino-visual__image {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  display: block;
  filter: sepia(0.08) saturate(1.05);
}

/* Appel à l'Action */
.casino-cta {
  background-color: var(--color-terracotta);
  color: var(--color-cream);
  padding-block: var(--space-3xl);
}

.casino-cta__container {
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  align-items: center;
}

.casino-cta__container h2 {
  color: var(--color-cream);
  margin-block-end: 0;
}

.casino-cta__container p {
  margin-block-end: 0;
  color: rgba(245, 240, 230, 0.95);
}

.casino-cta__button {
  background-color: var(--color-pistachio);
  color: var(--color-night-blue);
  border-color: var(--color-pistachio);
}

.casino-cta__button:hover {
  background-color: var(--color-night-blue);
  border-color: var(--color-night-blue);
  color: var(--color-cream);
}

/* Scroll reveal */
.casino-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.casino-reveal.casino-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Tablet */
@media (max-width: 900px) {
  .casino-hero__container {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .casino-hero__text {
    text-align: center;
    align-items: center;
  }

  .casino-hero__subtitle {
    max-width: 100%;
  }

  .casino-hero__cta {
    align-self: center;
  }

  .casino-games__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .casino-space__container {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .casino-practical__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
}

/* Mobile */
@media (max-width: 600px) {
  .casino-hero,
  .casino-philosophy,
  .casino-games,
  .casino-space,
  .casino-responsible,
  .casino-practical,
  .casino-visual,
  .casino-cta {
    padding-block: var(--space-2xl);
  }

  .casino-hero__container {
    gap: var(--space-lg);
  }

  .casino-hero__text h1 {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line-height);
  }

  .casino-hero__subtitle {
    font-size: var(--text-small-size);
    line-height: var(--text-small-line-height);
  }

  .casino-philosophy__content {
    gap: var(--space-lg);
  }

  .casino-game-card {
    padding: var(--space-lg);
  }

  .casino-space__container {
    gap: var(--space-lg);
  }

  .casino-responsible__container,
  .casino-visual__container,
  .casino-cta__container {
    padding-inline: var(--space-md);
  }

  .casino-visual__media {
    transform: none;
  }
}

@media (max-width: 390px) {
  .casino-hero__container,
  .casino-space__container,
  .casino-games__grid,
  .casino-practical__grid {
    gap: var(--space-md);
  }

  .casino-hero__text h1 {
    font-size: 1.5rem;
    line-height: 1.3;
  }

  .casino-game-card {
    padding: var(--space-md);
  }

  .casino-practical__card {
    padding: var(--space-md);
  }
}


/* Page reservation-contact : styles scoped au main */

main {
  display: block;
}

/* Section 1 : Introduction */
.reservation-intro {
  background-color: var(--color-cream);
  background-image: linear-gradient(180deg, var(--color-cream) 0%, var(--color-lilac) 100%);
  padding-block: var(--section-padding-desktop);
}

.reservation-intro__inner {
  max-width: 720px;
  margin-inline: auto;
  padding-inline: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.reservation-intro h1 {
  font-size: var(--text-h1-size);
  line-height: var(--text-h1-line-height);
  color: var(--color-night-blue);
  margin-block-end: 0;
  max-width: 60%;
}

.reservation-intro p {
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: rgba(var(--color-night-blue-rgb), 0.85);
  margin-block-end: 0;
}

.reservation-intro__details {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  max-width: 65ch;
}

.reservation-intro__details li {
  position: relative;
  padding-inline-start: var(--space-lg);
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

.reservation-intro__details li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--color-terracotta);
  font-weight: 700;
}

/* Section 2 : Formulaire */
.reservation-form-section {
  background-color: var(--color-night-blue);
  padding-block: var(--section-padding-desktop);
}

.reservation-form-section__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
  display: flex;
  justify-content: center;
}

.reservation-form-card {
  background-color: var(--color-cream);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-2xl);
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.reservation-form-card h2 {
  color: var(--color-night-blue);
  margin-block-end: 0;
}

.reservation-form-card__intro {
  color: rgba(var(--color-night-blue-rgb), 0.85);
  max-width: 60ch;
  margin-block-end: 0;
}

.reservation-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  margin-block-end: 0;
}

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

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

.reservation-form__field--full {
  grid-column: 1 / -1;
}

.reservation-form__field label {
  font-size: var(--text-small-size);
  font-weight: 500;
  color: var(--color-night-blue);
  margin-block-end: 0;
}

.reservation-form__field input,
.reservation-form__field select,
.reservation-form__field textarea {
  width: 100%;
  padding: var(--space-sm) 0;
  background: transparent;
  border: none;
  border-bottom: var(--border-thin) solid var(--color-lilac);
  border-radius: 0;
  font-size: var(--text-body-size);
  line-height: var(--text-body-line-height);
  color: var(--color-night-blue);
  transition: border-color var(--transition-fast);
}

.reservation-form__field input:focus,
.reservation-form__field select:focus,
.reservation-form__field textarea:focus {
  outline: none;
  border-bottom: 2px solid var(--color-terracotta);
}

.reservation-form__field select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A2A3A' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0 center;
  padding-inline-end: 1.5rem;
  cursor: pointer;
}

.reservation-form__error {
  font-size: var(--text-small-size);
  color: var(--color-terracotta);
  min-height: 1.25em;
  margin-block-end: 0;
}

.reservation-form__consent {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--space-sm);
}

.reservation-form__consent input[type="checkbox"] {
  width: auto;
  margin-block-start: 0.25em;
  accent-color: var(--color-terracotta);
}

.reservation-form__consent label {
  flex: 1;
  font-size: var(--text-small-size);
  color: var(--color-night-blue);
  margin-block-end: 0;
}

.reservation-form__consent .reservation-form__error {
  width: 100%;
}

.reservation-form__submit {
  align-self: flex-start;
  padding: var(--space-sm) var(--space-xl);
}

.reservation-form__confirmation {
  color: var(--color-terracotta);
  font-weight: 500;
  min-height: 1.5em;
  margin-block-end: 0;
}

/* Section 3 : Coordonnées directes */
.contact-direct {
  background-color: var(--color-cream);
  padding-block: var(--section-padding-desktop);
}

.contact-direct__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.contact-direct h2 {
  color: var(--color-night-blue);
  margin-block-end: 0;
}

.contact-direct__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.contact-card {
  background-color: rgba(var(--color-lilac-rgb), 0.15);
  border: var(--border-thin) solid var(--color-lilac);
  border-radius: var(--radius-medium);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  transition: background-color var(--transition-fast);
}

.contact-card:hover {
  background-color: rgba(var(--color-lilac-rgb), 0.3);
}

.contact-card__icon {
  font-size: 1.75rem;
  color: var(--color-terracotta);
  line-height: 1;
}

.contact-card h3 {
  color: var(--color-night-blue);
  margin-block-end: 0;
}

.contact-card p {
  color: rgba(var(--color-night-blue-rgb), 0.85);
  margin-block-end: 0;
}

.contact-card a {
  color: var(--color-night-blue);
  text-decoration: underline;
  text-decoration-color: var(--color-terracotta);
  text-underline-offset: 3px;
}

.contact-card a:hover {
  color: var(--color-terracotta);
}

/* Section 4 : Horaires */
.horaires-section {
  background-color: var(--color-night-blue);
  padding-block: var(--section-padding-desktop);
}

.horaires-section__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xl);
}

.horaires-section h2 {
  color: var(--color-cream);
  margin-block-end: 0;
}

.horaires-card {
  background-color: var(--color-cream);
  border-radius: var(--radius-medium);
  padding: var(--space-2xl);
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.horaires-card p {
  color: var(--color-night-blue);
  margin-inline: auto;
  text-align: center;
  margin-block-end: 0;
}

.horaires-card__liste {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.horaires-card__liste li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-md);
  color: var(--color-night-blue);
}

.horaires-card__jour {
  font-weight: 600;
}

.horaires-card__heures {
  font-weight: 700;
  color: var(--color-terracotta);
}

.horaires-card__note {
  font-size: var(--text-small-size);
  color: rgba(var(--color-night-blue-rgb), 0.7);
  text-align: center;
  margin-block-end: 0;
}

/* Section 5 : Informations pratiques */
.infos-pratiques {
  background-color: var(--color-cream);
  padding-block: var(--section-padding-desktop);
}

.infos-pratiques__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.infos-pratiques h2 {
  color: var(--color-night-blue);
  margin-block-end: 0;
}

.infos-pratiques__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.info-card {
  background-color: var(--color-cream);
  border: var(--border-thin) solid var(--color-lilac);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.info-card h3 {
  color: var(--color-terracotta);
  margin-block-end: 0;
}

.info-card p {
  color: rgba(var(--color-night-blue-rgb), 0.85);
  margin-block-end: 0;
}

/* Section 6 : FAQ */
.faq-section {
  background-color: var(--color-night-blue);
  padding-block: var(--section-padding-desktop);
}

.faq-section__inner {
  max-width: 800px;
  margin-inline: auto;
  padding-inline: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.faq-section h2 {
  color: var(--color-cream);
  margin-block-end: 0;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.faq-item {
  background-color: var(--color-cream);
  border-radius: var(--radius-medium);
  overflow: hidden;
}

.faq-item__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-h3-size);
  font-weight: 600;
  color: var(--color-terracotta);
  text-align: left;
  transition: color var(--transition-fast);
}

.faq-item__question:hover {
  color: var(--color-night-blue);
}

.faq-item__icon {
  font-size: 1.5rem;
  line-height: 1;
  transition: transform var(--transition-fast);
}

.faq-item[data-open="true"] .faq-item__icon {
  transform: rotate(45deg);
}

.faq-item__reponse {
  max-height: 0;
  overflow: hidden;
  transition: max-height 300ms ease;
}

.faq-item__reponse p {
  padding: 0 var(--space-lg) var(--space-lg);
  color: var(--color-night-blue);
  margin-block-end: 0;
}

/* Section 7 : CTA final */
.cta-final {
  background-color: var(--color-cream);
  background-image: linear-gradient(180deg, var(--color-cream) 0%, var(--color-pistachio) 100%);
  padding-block: var(--section-padding-desktop);
}

.cta-final__inner {
  max-width: 600px;
  margin-inline: auto;
  padding-inline: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
  text-align: center;
}

.cta-final h2 {
  color: var(--color-night-blue);
  margin-block-end: 0;
}

.cta-final p {
  color: rgba(var(--color-night-blue-rgb), 0.85);
  margin-block-end: 0;
}

.cta-final__bouton {
  padding: var(--space-md) var(--space-2xl);
}

/* Responsive */
@media (max-width: 992px) {
  .contact-direct__grid,
  .infos-pratiques__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reservation-form__row {
    grid-template-columns: 1fr;
  }

  .reservation-form__field--full {
    grid-column: auto;
  }
}

@media (max-width: 768px) {
  .reservation-intro,
  .reservation-form-section,
  .contact-direct,
  .horaires-section,
  .infos-pratiques,
  .faq-section,
  .cta-final {
    padding-block: var(--section-padding-mobile);
  }

  .reservation-intro__inner,
  .reservation-form-section__inner,
  .contact-direct__inner,
  .horaires-section__inner,
  .infos-pratiques__inner,
  .faq-section__inner,
  .cta-final__inner {
    padding-inline: var(--space-md);
  }

  .reservation-intro h1 {
    max-width: 100%;
    font-size: var(--text-h1-size);
  }

  .reservation-intro p,
  .reservation-intro__details {
    max-width: 100%;
  }

  .reservation-form-card {
    padding: var(--space-lg);
  }

  .contact-direct__grid,
  .infos-pratiques__grid {
    grid-template-columns: 1fr;
  }

  .horaires-card {
    padding: var(--space-lg);
  }

  .horaires-card__liste li {
    flex-direction: column;
    gap: var(--space-xs);
  }

  .faq-item__question {
    font-size: var(--text-body-size);
  }
}

@media (max-width: 480px) {
  .reservation-intro__inner,
  .reservation-form-section__inner,
  .contact-direct__inner,
  .horaires-section__inner,
  .infos-pratiques__inner,
  .faq-section__inner,
  .cta-final__inner {
    padding-inline: var(--space-sm);
  }

  .reservation-form__submit {
    width: 100%;
  }

  .cta-final__bouton {
    width: 80%;
  }
}


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

.interieur-hero {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: var(--color-night-blue);
}

.interieur-hero__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
  filter: sepia(0.1) saturate(1.1);
}

.interieur-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 42, 58, 0.55) 0%, rgba(26, 42, 58, 0.75) 100%);
}

.interieur-hero__content {
  position: relative;
  z-index: 1;
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  padding-block: var(--space-3xl);
}

.interieur-hero__content h1 {
  color: var(--color-cream);
  font-size: clamp(2rem, 5vw, 2.5rem);
  line-height: 1.2;
  margin-block-end: var(--space-lg);
}

.interieur-hero__intro {
  color: rgba(245, 240, 230, 0.92);
  font-size: 1rem;
  line-height: 1.5;
  max-width: 65ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.interieur-salle {
  background-color: var(--surface-primary);
}

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

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

.interieur-salle__text p {
  }

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

.interieur-salle__figure img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.1) saturate(1.1);
  transition: transform var(--transition-fast);
}

.interieur-salle__figure img:hover {
  transform: scale(1.02);
}

.interieur-salle__figure figcaption {
  margin-block-start: var(--space-sm);
}

.interieur-espaces {
  background-color: var(--surface-dark);
}

.interieur-espaces__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.interieur-espace {
  min-width: 0;
  background-color: rgba(245, 240, 230, 0.06);
  border-radius: var(--radius-medium);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.interieur-espace--wide {
  grid-column: 1 / -1;
}

.interieur-espace h3 {
  color: var(--color-cream);
  margin-block-end: 0;
}

.interieur-espace p {
  color: rgba(245, 240, 230, 0.9);
  margin-block-end: 0;
}

.interieur-espace img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  filter: sepia(0.1) saturate(1.1);
  transition: transform var(--transition-fast);
}

.interieur-espace img:hover {
  transform: scale(1.02);
}

.interieur-mobilier {
  background-color: var(--surface-primary);
}

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

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

.interieur-mobilier__text p {
  }

.interieur-mobilier__figure {
  margin: 0;
  min-width: 0;
}

.interieur-mobilier__figure img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.1) saturate(1.1);
}

.interieur-mobilier__figure figcaption {
  margin-block-start: var(--space-sm);
}

.interieur-ambiance {
  background-color: var(--surface-accent-alt);
}

.interieur-ambiance__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.interieur-ambiance__grid > div {
  min-width: 0;
}

.interieur-ambiance__grid p {
  }

.interieur-details {
  background-color: var(--surface-dark);
}

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

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

.interieur-details__text p {
  }

.interieur-details__figure {
  margin: 0;
  min-width: 0;
}

.interieur-details__figure img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  filter: sepia(0.1) saturate(1.1);
}

.interieur-details__figure figcaption {
  color: rgba(245, 240, 230, 0.7);
  margin-block-start: var(--space-sm);
}

.interieur-experience {
  background-color: var(--surface-primary);
}

.interieur-experience__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-xl);
}

.interieur-experience__grid > div {
  min-width: 0;
}

.interieur-experience__grid p {
  }

.interieur-galerie {
  background-color: var(--surface-primary);
}

.interieur-galerie__intro {
  max-width: 65ch;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-xl);
}

.interieur-galerie__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-lg);
}

.interieur-galerie__grid figure {
  margin: 0;
  min-width: 0;
}

.interieur-galerie__grid img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-medium);
  filter: sepia(0.1) saturate(1.1);
  transition: transform var(--transition-fast);
}

.interieur-galerie__grid img:hover {
  transform: scale(1.02);
}

.interieur-galerie__grid figcaption {
  text-align: center;
  margin-block-start: var(--space-sm);
}

.interieur-cta {
  background-color: var(--surface-primary);
  padding-block: var(--space-3xl);
}

.interieur-cta__content {
  max-width: 500px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.interieur-cta__content h2 {
  margin-block-end: 0;
}

.interieur-cta__content p {
  margin-block-end: 0;
  }

@media (max-width: 1024px) {
  .interieur-salle__grid,
  .interieur-mobilier__grid,
  .interieur-details__grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .interieur-salle__figure,
  .interieur-mobilier__figure,
  .interieur-details__figure {
    order: 2;
  }

  .interieur-salle__text,
  .interieur-mobilier__text,
  .interieur-details__text {
    order: 1;
  }

  .interieur-espaces__grid {
    grid-template-columns: 1fr;
  }

  .interieur-espace--wide {
    grid-column: auto;
  }

  .interieur-ambiance__grid,
  .interieur-experience__grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

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

@media (max-width: 768px) {
  .interieur-hero {
    min-height: 60vh;
  }

  .interieur-hero__content {
    padding-block: var(--space-2xl);
  }

  .interieur-hero__content h1 {
    font-size: clamp(1.75rem, 6vw, 2rem);
  }

  .interieur-galerie__grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 480px) {
  .interieur-hero__intro {
    font-size: 0.95rem;
  }

  .interieur-salle__grid,
  .interieur-mobilier__grid,
  .interieur-details__grid,
  .interieur-espaces__grid,
  .interieur-ambiance__grid,
  .interieur-experience__grid,
  .interieur-galerie__grid {
    gap: var(--space-md);
  }

  .interieur-espace {
    padding: var(--space-md);
  }
}

@media (prefers-reduced-motion: reduce) {
  .interieur-salle__figure img:hover,
  .interieur-espace img:hover,
  .interieur-galerie__grid img:hover {
    transform: none;
  }
}


/* Page-specific styles for la-carte */

.la-carte-intro {
  background-color: var(--color-cream);
}

.la-carte-intro__grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-2xl);
  align-items: center;
}

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

.la-carte-intro__content h1 {
  margin-block-end: var(--space-md);
}

.la-carte-intro__lead {
  font-size: var(--text-h3-size);
  line-height: var(--text-h3-line-height);
  max-width: 65ch;
  margin-inline: auto;
  text-align: center;
  margin-block-end: var(--space-lg);
}

.la-carte-intro__content > p:not(.la-carte-intro__lead) {
  max-width: 65ch;
  margin-inline: auto;
  text-align: center;
}

.la-carte-intro__media {
  margin: 0;
  min-width: 0;
}

.la-carte-intro__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.la-carte-philosophy {
  background-color: var(--color-pistachio);
  background-image: linear-gradient(rgba(245, 240, 230, 0.85), rgba(245, 240, 230, 0.85));
}

.la-carte-philosophy h2 {
  margin-block-end: var(--space-xl);
}

.la-carte-philosophy__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
}

.la-carte-philosophy__card {
  background-color: var(--color-cream);
  border: 1px solid rgba(var(--color-lilac-rgb), 0.5);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  transition: background-color var(--transition-fast), border-color var(--transition-fast);
  min-width: 0;
}

.la-carte-philosophy__card:hover {
  background-color: #fff;
  border-color: var(--color-lilac);
}

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

.la-carte-philosophy__card p {
  }

.la-carte-entrees {
  background-color: var(--color-night-blue);
}

.la-carte-entrees__grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-2xl);
  align-items: start;
}

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

.la-carte-entrees__content h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-lg);
}

.la-carte-entrees__media {
  margin: 0;
  min-width: 0;
}

.la-carte-entrees__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.la-carte-dish-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.la-carte-dish {
  margin: 0;
}

.la-carte-dish h3 {
  color: var(--color-cream);
  margin-block-end: var(--space-xs);
}

.la-carte-dish p {
  color: rgba(245, 240, 230, 0.9);
  }

.la-carte-plats {
  background-color: var(--color-cream);
}

.la-carte-plats__grid {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--space-2xl);
  align-items: start;
}

.la-carte-plats__media {
  margin: 0;
  min-width: 0;
}

.la-carte-plats__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

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

.la-carte-plats__content h2 {
  margin-block-end: var(--space-lg);
}

.la-carte-plats .la-carte-dish h3 {
  color: var(--color-night-blue);
}

.la-carte-plats .la-carte-dish p {
  color: rgba(var(--color-night-blue-rgb), 0.85);
}

.la-carte-desserts {
  background-color: var(--color-night-blue);
}

.la-carte-desserts__grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-2xl);
  align-items: start;
}

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

.la-carte-desserts__content h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-lg);
}

.la-carte-desserts__media {
  margin: 0;
  min-width: 0;
}

.la-carte-desserts__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.la-carte-casino {
  background-color: var(--color-cream);
}

.la-carte-casino__grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: var(--space-2xl);
  align-items: start;
}

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

.la-carte-casino__content h2 {
  margin-block-end: var(--space-lg);
}

.la-carte-casino__content h3 {
  margin-block-start: var(--space-lg);
  margin-block-end: var(--space-sm);
}

.la-carte-casino__content p {
  }

.la-carte-casino__list {
  padding-inline-start: var(--space-lg);
  margin-block-end: var(--space-md);
  color: rgba(var(--color-night-blue-rgb), 0.9);
}

.la-carte-casino__note {
  font-size: var(--text-small-size);
  color: rgba(var(--color-night-blue-rgb), 0.7);
}

.la-carte-casino__media {
  margin: 0;
  min-width: 0;
}

.la-carte-casino__media img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-large);
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.la-carte-degustation {
  background-color: var(--color-pistachio);
}

.la-carte-degustation__card {
  background-color: var(--color-cream);
  border-radius: var(--radius-large);
  box-shadow: var(--shadow-card);
  padding: var(--space-2xl);
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.la-carte-degustation__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}

.la-carte-degustation__card h2 {
  margin-block-end: var(--space-sm);
}

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

.la-carte-degustation__card p {
  margin-inline: auto;
}

.la-carte-vins {
  background-color: var(--color-night-blue);
}

.la-carte-vins h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-md);
}

.la-carte-vins h3 {
  color: var(--color-cream);
  margin-block-end: var(--space-sm);
}

.la-carte-vins p {
  color: rgba(245, 240, 230, 0.9);
  }

.la-carte-vins__list {
  color: rgba(245, 240, 230, 0.9);
  padding-inline-start: var(--space-lg);
  margin-block-start: var(--space-md);
}

.la-carte-infos {
  background-color: var(--color-cream);
}

.la-carte-infos h2 {
  margin-block-end: var(--space-xl);
}

.la-carte-infos__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
}

.la-carte-infos__card {
  background-color: var(--color-cream);
  border: 1px solid rgba(var(--color-lilac-rgb), 0.5);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  padding: var(--space-lg);
  min-width: 0;
}

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

.la-carte-infos__card p {
  }

.la-carte-infos__card ul {
  padding-inline-start: var(--space-lg);
  margin-block-start: var(--space-sm);
}

.la-carte-cta {
  background-color: var(--color-terracotta);
  text-align: center;
}

.la-carte-cta__content {
  max-width: 65ch;
  margin-inline: auto;
}

.la-carte-cta__content h2 {
  color: var(--color-cream);
  margin-block-end: var(--space-md);
}

.la-carte-cta__content p {
  color: rgba(245, 240, 230, 0.95);
  margin-block-end: var(--space-xl);
}

.la-carte-cta__button {
  display: inline-block;
  background-color: var(--color-pistachio);
  color: var(--color-night-blue);
  border-color: var(--color-pistachio);
  padding: var(--space-sm) var(--space-xl);
  font-weight: 600;
  transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);
}

.la-carte-cta__button:hover {
  background-color: var(--color-night-blue);
  border-color: var(--color-night-blue);
  color: var(--color-cream);
  text-decoration: none;
}

@media (max-width: 1024px) {
  .la-carte-intro__grid,
  .la-carte-entrees__grid,
  .la-carte-plats__grid,
  .la-carte-desserts__grid,
  .la-carte-casino__grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .la-carte-intro__media img,
  .la-carte-entrees__media img,
  .la-carte-plats__media img,
  .la-carte-desserts__media img,
  .la-carte-casino__media img {
    aspect-ratio: auto;
  }

  .la-carte-philosophy__grid,
  .la-carte-infos__grid {
    grid-template-columns: 1fr;
  }

  .la-carte-intro__lead,
  .la-carte-intro__content > p:not(.la-carte-intro__lead) {
    max-width: 100%;
    margin-inline: 0;
    text-align: left;
  }
}

@media (max-width: 768px) {
  .la-carte-intro__grid,
  .la-carte-entrees__grid,
  .la-carte-plats__grid,
  .la-carte-desserts__grid,
  .la-carte-casino__grid {
    gap: var(--space-lg);
  }

  .la-carte-philosophy__grid,
  .la-carte-infos__grid {
    gap: var(--space-md);
  }

  .la-carte-degustation__card {
    padding: var(--space-xl);
  }
}

@media (max-width: 480px) {
  .la-carte-intro__content h1 {
    font-size: var(--text-h1-size);
  }

  .la-carte-intro__lead {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
  }

  .la-carte-cta__button {
    width: 100%;
    padding-inline: var(--space-md);
  }
}


.home-hero {
  background-color: var(--surface-dark);
  color: var(--color-cream);
  padding-block: calc(var(--space-3xl) * 1.25);
  text-align: center;
}

.home-hero__inner {
  max-width: 900px;
}

.home-hero__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-xl);
}

.home-hero__title {
  color: var(--color-cream);
  font-size: var(--text-display-size);
  line-height: 1.2;
  max-width: 12ch;
  margin-block-end: 0;
}

.home-hero__lead {
  font-size: 1.125rem;
  line-height: 1.6;
  max-width: 70ch;
  margin-block-end: 0;
  color: rgba(245, 240, 230, 0.9);
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
}

.home-hero__actions .btn {
  min-width: 200px;
}

.home-concept {
  background-color: var(--surface-primary);
}

.home-concept__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-2xl);
  align-items: center;
}

.home-concept__content {
  min-width: 0;
}

.home-concept__content p {
  }

.home-concept__media {
  margin-block-end: 0;
  min-width: 0;
}

.home-concept__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-large);
}

.home-cuisine {
  background-color: var(--surface-dark);
  color: var(--color-cream);
}

.home-cuisine__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-2xl);
  align-items: center;
}

.home-cuisine__media {
  margin-block-end: 0;
  min-width: 0;
}

.home-cuisine__media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-large);
}

.home-cuisine__content {
  min-width: 0;
}

.home-cuisine__content h2,
.home-cuisine__content p,
.home-cuisine__content li {
  color: rgba(245, 240, 230, 0.9);
}

.home-cuisine__content h2 {
  color: var(--color-cream);
}

.home-cuisine__content p {
  }

.home-cuisine__list {
  margin-block-end: var(--space-md);
}

.home-menu {
  background-color: var(--surface-primary);
}

.home-menu__intro {
  max-width: 70ch;
  margin-block-end: var(--space-xl);
}

.home-menu__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
}

.home-menu-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.home-menu-card:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.home-menu-card h3 {
  margin-block-end: 0;
}

.home-menu-card p {
  margin-block-end: 0;
  }

.home-menu__cta {
  margin-block-start: var(--space-xl);
  display: flex;
  justify-content: center;
}

.home-signature {
  background-color: var(--surface-accent-alt);
}

.home-signature__intro {
  max-width: 70ch;
  margin-block-end: var(--space-xl);
}

.home-signature__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--card-gap);
}

.home-signature-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  overflow: hidden;
  padding: 0;
}

.home-signature-card__media {
  margin-block-end: 0;
  min-width: 0;
  overflow: hidden;
}

.home-signature-card__media img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

.home-signature-card:hover .home-signature-card__media img {
  transform: scale(1.03);
}

.home-signature-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-lg);
}

.home-signature-card__body h3 {
  margin-block-end: 0;
}

.home-signature-card__body p {
  margin-block-end: 0;
  }

.home-interior {
  background-color: var(--surface-dark);
  color: var(--color-cream);
}

.home-interior__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-xl);
}

.home-interior__media {
  margin-block-end: 0;
  min-width: 0;
}

.home-interior__media img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--radius-large);
}

.home-interior__content {
  min-width: 0;
  max-width: 800px;
  margin-inline: auto;
}

.home-interior__content h2 {
  color: var(--color-cream);
}

.home-interior__content p,
.home-interior__content li {
  color: rgba(245, 240, 230, 0.9);
}

.home-interior__content p {
  }

.home-interior__list {
  margin-block-end: 0;
}

.home-casino {
  background-color: var(--surface-primary);
}

.home-casino__intro {
  max-width: 70ch;
  margin-block-end: var(--space-xl);
}

.home-casino__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
}

.home-casino-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  min-width: 0;
  overflow: hidden;
  padding: 0;
  transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.home-casino-card:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  transform: translateY(-2px);
}

.home-casino-card__media {
  margin-block-end: 0;
  min-width: 0;
}

.home-casino-card__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.home-casino-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  padding: var(--space-lg);
}

.home-casino-card__body h3 {
  margin-block-end: 0;
}

.home-casino-card__body p {
  margin-block-end: 0;
  }

.home-poker {
  background-color: var(--surface-accent-alt);
}

.home-poker__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-2xl);
  align-items: center;
}

.home-poker__media {
  margin-block-end: 0;
  min-width: 0;
}

.home-poker__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-large);
}

.home-poker__content {
  min-width: 0;
}

.home-poker__content p {
  }

.home-poker__list {
  margin-block-end: 0;
}

.home-roulette {
  background-color: var(--surface-primary);
}

.home-roulette__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-2xl);
  align-items: center;
}

.home-roulette__content {
  min-width: 0;
}

.home-roulette__content p {
  }

.home-roulette__list {
  margin-block-end: 0;
}

.home-roulette__media {
  margin-block-end: 0;
  min-width: 0;
}

.home-roulette__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-large);
}

.home-blackjack {
  background-color: var(--surface-dark);
  color: var(--color-cream);
}

.home-blackjack__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-2xl);
  align-items: center;
}

.home-blackjack__media {
  margin-block-end: 0;
  min-width: 0;
}

.home-blackjack__media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-large);
}

.home-blackjack__content {
  min-width: 0;
}

.home-blackjack__content h2 {
  color: var(--color-cream);
}

.home-blackjack__content p,
.home-blackjack__content li {
  color: rgba(245, 240, 230, 0.9);
}

.home-blackjack__content p {
  }

.home-blackjack__list {
  margin-block-end: 0;
}

.home-dinner {
  background-color: var(--surface-accent);
}

.home-dinner__content {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
}

.home-dinner__content p {
  margin-inline: auto;
}

.home-dinner__list {
  max-width: 600px;
  margin-inline: auto;
  text-align: start;
}

.home-gallery {
  background-color: var(--surface-primary);
}

.home-gallery__intro {
  max-width: 70ch;
  margin-block-end: var(--space-xl);
}

.home-gallery__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--card-gap);
}

.home-gallery__item {
  margin-block-end: 0;
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  background-color: var(--color-cream);
}

.home-gallery__item img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  transition: transform var(--transition-fast);
}

.home-gallery__item:hover img {
  transform: scale(1.03);
}

.home-gallery__item figcaption {
  padding: var(--space-sm) var(--space-md);
  margin-block-start: 0;
  text-align: center;
  font-size: var(--text-small-size);
  color: rgba(var(--color-night-blue-rgb), 0.75);
}

.home-reservation {
  background-color: var(--surface-dark);
  color: var(--color-cream);
  text-align: center;
}

.home-reservation__content {
  max-width: 600px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-lg);
}

.home-reservation__content h2 {
  color: var(--color-cream);
  margin-block-end: 0;
}

.home-reservation__content p {
  color: rgba(245, 240, 230, 0.9);
  margin-block-end: 0;
  }

.home-reservation__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md);
}

.home-reservation__actions .btn {
  min-width: 200px;
}

@media (max-width: 900px) {
  .home-concept__grid,
  .home-cuisine__grid,
  .home-poker__grid,
  .home-roulette__grid,
  .home-blackjack__grid {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .home-concept__media img,
  .home-cuisine__media img,
  .home-poker__media img,
  .home-roulette__media img,
  .home-blackjack__media img {
    max-height: 420px;
  }

  .home-menu__grid,
  .home-casino__grid,
  .home-gallery__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .home-hero {
    padding-block: var(--space-3xl);
  }
}

@media (max-width: 640px) {
  .home-menu__grid,
  .home-casino__grid,
  .home-gallery__grid {
    grid-template-columns: 1fr;
  }

  .home-hero__actions,
  .home-reservation__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions .btn,
  .home-reservation__actions .btn {
    width: 100%;
  }

  .home-hero__title {
    font-size: clamp(1.75rem, 8vw, 2.5rem);
  }

  .home-hero__lead {
    font-size: 1rem;
  }

  .home-interior__media img {
    aspect-ratio: 4 / 3;
  }

  .home-dinner__content {
    text-align: start;
  }

  .home-dinner__content p {
    margin-inline: 0;
  }

  .home-dinner__list {
    margin-inline: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-menu-card,
  .home-casino-card,
  .home-signature-card__media img,
  .home-gallery__item img {
    transition: none;
  }

  .home-menu-card:hover,
  .home-casino-card:hover,
  .home-signature-card:hover .home-signature-card__media img,
  .home-gallery__item:hover img {
    transform: none;
    box-shadow: var(--shadow-card);
  }
}


.thank-you {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(100vh - 200px);
  padding-block: var(--space-3xl);
  padding-inline: var(--space-lg);
}

.thank-you__content {
  max-width: 600px;
  width: 100%;
  text-align: center;
  margin-inline: auto;
}

.thank-you__content h1 {
  margin-block-end: var(--space-md);
}

.thank-you__content p {
  margin-block-end: var(--space-md);
}

.thank-you__content p:last-of-type {
  margin-block-end: var(--space-xl);
}

.thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
  justify-content: center;
  margin-block-start: var(--space-lg);
}

@media (max-width: 768px) {
  .thank-you {
    padding-block: var(--space-2xl);
    padding-inline: var(--space-md);
  }

  .thank-you__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .thank-you__actions .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .thank-you {
    padding-block: var(--space-xl);
    padding-inline: var(--space-sm);
  }
}