/* ===== Page Home — Menu Stamp Atelier ===== */

.page-home {
  --home-rotation: 1deg;
}

/* --- Section Hero --- */
.home-hero {
  background-color: var(--color-creme-papier);
  padding-block: var(--space-lg);
  position: relative;
  overflow: hidden;
}

.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 20% 30%, rgba(168, 198, 134, 0.12) 0, transparent 28%),
    radial-gradient(circle at 80% 70%, rgba(227, 66, 52, 0.08) 0, transparent 28%);
  pointer-events: none;
}

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

.home-hero__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
  text-align: start;
}

.home-hero__content .eyebrow {
  margin-block-end: 0;
}

.home-hero__content h1 {
  font-size: var(--text-display-size);
  line-height: var(--text-display-line-height);
  margin-block-end: 0;
  max-width: 12ch;
}

.home-hero__lead {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-hero__points {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  margin-block-end: 0;
  max-width: 65ch;
}

.home-hero__points li {
  position: relative;
  padding-inline-start: var(--space-xs);
}

.home-hero__points li::before {
  content: "♥";
  position: absolute;
  left: 0;
  color: var(--color-rouge-vermillon);
  font-weight: 700;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2xs);
  margin-block-start: var(--space-3xs);
}

.home-hero__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-hero__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  transform: rotate(var(--home-rotation));
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.home-hero__media img:hover {
  transform: rotate(0deg) scale(1.02);
  box-shadow: var(--shadow-stamp-strong);
}

/* --- Section Concept --- */
.home-concept {
  background-color: var(--color-blanc-casse);
  border-block: var(--border-thin);
}

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

.home-concept__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-concept__content .section-number {
  margin-block-end: 0;
}

.home-concept__content h2 {
  margin-block-end: 0;
}

.home-concept__content p {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-concept__pillars {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  margin-block-end: 0;
  max-width: 65ch;
}

.home-concept__pillars li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3xs);
}

.home-concept__suit {
  color: var(--color-rouge-vermillon);
  font-weight: 700;
  flex-shrink: 0;
}

.home-concept__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-concept__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  border: var(--border-thin);
  transform: rotate(2deg);
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.home-concept__media img:hover {
  transform: rotate(0deg) translateY(-4px);
  box-shadow: var(--shadow-card-hover);
}

/* --- Section La Carte --- */
.home-carte {
  background-color: var(--color-creme-papier);
}

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

.home-carte__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: center;
  text-align: center;
}

.home-carte__header .section-number {
  margin-block-end: 0;
}

.home-carte__header h2 {
  margin-block-end: 0;
}

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

.home-carte__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xs);
}

.home-carte__col {
  min-width: 0;
  background-color: var(--color-blanc-casse);
  border: var(--border-thin);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-stamp);
  padding: var(--space-xs);
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: center;
  text-align: center;
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.home-carte__col:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-card-hover);
}

.home-carte__col .stamp-label {
  transition: transform var(--transition-base);
}

.home-carte__col:hover .stamp-label {
  transform: rotate(6deg);
}

.home-carte__col h3 {
  margin-block-end: 0;
}

.home-carte__col ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  margin-block-end: 0;
}

.home-carte__action {
  display: flex;
  justify-content: center;
}

/* --- Section Sélection du Chef --- */
.home-chef {
  background-color: var(--color-blanc-casse);
  border-block: var(--border-thin);
}

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

.home-chef__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-chef__header .section-number {
  margin-block-end: 0;
}

.home-chef__header h2 {
  margin-block-end: 0;
}

.home-chef__intro {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-chef__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-xs);
}

.home-chef__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  padding: var(--space-2xs);
  transform: rotate(0.5deg);
}

.home-chef__card:nth-child(2) {
  transform: rotate(-0.5deg);
}

.home-chef__card:nth-child(3) {
  transform: rotate(0.75deg);
}

.home-chef__card:hover {
  transform: rotate(0deg) translateY(-4px);
}

.home-chef__card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--radius-full);
  border: var(--border-thin);
}

.home-chef__card h3 {
  margin-block-end: 0;
  font-size: var(--text-h3-size);
}

.home-chef__card p {
  margin-block-end: 0;
  max-width: 65ch;
}

.home-chef__action {
  display: flex;
  justify-content: flex-start;
}

.home-chef__action a {
  font-weight: 600;
}

/* --- Section Le Bistro --- */
.home-bistro {
  background-color: var(--color-creme-papier);
}

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

.home-bistro__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-bistro__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  transform: rotate(2deg);
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.home-bistro__media img:hover {
  transform: rotate(0deg) scale(1.02);
  box-shadow: var(--shadow-stamp-strong);
}

.home-bistro__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-bistro__content .section-number {
  margin-block-end: 0;
}

.home-bistro__content h2 {
  margin-block-end: 0;
}

.home-bistro__content p {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-bistro__content blockquote {
  max-width: 65ch;
  margin-block-end: 0;
}

/* --- Section Poker Offline --- */
.home-poker-offline {
  background-color: var(--color-vert-laurier);
  border-block: var(--border-thin);
}

.home-poker-offline__container {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-md);
  align-items: center;
}

.home-poker-offline__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-poker-offline__content .section-number {
  margin-block-end: 0;
  background-color: var(--color-bleu-encre);
  color: var(--color-blanc-casse);
}

.home-poker-offline__content h2 {
  margin-block-end: 0;
  color: var(--color-bleu-encre);
}

.home-poker-offline__content p {
  max-width: 65ch;
  margin-block-end: 0;
  color: var(--color-bleu-encre);
}

.home-poker-offline__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  margin-block-end: 0;
  max-width: 65ch;
}

.home-poker-offline__list li {
  position: relative;
  padding-inline-start: var(--space-xs);
  color: var(--color-bleu-encre);
}

.home-poker-offline__list li::before {
  content: "♠";
  position: absolute;
  left: 0;
  color: var(--color-bleu-encre);
  font-weight: 700;
}

.home-poker-offline__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-poker-offline__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  filter: sepia(0.6) contrast(1.05);
  transform: rotate(1deg);
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), filter var(--transition-base), box-shadow var(--transition-base);
}

.home-poker-offline__media img:hover {
  transform: rotate(0deg) scale(1.02);
  filter: sepia(0.3) contrast(1.05);
  box-shadow: var(--shadow-stamp-strong);
}

/* --- Section Poker Room --- */
.home-poker-room {
  background-color: var(--color-blanc-casse);
  border-block: var(--border-thin);
}

.home-poker-room__container {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: var(--space-md);
  align-items: center;
}

.home-poker-room__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-poker-room__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  filter: sepia(0.4);
  transform: rotate(2deg);
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), filter var(--transition-base), box-shadow var(--transition-base);
}

.home-poker-room__media img:hover {
  transform: rotate(0deg) translateY(-4px);
  filter: sepia(0.2);
  box-shadow: var(--shadow-card-hover);
}

.home-poker-room__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-poker-room__content .section-number {
  margin-block-end: 0;
}

.home-poker-room__content h2 {
  margin-block-end: 0;
}

.home-poker-room__content p {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-poker-room__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  margin-block-end: 0;
  max-width: 65ch;
}

.home-poker-room__list li {
  position: relative;
  padding-inline-start: var(--space-xs);
}

.home-poker-room__list li::before {
  content: "♦";
  position: absolute;
  left: 0;
  color: var(--color-rouge-vermillon);
  font-weight: 700;
}

/* --- Section Texas Hold'em --- */
.home-texas {
  background-color: var(--color-creme-papier);
}

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

.home-texas__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-texas__content .section-number {
  margin-block-end: 0;
}

.home-texas__content h2 {
  margin-block-end: 0;
}

.home-texas__content p {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-texas__hook {
  font-style: italic;
  font-weight: 600;
}

.home-texas__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-texas__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  filter: grayscale(0.8) contrast(1.05);
  transform: rotate(1deg);
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), filter var(--transition-base), box-shadow var(--transition-base);
}

.home-texas__media img:hover {
  transform: rotate(0deg) scale(1.02);
  filter: grayscale(0.4) contrast(1.05);
  box-shadow: var(--shadow-stamp-strong);
}

/* --- Section Soirées Poker --- */
.home-soirees {
  background-color: var(--color-vert-laurier);
  border-block: var(--border-thin);
}

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

.home-soirees__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-soirees__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  filter: sepia(0.5);
  transform: rotate(2deg);
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), filter var(--transition-base), box-shadow var(--transition-base);
}

.home-soirees__media img:hover {
  transform: rotate(0deg) scale(1.02);
  filter: sepia(0.2);
  box-shadow: var(--shadow-stamp-strong);
}

.home-soirees__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-soirees__content .section-number {
  margin-block-end: 0;
  background-color: var(--color-bleu-encre);
  color: var(--color-blanc-casse);
}

.home-soirees__content h2 {
  margin-block-end: 0;
  color: var(--color-bleu-encre);
}

.home-soirees__content p {
  max-width: 65ch;
  margin-block-end: 0;
  color: var(--color-bleu-encre);
}

.home-soirees__content a {
  color: var(--color-bleu-encre);
}

.home-soirees__content a:hover,
.home-soirees__content a:focus-visible {
  color: var(--color-rouge-vermillon);
}

/* --- Section Dîner & Poker --- */
.home-diner {
  background-color: var(--color-blanc-casse);
  border-block: var(--border-thin);
}

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

.home-diner__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-diner__content .section-number {
  margin-block-end: 0;
}

.home-diner__content h2 {
  margin-block-end: 0;
}

.home-diner__content p {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-diner__formules {
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  margin-block-end: 0;
  max-width: 65ch;
}

.home-diner__formules li {
  position: relative;
  padding-inline-start: var(--space-xs);
}

.home-diner__formules li::before {
  content: "♣";
  position: absolute;
  left: 0;
  color: var(--color-bleu-encre);
  font-weight: 700;
}

.home-diner__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-diner__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  transform: rotate(2deg);
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.home-diner__media img:hover {
  transform: rotate(0deg) scale(1.02);
  box-shadow: var(--shadow-stamp-strong);
}

/* --- Section Tables Privées --- */
.home-privees {
  background-color: var(--color-creme-papier);
}

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

.home-privees__media {
  min-width: 0;
  display: flex;
  justify-content: center;
}

.home-privees__media img {
  width: 100%;
  max-width: 520px;
  height: auto;
  border-radius: var(--radius-md);
  transform: rotate(1deg);
  box-shadow: var(--shadow-stamp);
  transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.home-privees__media img:hover {
  transform: rotate(0deg) scale(1.02);
  box-shadow: var(--shadow-stamp-strong);
}

.home-privees__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
}

.home-privees__content .section-number {
  margin-block-end: 0;
}

.home-privees__content h2 {
  margin-block-end: 0;
}

.home-privees__content p {
  max-width: 65ch;
  margin-block-end: 0;
}

.home-privees__contact {
  display: flex;
  flex-direction: column;
  gap: var(--space-2xs);
  align-items: flex-start;
  margin-block-start: var(--space-3xs);
}

.home-privees__contact .text-small {
  margin-block-end: 0;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  .home-hero__container,
  .home-concept__container,
  .home-poker-offline__container,
  .home-texas__container,
  .home-diner__container {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-sm);
  }

  .home-bistro__container,
  .home-poker-room__container,
  .home-soirees__container,
  .home-privees__container {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-sm);
  }

  .home-hero__content h1 {
    font-size: clamp(2rem, 4vw + 0.5rem, 3rem);
  }
}

@media (max-width: 768px) {
  .home-hero,
  .home-concept,
  .home-carte,
  .home-chef,
  .home-bistro,
  .home-poker-offline,
  .home-poker-room,
  .home-texas,
  .home-soirees,
  .home-diner,
  .home-privees {
    padding-block: var(--space-md);
  }

  .home-hero__container,
  .home-concept__container,
  .home-bistro__container,
  .home-poker-offline__container,
  .home-poker-room__container,
  .home-texas__container,
  .home-soirees__container,
  .home-diner__container,
  .home-privees__container {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-sm);
  }

  .home-hero__content,
  .home-concept__content,
  .home-bistro__content,
  .home-poker-offline__content,
  .home-poker-room__content,
  .home-texas__content,
  .home-soirees__content,
  .home-diner__content,
  .home-privees__content {
    align-items: flex-start;
    text-align: start;
  }

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

  .home-hero__lead,
  .home-hero__points,
  .home-concept__content p,
  .home-concept__pillars,
  .home-carte__intro,
  .home-chef__intro,
  .home-chef__card p,
  .home-bistro__content p,
  .home-bistro__content blockquote,
  .home-poker-offline__content p,
  .home-poker-offline__list,
  .home-poker-room__content p,
  .home-poker-room__list,
  .home-texas__content p,
  .home-soirees__content p,
  .home-diner__content p,
  .home-diner__formules,
  .home-privees__content p {
    max-width: 100%;
  }

  .home-hero__actions {
    width: 100%;
    flex-direction: column;
  }

  .home-hero__actions .btn {
    width: 100%;
  }

  .home-carte__grid,
  .home-chef__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2xs);
  }

  .home-carte__col,
  .home-chef__card {
    transform: none;
  }

  .home-carte__col:hover,
  .home-chef__card:hover {
    transform: translateY(-2px);
  }

  .home-hero__media img,
  .home-concept__media img,
  .home-bistro__media img,
  .home-poker-offline__media img,
  .home-poker-room__media img,
  .home-texas__media img,
  .home-soirees__media img,
  .home-diner__media img,
  .home-privees__media img {
    max-width: 100%;
    transform: none;
  }

  .home-hero__media img:hover,
  .home-concept__media img:hover,
  .home-bistro__media img:hover,
  .home-poker-offline__media img:hover,
  .home-poker-room__media img:hover,
  .home-texas__media img:hover,
  .home-soirees__media img:hover,
  .home-diner__media img:hover,
  .home-privees__media img:hover {
    transform: scale(1.01);
  }
}

@media (max-width: 480px) {
  .home-hero__content h1 {
    font-size: 1.75rem;
  }

  .home-hero__actions .btn {
    padding-inline: var(--space-2xs);
  }

  .home-carte__col,
  .home-chef__card {
    padding: var(--space-2xs);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__media img,
  .home-concept__media img,
  .home-bistro__media img,
  .home-poker-offline__media img,
  .home-poker-room__media img,
  .home-texas__media img,
  .home-soirees__media img,
  .home-diner__media img,
  .home-privees__media img,
  .home-carte__col,
  .home-chef__card {
    transition: none;
  }

  .home-carte__col:hover .stamp-label {
    transform: none;
  }
}
