/* Motion layer for FABER Standard public proposals only. */
@keyframes std-scroll-reveal {
  from {
    opacity: 0;
    transform: translateY(28px) scale(.988);
    filter: blur(3px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes std-scroll-reveal-card {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.992);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: no-preference) {
  @supports (animation-timeline: view()) {
    .std-proposal .std-shell > .std-overview,
    .std-proposal .std-shell > .std-section,
    .std-proposal .std-shell > .std-details-grid,
    .std-proposal .std-shell > .std-value,
    .std-proposal .std-shell > .std-footer {
      animation-name: std-scroll-reveal;
      animation-duration: 1ms;
      animation-fill-mode: both;
      animation-timing-function: cubic-bezier(.2,.7,.2,1);
      animation-timeline: view(block);
      animation-range: entry 2% cover 28%;
      will-change: opacity, transform, filter;
    }

    .std-proposal .std-hotel,
    .std-proposal .std-flight-card,
    .std-proposal .std-experience,
    .std-proposal .std-check {
      animation-name: std-scroll-reveal-card;
      animation-duration: 1ms;
      animation-fill-mode: both;
      animation-timing-function: cubic-bezier(.2,.7,.2,1);
      animation-timeline: view(block);
      animation-range: entry 0% cover 20%;
      will-change: opacity, transform;
    }
  }

  @supports not (animation-timeline: view()) {
    .std-proposal .std-shell > .std-overview,
    .std-proposal .std-shell > .std-section,
    .std-proposal .std-shell > .std-details-grid,
    .std-proposal .std-shell > .std-value,
    .std-proposal .std-shell > .std-footer {
      animation: std-scroll-reveal .72s cubic-bezier(.2,.7,.2,1) both;
    }
  }
}

@media (prefers-reduced-motion: reduce) {
  .std-proposal .std-shell > *,
  .std-proposal .std-hotel,
  .std-proposal .std-flight-card,
  .std-proposal .std-experience,
  .std-proposal .std-check {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
  }
}

/* Legacy social glyphs stay visible on mobile. Travelmax renders its own SVGs. */
.std-proposal .std-footer-links .std-social-mark {
  display: none;
}

.std-proposal:where(:not(.std-proposal--travelmax)) .std-footer-links a[aria-label="Instagram"]::before,
.std-proposal:where(:not(.std-proposal--travelmax)) .std-footer-links a[aria-label="Facebook"]::before {
  content: "";
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.std-proposal:where(:not(.std-proposal--travelmax)) .std-footer-links a[aria-label="Instagram"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='20' x='2' y='2' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' x2='17.51' y1='6.5' y2='6.5'/%3E%3C/svg%3E");
}

.std-proposal:where(:not(.std-proposal--travelmax)) .std-footer-links a[aria-label="Facebook"]::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M14 8h3V4h-3c-3.31 0-6 2.69-6 6v2H5v4h3v8h4v-8h3.2l.8-4h-4v-2c0-1.1.9-2 2-2z'/%3E%3C/svg%3E");
}
