/* Saveurs Signature page styles */

.saveurs-signature-main {
  position: relative;
  overflow: hidden;
}

/* Light trail decorative element */
.saveurs-signature-main::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  background: linear-gradient(180deg, transparent, var(--color-peach) 20%, var(--color-cobalt) 50%, var(--color-peach) 80%, transparent);
  opacity: 0.25;
  z-index: var(--z-light-trail);
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity 300ms ease;
}

/* Section backgrounds */
.ss-section-peach {
  background-color: #FFF5E6;
}

.ss-section-cobalt {
  background-color: var(--color-cobalt);
  color: var(--color-text-on-cobalt);
}

.ss-section-cobalt h2 {
  color: var(--color-peach);
}

/* Intro section */
.ss-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: var(--space-5);
  align-items: center;
}

.ss-intro-copy {
  min-width: 0;
}

.ss-intro-copy .badge {
  margin-bottom: var(--space-3);
}

.ss-intro-copy h1 {
  margin-bottom: var(--space-4);
}

.ss-lead {
  font-size: 1.125rem;
  line-height: 1.7;
  margin-bottom: var(--space-4);
}

.ss-intro-note {
  font-size: var(--text-small-size);
  color: var(--color-text-muted);
  margin-bottom: 0;
}

.ss-intro-media {
  min-width: 0;
  margin: 0;
}

.ss-intro-media img {
  width: 100%;
  height: auto;
  display: block;
}

/* Irregular clip shapes for desktop */
.ss-clip-intro {
  clip-path: polygon(8% 0%, 100% 5%, 92% 95%, 0% 100%, 5% 50%);
  transition: transform var(--transition-slow);
}

.ss-clip-homard {
  clip-path: ellipse(48% 48% at 50% 50%);
  transition: transform var(--transition-slow);
}

.ss-clip-rossini {
  clip-path: polygon(0% 10%, 90% 0%, 100% 80%, 10% 100%);
  transition: transform var(--transition-slow);
}

.ss-clip-souffle {
  clip-path: circle(45% at 50% 50%);
  transition: transform var(--transition-slow);
}

/* Plat sections */
.ss-plat-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
}

.ss-plat-grid-reverse {
  direction: ltr;
}

.ss-plat-copy {
  min-width: 0;
}

.ss-plat-copy .badge {
  margin-bottom: var(--space-3);
}

.ss-plat-copy h2 {
  margin-bottom: var(--space-4);
}

.ss-plat-copy p {
  margin-bottom: var(--space-4);
}

.ss-plat-list {
  margin-bottom: 0;
}

.ss-plat-media {
  min-width: 0;
  margin: 0;
}

.ss-plat-media img {
  width: 100%;
  height: auto;
  display: block;
}

/* Centered copy sections */
.ss-centered-copy {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
}

.ss-centered-title {
  text-align: center;
  margin-bottom: var(--space-5);
}

.ss-philosophie-block,
.ss-experience-block,
.ss-accords-block {
  margin-bottom: var(--space-5);
  text-align: left;
}

.ss-philosophie-block:last-child,
.ss-experience-block:last-child,
.ss-accords-block:last-child {
  margin-bottom: 0;
}

.ss-philosophie-block h3,
.ss-experience-block h3 {
  text-align: center;
  margin-bottom: var(--space-3);
}

.ss-philosophie-block p,
.ss-experience-block p,
.ss-accords-block p {
  margin-bottom: var(--space-3);
}

.ss-accords-list {
  margin-bottom: 0;
}

/* Reservation CTA */
.ss-reservation-copy {
  max-width: 800px;
  margin-inline: auto;
  text-align: center;
  padding-block: var(--space-6);
}

.ss-reservation-copy h2 {
  color: var(--color-peach);
  margin-bottom: var(--space-4);
}

.ss-reservation-copy p {
  color: var(--color-text-on-cobalt);
  margin-bottom: var(--space-4);
}

.ss-reservation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  justify-content: center;
  margin-bottom: var(--space-4);
}

.ss-reservation-actions .btn {
  min-width: 0;
}

.ss-reservation-email {
  font-size: var(--text-small-size);
  color: var(--color-peach);
  margin-bottom: 0;
}

/* Reveal animations */
.ss-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 600ms ease,
    transform 600ms ease;
}

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

/* Image hover zoom */
.ss-plat-media img:hover,
.ss-intro-media img:hover {
  transform: scale(1.05);
}

/* Responsive */
@media (max-width: 1024px) {
  .ss-intro-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-4);
  }

  .ss-plat-grid {
    gap: var(--space-4);
  }
}

@media (max-width: 768px) {
  .saveurs-signature-main::before {
    width: 1px;
    opacity: 0.15;
  }

  .ss-intro-grid,
  .ss-plat-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
  }

  .ss-intro-media {
    order: 2;
  }

  .ss-intro-copy {
    order: 1;
  }

  .ss-plat-grid-reverse .ss-plat-media {
    order: -1;
  }

  .ss-plat-grid-reverse .ss-plat-copy {
    order: 1;
  }

  .ss-clip-intro,
  .ss-clip-homard,
  .ss-clip-rossini,
  .ss-clip-souffle {
    clip-path: none;
    border-radius: var(--radius-medium);
  }

  .ss-centered-copy,
  .ss-reservation-copy {
    max-width: 100%;
    padding-inline: var(--space-3);
  }

  .ss-reservation-copy {
    padding-block: var(--space-5);
  }

  .ss-reservation-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .ss-reservation-actions .btn {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .ss-lead {
    font-size: 1rem;
  }

  .ss-plat-copy h2,
  .ss-intro-copy h1 {
    font-size: 1.75rem;
  }

  .ss-centered-title {
    font-size: 1.75rem;
  }
}
