/* PDP redesign — Trip (SHOP-337) */

.product-page-redesign .pdp-redesign-trip {
  background: var(--pdp-section-bg, #ffffff);

  .pdp-redesign-trip__layout {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }

  .pdp-redesign-trip__content {
    min-width: 0;
  }

  .pdp-redesign-trip__tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
  }

  .pdp-redesign-trip__tab {
    flex: 1 1 0;
    min-width: 0;
    padding: 12px 8px;
    font-size: var(--fs-base);
    font-weight: 600;
    color: var(--gray-600);
    border: 1.5px solid var(--gray-200);
    border-radius: var(--radius-md);
    background: #ffffff;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
    line-height: 1.2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    user-select: none;

    &[aria-selected="true"] {
      background: var(--black);
      color: #ffffff;
      border-color: var(--black);
    }
  }

  .pdp-redesign-trip__panel {
    display: none;

    &.is-active {
      display: block;
      animation: pdp-redesign-trip-fade 0.25s var(--ease-out);
    }
  }

  .pdp-redesign-trip__panel-media {
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-lg);
    margin-bottom: 16px;
    overflow: hidden;
    background-color: var(--sand);

    img,
    video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
  }

  .pdp-redesign-trip__body {
    font-size: var(--fs-md);
    line-height: 1.55;
    color: var(--gray-800);
    margin-bottom: 16px;

    strong {
      color: var(--black);
    }
  }

  .pdp-redesign-trip__review {
    padding: 14px 16px;
  }

  .pdp-redesign-trip__review-stars {
    display: flex;
    gap: 1px;
    color: var(--star);
    margin-bottom: 5px;
  }

  .pdp-redesign-trip__review-quote {
    font-style: italic;
    font-size: var(--fs-lg);
    font-weight: 400;
    line-height: 1.4;
    color: var(--black);
    margin-bottom: 5px;
  }

  .pdp-redesign-trip__review-author {
    font-size: var(--fs-xs);
    color: var(--gray-600);
    font-weight: 500;
  }

  @media (max-width: 1023px) {
    .pdp-redesign-trip__image-col {
      display: none !important;
    }
  }

  @media screen and (min-width: 1024px) {
    .pdp-redesign-trip__layout--with-image-col {
      flex-direction: row;
      gap: 56px;
      align-items: flex-start;
    }

    .pdp-redesign-trip__layout--with-image-col .pdp-redesign-trip__content,
    .pdp-redesign-trip__layout--with-image-col .pdp-redesign-trip__image-col {
      flex: 1 1 50%;
      min-width: 0;
    }

    .pdp-redesign-trip__layout--with-image-col .pdp-redesign-trip__image-col {
      position: sticky;
      top: 116px;
    }

    .pdp-redesign-trip__layout--with-image-col .pdp-redesign-trip__panel-media {
      display: none !important;
    }

    .pdp-redesign-trip__layout--with-image-col .pdp-redesign-trip__sticky-media {
      aspect-ratio: 4 / 3;
      background-color: var(--sand);
      border-radius: var(--radius-lg);
      overflow: hidden;
      display: none;

      &.is-active {
        display: block;
      }

      img,
      video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }
    }

    .pdp-redesign-trip__layout--with-image-col .pdp-redesign-trip__sticky-media--placeholder {
      background: repeating-linear-gradient(45deg, var(--sand), var(--sand) 12px, #ede4d5 12px, #ede4d5 24px);
    }

    .pdp-redesign-trip__layout--with-image-col .pdp-redesign-trip__placeholder {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gray-600);
      font-size: var(--fs-base);
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
  }
}

@keyframes pdp-redesign-trip-fade {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
