/* ===== Page Home — Atelier Prunelle ===== */

.page-home {
  display: block;
  width: 100%;
  overflow-x: hidden;
}

/* --- Hero --- */
.home-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  padding: var(--space-8) var(--container-padding-mobile);
  background: linear-gradient(135deg, rgba(255, 255, 240, 0.92), rgba(245, 245, 230, 0.88)), var(--color-ivoire);
  position: relative;
  isolation: isolate;
}

.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 30%, rgba(163, 197, 133, 0.18), transparent 45%),
              radial-gradient(circle at 80% 70%, rgba(106, 142, 174, 0.16), transparent 45%);
  z-index: -1;
  pointer-events: none;
}

.home-hero__panel {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  background: var(--color-overlay-light);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-large);
  padding: var(--space-6) var(--space-5);
  box-shadow: var(--shadow-elevated);
}

.home-hero__panel .section-label {
  margin-block-end: 0;
}

.home-hero h1 {
  font-size: clamp(2.25rem, 6vw, 4.5rem);
  line-height: var(--leading-display);
  margin-block-end: 0;
  max-width: 600px;
}

.home-hero__lead {
  font-size: var(--text-body-large);
  line-height: var(--leading-body);
  max-width: 600px;
  margin-block-end: 0;
}

.home-hero__note {
  font-size: var(--text-caption);
  line-height: var(--leading-caption);
  color: var(--color-prune-deep);
  max-width: 600px;
  margin-block-end: 0;
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  width: 100%;
  max-width: 600px;
}

.home-hero__actions .btn {
  flex: 1 1 auto;
  min-width: 200px;
  max-width: 280px;
}

/* --- Shared section rhythm --- */
.home-section {
  padding-block: var(--space-8);
}

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

.home-section h2 {
  font-size: var(--text-h2-size);
  line-height: var(--leading-h2);
  margin-block-end: var(--space-4);
}

.home-section p {
  max-width: 65ch;
  margin-block-end: var(--space-4);
}

.home-section .section-label {
  margin-block-end: var(--space-2);
}

/* --- Generic two-column feature grids --- */
.home-concept__grid,
.home-cuisine__grid,
.home-signature__grid,
.home-interieur__grid,
.home-offline__grid,
.home-poker-room__grid,
.home-texas__grid,
.home-soirees__grid,
.home-privees__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  align-items: center;
}

.home-concept__copy,
.home-cuisine__copy,
.home-signature__copy,
.home-interieur__copy,
.home-offline__copy,
.home-poker-room__copy,
.home-texas__copy,
.home-soirees__copy,
.home-privees__copy {
  min-width: 0;
}

.home-concept__copy p,
.home-cuisine__copy p,
.home-signature__copy p,
.home-interieur__copy p,
.home-offline__copy p,
.home-poker-room__copy p,
.home-texas__copy p,
.home-soirees__copy p,
.home-privees__copy p {
  max-width: 65ch;
}

.home-concept__media,
.home-cuisine__media,
.home-signature__media,
.home-interieur__media,
.home-offline__media,
.home-poker-room__media,
.home-texas__media,
.home-soirees__media,
.home-privees__media {
  min-width: 0;
  margin-block-end: 0;
}

.home-concept__media img,
.home-cuisine__media img,
.home-signature__media img,
.home-interieur__media img,
.home-offline__media img,
.home-poker-room__media img,
.home-texas__media img,
.home-soirees__media img,
.home-privees__media img {
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: var(--radius-medium);
  border: 1px solid var(--color-border-soft);
  box-shadow: var(--shadow-card);
  transition: transform var(--transition-medium);
}

.home-concept__media img:hover,
.home-cuisine__media img:hover,
.home-signature__media img:hover,
.home-interieur__media img:hover,
.home-offline__media img:hover,
.home-poker-room__media img:hover,
.home-texas__media img:hover,
.home-soirees__media img:hover,
.home-privees__media img:hover {
  transform: scale(1.02);
}

.home-concept__media figcaption,
.home-cuisine__media figcaption,
.home-signature__media figcaption,
.home-interieur__media figcaption,
.home-offline__media figcaption,
.home-poker-room__media figcaption,
.home-texas__media figcaption,
.home-soirees__media figcaption,
.home-privees__media figcaption {
  margin-block-start: var(--space-2);
  font-size: var(--text-caption);
  color: var(--color-prune);
}

/* --- Section backgrounds --- */
.home-cuisine,
.home-offline,
.home-soirees {
  background-color: var(--color-ivoire-dim);
}

.home-concept,
.home-carte,
.home-signature,
.home-interieur,
.home-texas,
.home-privees {
  background-color: var(--color-ivoire);
}

/* --- La Carte --- */
.home-carte__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  margin-block-start: var(--space-4);
}

.home-carte__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  background-color: var(--color-white);
  border: 1px solid var(--color-border-soft);
  border-radius: var(--radius-medium);
  box-shadow: var(--shadow-card);
  transition: box-shadow var(--transition-medium), transform var(--transition-medium);
}

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

.home-carte__card h3 {
  margin-block-end: 0;
  font-size: var(--text-h3-size);
  line-height: var(--leading-h3);
}

.home-carte__card p {
  margin-block-end: 0;
  max-width: 40ch;
}

/* --- Signature list --- */
.home-signature__list {
  list-style: none;
  padding-inline-start: 0;
  margin-block-end: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.home-signature__list li {
  line-height: var(--leading-body);
  padding-inline-start: var(--space-4);
  border-inline-start: 3px solid var(--color-pistache);
}

/* --- Poker Room dark section --- */
.home-poker-room {
  background-color: var(--color-prune-deep);
  color: var(--color-white);
}

.home-poker-room h2,
.home-poker-room .section-label,
.home-poker-room p,
.home-poker-room figcaption {
  color: var(--color-white);
}

.home-poker-room .section-label {
  color: var(--color-pistache);
}

.home-poker-room__media img {
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.home-poker-room__media figcaption {
  color: rgba(255, 255, 255, 0.85);
}

/* --- CTA Final --- */
.home-cta {
  padding-block: var(--space-8);
  background: linear-gradient(135deg, rgba(58, 32, 43, 0.95), rgba(75, 46, 59, 0.9)), var(--color-prune-deep);
}

.home-cta__panel {
  width: 100%;
  max-width: 500px;
  margin-inline: auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-4);
  background: var(--color-overlay-light);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--radius-large);
  padding: var(--space-6) var(--space-5);
  box-shadow: var(--shadow-elevated);
}

.home-cta__panel h2 {
  color: var(--color-prune-deep);
  margin-block-end: 0;
}

.home-cta__panel p {
  color: var(--color-prune-deep);
  margin-block-end: 0;
  max-width: 500px;
}

.home-cta__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-3);
  width: 100%;
}

.home-cta__actions .btn {
  flex: 1 1 auto;
  min-width: 160px;
  max-width: 240px;
}

/* --- Tablet (768px+) --- */
@media (min-width: 768px) {
  .home-section {
    padding-block: var(--space-8);
  }

  .home-section .container {
    padding-inline: var(--container-padding-desktop);
  }

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

  .home-concept__grid,
  .home-cuisine__grid,
  .home-interieur__grid,
  .home-offline__grid,
  .home-texas__grid,
  .home-soirees__grid,
  .home-privees__grid {
    grid-template-columns: 3fr 2fr;
    gap: var(--space-6);
  }

  .home-signature__grid,
  .home-poker-room__grid {
    grid-template-columns: 2fr 3fr;
    gap: var(--space-6);
  }

  .home-signature__media {
    order: 1;
  }

  .home-signature__copy {
    order: 2;
  }

  .home-poker-room__media {
    order: 1;
  }

  .home-poker-room__copy {
    order: 2;
  }
}

/* --- Desktop (1024px+) --- */
@media (min-width: 1024px) {
  .home-section {
    padding-block: var(--space-9);
  }

  .home-hero {
    min-height: 70vh;
    padding-block: var(--space-9);
  }

  .home-hero__panel {
    padding: var(--space-7) var(--space-6);
  }

  .home-cta {
    padding-block: var(--space-9);
  }

  .home-cta__panel {
    padding: var(--space-7) var(--space-6);
  }
}

/* --- Mobile refinements (max-width: 767px) --- */
@media (max-width: 767px) {
  .home-hero {
    min-height: auto;
    padding-block: var(--space-6);
  }

  .home-hero__panel {
    padding: var(--space-5) var(--space-4);
  }

  .home-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions .btn {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

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

  .home-cta__actions .btn {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .home-section .container {
    padding-inline: var(--container-padding-mobile);
  }

  .home-carte__grid {
    grid-template-columns: 1fr;
  }

  .home-concept__grid,
  .home-cuisine__grid,
  .home-signature__grid,
  .home-interieur__grid,
  .home-offline__grid,
  .home-poker-room__grid,
  .home-texas__grid,
  .home-soirees__grid,
  .home-privees__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .home-signature__media,
  .home-poker-room__media {
    order: 0;
  }

  .home-signature__copy,
  .home-poker-room__copy {
    order: 0;
  }
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
  .home-concept__media img,
  .home-cuisine__media img,
  .home-signature__media img,
  .home-interieur__media img,
  .home-offline__media img,
  .home-poker-room__media img,
  .home-texas__media img,
  .home-soirees__media img,
  .home-privees__media img,
  .home-carte__card {
    transition: none;
  }

  .home-carte__card:hover {
    transform: none;
  }
}
