.mystories-custom-video-container {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.88);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 100000000093 !important;
}

.mystories-custom-video-container video {
  width: 540px;
  max-width: 100%;
  max-height: 100%;
  aspect-ratio: 9 / 16;
  margin: auto;
}

.mystories-custom-video-container video::-webkit-media-controls,
.mystories-custom-video-container video::-webkit-media-controls-start-playback-button {
  display: none;
  -webkit-appearance: none;
}

.mystories-video-thumbnail-container {
  border-radius: 50%;
  padding: 2px;
  position: relative;
  display: inline-block;
  margin-right: 6px;
  cursor: pointer;
  overflow: visible;
  transition: padding 0.3s ease;
  vertical-align: top;
  text-align: center;
  box-shadow: 3px 5px 6px 1px rgb(0 0 0 / 15%);
}

.mystories-video-thumbnail-container:hover {
  padding: 0px;
  /* Augmentation du padding de 1px au survol */
}

.mystories-video-thumbnail-space {
  background-color: white;
  border-radius: 100%;
  transition: none;
}

[dir="rtl"] .mystories-video-thumbnail-container {
  margin-left: 6px;
  margin-right: 0;
}

[dir="rtl"] .mystories-video-thumbnail-space {
  padding-left: 6px;
  padding-right: 3px;
}

.mystories-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 14px solid white;
  transform: translate(-50%, -50%);
  /* Ajout de la rotation ici */
  cursor: pointer;
  opacity: 0.7;
  /* Ajout de la transparence ici */
  display: block !important;
  transition: transform 0.3s ease, opacity 0.3s ease;
  pointer-events: none;
}

.mystories-video-thumbnail-container:hover .mystories-video-thumbnail {
  transform: scale(1.1);
}

.mystories-video-thumbnail-container:hover .mystories-play-button {
  transform: translate(-50%, -50%) scale(1.1);
  opacity: 1;
}

.mystories-video-thumbnail {
  display: inline-block;
  position: relative;
  padding: 2.5px;
  width: 75px;
  height: 75px;
  border-radius: 50%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.mystories-video-thumbnail:hover {
  transform: scale(1.1);
}

.mystories-video-thumbnail.small {
  max-width: 63px !important;
  max-height: 63px !important;
}

.mystories-video-thumbnail.normal {
  max-width: 68px !important;
  max-height: 68px !important;
}

.mystories-video-thumbnail.big {
  max-width: 73px !important;
  max-height: 73px !important;
}

.mystories-video-thumbnail-space.small {
  max-width: 66px !important;
  max-height: 66px !important;
}

.mystories-video-thumbnail-space.normal {
  max-width: 71px !important;
  max-height: 71px !important;
}

.mystories-video-thumbnail-space.big {
  max-width: 76px !important;
  max-height: 76px !important;
}

.mystories-video-link {
  display: none;
  position: relative;
  background-color: rgba(0, 0, 0, 0.2);
  /* Fond semi-transparent */
  color: #e7e7e7;
  /* Couleur du texte */
  padding: 0px 5px;
  /* Espacement intérieur pour le lien */
  border-radius: 5px;
  /* Coins arrondis */
  font-size: 10px;
  /* Taille de la police du lien */
  margin-top: 5px;
}

.mystories-video-link a {
  color: #e7e7e7;
  /* Couleur du texte */
}

.mystories-video-link a:hover {
  color: #b9b9b9;
  /* Couleur du texte */
}

.mystories-video-link a:visited {
  color: #e7e7e7;
  /* Couleur du texte */
}

.mystories-video-link a:active {
  color: #e7e7e7;
  /* Couleur du texte */
}

.mystories-video-block-container {
  position: relative;
  padding-top: var(--spacing-top, 10px);
  padding-bottom: var(--spacing-bottom, 0px);
  width: 100%;
  max-width: 99vw;

}

.mystories-story-carousel__viewport {
  overflow: hidden;
  width: 100%;
  padding-right:20px;
  padding-left:20px;
}

.mystories-story-carousel__container {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  touch-action: pan-y;
}

.mystories-story-carousel__slide {
  flex: 0 0 auto;
  min-width: 0;
}

.mystories-video-block-container.left-mystories {
  text-align: left;
}

.mystories-video-block-container.left-mystories .mystories-story-carousel__container {
  justify-content: flex-start;
}

.mystories-video-block-container.center-mystories {
  text-align: center;
}

.mystories-video-block-container.center-mystories .mystories-story-carousel__container {
  justify-content: center;
}

.mystories-video-block-container.right-mystories {
  text-align: right;
}

.mystories-video-block-container.right-mystories .mystories-story-carousel__container {
  justify-content: flex-end;
}

.mystories-story-carousel__button {
  position: absolute;
  top: calc(50% + var(--spacing-top, 10px) * 0.5);
  transform: translateY(-50%);
  z-index: 5;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 999px;
  background: rgba(16, 16, 16, 0.72);
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  line-height: 1;
  padding: 0;
}

.mystories-story-carousel__button--prev {
  left: 0;
}

.mystories-story-carousel__button--next {
  right: 0;
}

.mystories-story-carousel__button.is-enabled {
  display: inline-flex;
}

.mystories-story-carousel__button.is-disabled {
  opacity: 0.35;
  cursor: default;
  display: none;
}

.mystories-story-carousel__dots {
  display: none;
  gap: 6px;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
}

.mystories-story-carousel__dots.is-enabled {
  display: flex;
}

.mystories-carousel-dot {
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 999px;
  padding: 0;
  background: rgba(0, 0, 0, 0.24);
  cursor: pointer;
}

.mystories-carousel-dot.is-selected {
  background: rgba(0, 0, 0, 0.75);
}

.no-scroll {
  overflow: hidden;
  /*position: fixed;*/
  height: 100%;
  width: 100%
}

.mystories-video-link {
  position: absolute;
  bottom: 10px;
  /* Positionnez-le en bas du conteneur */
  left: 50%;
  /* Centrez-le horizontalement */
  transform: translateX(-50%);
  /* Ajustement fin pour le centrage */
  background-color: rgba(0, 0, 0, 0.5);
  /* Fond semi-transparent */
  color: #e7e7e7;
  /* Couleur du texte */
  padding: 3px 8px;
  /* Espacement intérieur pour le lien */
  border-radius: 5px;
  /* Coins arrondis */
  font-size: 12px;
  /* Taille de la police du lien */
  text-align: center;
  /* Assurez-vous que le texte est centré */
  z-index: 1002;
  /* Assurez-vous qu'il est au-dessus de la vidéo */
}

.mystories-arrow-left,
.mystories-arrow-right {
  position: absolute;
  z-index: 1002;
  color: white;
  cursor: pointer;
}

.mystories-video-wrapper {
  aspect-ratio: 9 / 16;
  position: relative;
  max-height: 98%;
  max-width: -webkit-fill-available;
  background-color: #0000001f;
  align-items: center;
  justify-content: normal;
  /* flex-direction: column; suppression de cette caractéristique car quelques pixels à droites de la vidéo dépassent */
  display: flex;
  border-radius: 10px;
}

.mystories-video-wrapper video {
  border-radius: 10px;
  /* max-width: -webkit-fill-available; */
}

.mystories-video-wrapper span {
  text-align: center;
  /* color: rgb(239, 239, 239); */
  cursor: pointer;
  z-index: 1002;
}

.mystories-arrow-left,
.mystories-arrow-right {
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  opacity: 0.7;
}

.mystories-arrow-left {
  left: 10px;
}

.mystories-arrow-right {
  right: 10px;
}

[dir="rtl"] .mystories-arrow-left {
  right: 10px;
  left: 100%;
}

[dir="rtl"] .mystories-arrow-right {
  left: 10px;
  right: 94%;
}

.mystories-videoElement {
  display: none;
  object-fit: cover;
}

.mystories-pause-play-button {
  position: absolute;
  top: 7rem;
  right: 0.5rem;
}

.mystories-sound-button {
  position: absolute;
  top: 4.3rem;
  right: 0.5rem;
  fill: rgb(239, 239, 239);
}

.mystories-sound-button svg {
  width: 37px;
  height: 28px;
  fill: white;
}

.mystories-close-button {
  position: absolute;
  top: 1.5rem;
  right: 0.5rem;
}

.mystories-control-panel {
  position: absolute;
  /* Décalage du haut */
  right: 5px;
  /* Décalage de droite */
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  /* Aligner les éléments à droite */
  gap: 0.5em;
  /* Espacement entre les boutons */
}

.mystories-control-panel span img {
  max-width: 100%;
  filter: invert(90%);
}


.mystories-control-panel span {
  width: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  /* Ajustez selon la taille de vos boutons */
  height: 25px;
  /* Ajustez selon la taille de vos boutons */
  border-radius: 50%;
  /* Cela crée l'effet de cercle */
  background-color: rgba(128, 128, 128, 0.45);
  /* Couleur de fond grise avec une certaine transparence */
  cursor: pointer;
}

.mystories-control-panel span img {
  width: 15px;
  /* Ajustez la taille de l'icône à l'intérieur du cercle */
  height: auto;
  /* Gardez le ratio de l'icône */
}

.mystories-progress-container {
  position: absolute;
  top: 3%;
  /* Position à 5% du haut de la vidéo */
  width: 90%;
  /* La barre de progression occupe 90% de la largeur du conteneur */
  left: 5%;
  /* Centrer la barre en décalant de 5% de chaque côté */
  height: 2px;
  /* Hauteur de la barre de progression */
  background-color: gray;
  /* Couleur de fond lorsque la vidéo n'est pas encore lue */
  z-index: 999;
}

.mystories-progress-bar {
  height: 100%;
  background-color: white;
  /* Couleur de la progression */
  transition: width 0.2s linear;
  /* Transition douce pour la barre de progression */
  display: block !important;
}

.mystories-video-item-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
  margin: 0;
}

.mystories-video-title {
  display: block;
  text-align: center;
  margin-top: 6px;
  font-size: 12px;
  font-weight: 500;
  color: #333;
  white-space: normal;
  width: 76px;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.2;
}

[dir="rtl"] .mystories-video-item-wrapper {
  margin-left: 10px;
  margin-right: 0;
}

/* Styles pour les thumbnails rectangulaires */
.mystories-rectangle-wrapper {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 10px 0;
  vertical-align: top;
  box-sizing: border-box;
  inline-size: var(--mystories-story-width, auto);
  max-inline-size: min(100%, 85vw);
}

.mystories-rectangle-container {
  border-radius: 15px;
  /* Augmenté pour accommoder plus d'espace */
  padding: 0px;
  /* Padding pour montrer le dégradé en arrière-plan */
  position: relative;
  display: block;
  cursor: pointer;
  overflow: hidden;
  transition: padding 0.3s ease;
  box-shadow: 2px 5px 10px 2px rgb(0 0 0 / 35%);
  box-sizing: border-box;
  width: 100%;
}

.mystories-rectangle-container:hover {
  padding: 0px;
  /* Réduction du padding au survol */
}

.mystories-rectangle-space {
  background-color: white;
  /* Fond blanc pour créer l'effet de bordure */
  border-radius: 13px;
  /* Légèrement plus petit que le conteneur */
  overflow: hidden;
  position: relative;
  width: 100%;
  aspect-ratio: 9 / 16;
  height: auto;
  padding: 0px;
  /* Augmenté pour plus d'espace blanc */
  box-sizing: border-box;
}

.mystories-rectangle-thumbnail {
  position: relative;
  border-radius: 9px;
  /* Réduit pour montrer plus de bordure blanche */
  overflow: hidden;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

/* Simulation de hover via classe utilitaire */
.mystories-video-thumbnail-container.is-hovered {
  padding: 0px;
}

.mystories-video-thumbnail-container.is-hovered .mystories-video-thumbnail {
  transform: scale(1.1);
}

.mystories-video-thumbnail-container.is-hovered .mystories-play-button {
  transform: translate(-50%, -50%) scale(1.1);
  opacity: 1;
}

.mystories-rectangle-container.is-hovered {
  padding: 0px;
}

.mystories-rectangle-container.is-hovered .mystories-rectangle-thumbnail {
  transform: scale(1.1);
}

.mystories-rectangle-container.is-hovered .mystories-rectangle-play-button {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.1);
}

.mystories-rectangle-container:hover .mystories-rectangle-thumbnail {
  transform: scale(1.1);
  /* Effet de zoom au survol */
}

/* Tailles pour les thumbnails rectangulaires avec ratio 9:16 exact */
.mystories-rectangle-space.small {
  width: 168.75px;
  /* 300px * 9/16 */
  height: 300px;
}

.mystories-rectangle-space.normal {
  width: 196.875px;
  /* 350px * 9/16 */
  height: 350px;
}

.mystories-rectangle-space.big {
  width: 225px;
  /* 400px * 9/16 */
  height: 400px;
}

.mystories-rectangle-play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  opacity: 0.7;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  z-index: 2;
}

.mystories-rectangle-container:hover .mystories-rectangle-play-button {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.1);
}

.mystories-rectangle-play-button svg {
  width: 100%;
  height: 100%;
}

.mystories-rectangle-title {
  text-align: center;
  margin-top: 10px;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

/* Responsive pour les thumbnails rectangulaires */
@media (max-width: 768px) {
  .mystories-video-block-container {
    max-width: 100vw;
  }

  .mystories-video-block-container.center-mystories,
  .mystories-video-block-container.right-mystories {
    text-align: left;
  }

  .mystories-video-block-container.center-mystories .mystories-story-carousel__container,
  .mystories-video-block-container.right-mystories .mystories-story-carousel__container {
    justify-content: flex-start;
  }

  .mystories-rectangle-space {
    max-width: 85vw;
  }

  .mystories-rectangle-space.small {
    width: 140.625px;
    /* 250px * 9/16 */
    height: 250px;
  }

  .mystories-rectangle-space.normal {
    width: 168.75px;
    /* 300px * 9/16 */
    height: 300px;
  }

  .mystories-rectangle-space.big {
    width: 196.875px;
    /* 350px * 9/16 */
    height: 350px;
  }

  .mystories-rectangle-play-button {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 480px) {
  .mystories-video-block-container {
    max-width: 100vw;
  }

  .mystories-rectangle-space {
    max-width: 85vw;
  }

  .mystories-rectangle-space.small {
    width: 112.5px;
    /* 200px * 9/16 */
    height: 200px;
  }

  .mystories-rectangle-space.normal {
    width: 140.625px;
    /* 250px * 9/16 */
    height: 250px;
  }

  .mystories-rectangle-space.big {
    width: 168.75px;
    /* 300px * 9/16 */
    height: 300px;
  }

  .mystories-rectangle-play-button {
    width: 40px;
    height: 40px;
  }
}

/* Style pour les conteneurs sans dégradé */
.mystories-video-thumbnail-container.no-gradient,
.mystories-rectangle-container.no-gradient {
  background: transparent !important;
  padding: 0;
}

.mystories-video-thumbnail-container.no-gradient:hover,
.mystories-rectangle-container.no-gradient:hover {
  padding: 0;
}

.mystories-video-thumbnail-container.no-gradient .mystories-video-thumbnail-space,
.mystories-rectangle-container.no-gradient .mystories-rectangle-space {
  background-color: transparent;
  padding: 0;
}

.mystories-video-thumbnail-container.no-gradient .mystories-video-thumbnail,
.mystories-rectangle-container.no-gradient .mystories-rectangle-thumbnail {
  border: none;
}

/* Shoppable products */
.mystories-product-insert {
  margin-top: 6px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  white-space: normal;
}

.mystories-product-insert--overlay {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  width: 90%;
  max-width: 520px;
  z-index: 1003;
  display: none;
  overflow: hidden;
  border-radius: 12px;
}

.mystories-video-wrapper.is-playing .mystories-product-insert--overlay.has-products {
  display: block;
}

.mystories-product-track {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-radius: 10px;
  cursor: default;
  box-sizing: border-box;
  touch-action: pan-y;
}

.mystories-product-carousel {
  position: relative;
  width: 100%;
}

.mystories-product-carousel__viewport {
  overflow: hidden;
  border-radius: 10px;
}

.mystories-product-insert--static {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.mystories-product-card {
  flex: 0 0 auto;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  gap: 10px;
  padding: 8px;
  box-sizing: border-box;
  white-space: normal;
}

.mystories-product-card.preview {
  width: 100%;
  min-width: 0;
  border: 1px solid;
  border-color: rgba(0, 0, 0, 0.08);
}

.mystories-product-card.full {
  width: min(360px, calc(100% - 2rem));
  flex: 0 0 min(360px, calc(100% - 2rem));
}

.mystories-product-carousel--single .mystories-product-card.full {
  width: 100%;
  flex-basis: 100%;
}

.mystories-product-carousel__button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  border: 0;
  border-radius: 999px;
  width: 28px;
  height: 28px;
  background: rgba(16, 16, 16, 0.7);
  color: #fff;
  line-height: 1;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

.mystories-product-carousel__button--prev {
  left: 4px;
}

.mystories-product-carousel__button--next {
  right: 4px;
}

.mystories-product-carousel__button.is-enabled {
  display: inline-flex;
}

.mystories-product-carousel__button.is-disabled {
  opacity: 0.35;
  cursor: default;
}

.mystories-product-carousel__dots {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: 6px;
}

.mystories-product-carousel__dots.is-enabled {
  display: flex;
}

.mystories-product-image {
  display: block;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.08);
  border: 1px solid;
  border-color: rgba(0, 0, 0, 0.04);
}

.mystories-product-image.sm {
  width: 48px;
  height: 48px;
}

.mystories-product-image.lg {
  width: 64px;
  height: 64px;
}

.mystories-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mystories-product-info {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  min-width: 0;
}

.mystories-product-info.preview {
  flex-direction: row;
}

.mystories-product-info.full {
  flex-direction: column;
}

.mystories-product-title {
  font-size: small;
  font-weight: 500;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
}

.mystories-product-prices {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  gap: 6px;
  font-size: small;
}

.mystories-product-price {
  font-weight: 500;
}

.mystories-product-compare {
  text-decoration: line-through;
  color: #9a9a9a;
  font-size: 11px;
}

.mystories-product-cta {
  margin: 0;
}

.mystories-product-cta-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  cursor: pointer;
  text-align: center;
}

.mystories-product-cta-button-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-width: 32px;
  padding: 0;
  line-height: 1;
}

.mystories-product-cta-button-icon.button {
  padding: 0;
  min-width: 32px;
}

.mystories-product-cta-button svg,
.mystories-product-cta-button-icon svg {
  width: 18px;
  height: 18px;
  display: block;
  fill: currentColor;
}

.mystories-product-cta-spinner {
  display: none;
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid currentColor;
  border-top-color: transparent;
  animation: mystories-spin 0.8s linear infinite;
  opacity: 0;
  pointer-events: none;
}

.mystories-product-cta-text {
  display: inline-block;
}

.mystories-product-cta-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.mystories-product-cta-button:focus-visible {
  outline: 2px solid #111111;
  outline-offset: 2px;
}

.mystories-product-cta-button:disabled,
.mystories-product-cta-button-icon:disabled,
.mystories-product-cta-button[aria-disabled='true'],
.mystories-product-cta-button-icon[aria-disabled='true'] {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.mystories-product-cta-button.is-adding,
.mystories-product-cta-button-icon.is-adding {
  opacity: 0.7;
  pointer-events: none;
}

.mystories-product-cta-button.is-adding .mystories-product-cta-text,
.mystories-product-cta-button.is-adding svg,
.mystories-product-cta-button-icon.is-adding svg {
  opacity: 0;
}

.mystories-product-cta-button.is-adding .mystories-product-cta-spinner,
.mystories-product-cta-button-icon.is-adding .mystories-product-cta-spinner {
  display: block;
  opacity: 1;
}

@keyframes mystories-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 480px) {
  .mystories-product-card.full {
    width: min(250px, calc(100% - 1.5rem));
    flex-basis: min(250px, calc(100% - 1.5rem));
  }
}

@media (hover: none) and (pointer: coarse) {
  .mystories-story-carousel__button,
  .mystories-product-carousel__button {
    width: 34px;
    height: 34px;
  }
}

/* Revamped story viewer */
.mystories-custom-video-container {
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 100000000093 !important;
  pointer-events: none;
  --mystories-swipe-x: 0px;
  --mystories-swipe-y: 0px;
  --mystories-swipe-scale: 1;
  --mystories-backdrop-opacity: 1;
}

.mystories-custom-video-container.mystories-is-visible {
  display: flex;
  pointer-events: auto;
}

.mystories-viewer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 5, 7, 0.86);
  opacity: 1;
}

.mystories-video-wrapper {
  position: relative;
  display: block;
  width: min(92vw, 460px);
  max-height: min(95dvh, 860px);
  aspect-ratio: 9 / 16;
  border-radius: 16px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.45);
  z-index: 1;
  will-change: transform, opacity;
  transform-style: preserve-3d;
}

.mystories-video-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
  perspective: 300vw;
  perspective-origin: center center;
  transform-style: preserve-3d;
  touch-action: none;
}

.mystories-cube-scene {
  position: absolute;
  inset: 0;
  display: none;
  perspective-origin: center center;
  transform-style: preserve-3d;
  pointer-events: none;
  z-index: 3;
}

.mystories-video-stage.is-cube-active .mystories-cube-scene {
  display: block;
}

.mystories-cube {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  --mystories-cube-depth: 230px;
  --mystories-cube-progress: 0;
  transform: translateZ(calc(var(--mystories-cube-depth) * -1)) rotateY(calc(var(--mystories-cube-progress) * 90deg));
  will-change: transform;
}

.mystories-cube-face {
  position: absolute;
  inset: 0;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
}

.mystories-cube-face-front {
  transform: rotateY(0deg) translateZ(var(--mystories-cube-depth));
}

.mystories-cube-face-right {
  transform: rotateY(90deg) translateZ(var(--mystories-cube-depth));
}

.mystories-cube-face-left {
  transform: rotateY(-90deg) translateZ(var(--mystories-cube-depth));
}

.mystories-video-face {
  position: absolute;
  inset: 0;
  display: none;
  z-index: 1;
  overflow: hidden;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform-style: preserve-3d;
  transform-origin: center center;
  will-change: transform, opacity;
}

.mystories-video-face.mystories-is-active,
.mystories-video-face.is-incoming {
  display: block;
}

.mystories-video-face.mystories-is-active {
  z-index: 2;
}

.mystories-media-controller {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  background: #000;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.mystories-custom-video-container .mystories-video-face video {
  display: block !important;
  inline-size: 100%;
  block-size: 100%;
  max-inline-size: 100%;
  max-block-size: 100%;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
}

.mystories-progress-container {
  position: absolute;
  top: 14px;
  left: 12px;
  right: 12px;
  height: 3px;
  display: flex;
  align-items: center;
  gap: 4px;
  background: transparent;
  width: auto;
  z-index: 6;
}

.mystories-progress-segment {
  flex: 1 1 0;
  height: 100%;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.34);
  overflow: hidden;
}

.mystories-progress-segment-fill {
  display: block;
  width: 100%;
  height: 100%;
  background: #ffffff;
  transform-origin: left center;
  transform: scaleX(0);
}

.mystories-control-panel {
  position: absolute;
  top: 4rem;
  right: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  z-index: 7;
}

.mystories-control-panel button {
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.25);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  padding: 0;
  touch-action: manipulation;
}

.mystories-control-panel .mystories-close-button,
.mystories-control-panel .mystories-pause-play-button,
.mystories-control-panel .mystories-sound-button {
  position: static;
  top: auto;
  right: auto;
  left: auto;
}

.mystories-control-panel button img {
  width: 20px;
  height: auto;
  filter: invert(100%);
}

.mystories-control-panel button:focus-visible,
.mystories-arrow-left:focus-visible,
.mystories-arrow-right:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.mystories-arrow-left,
.mystories-arrow-right {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.24);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 7;
  touch-action: manipulation;
  font-size: 20px;
}

.mystories-arrow-left {
  left: calc(50% - (min(92vw, 460px) / 2) - 72px);
}

.mystories-arrow-right {
  right: calc(50% - (min(92vw, 460px) / 2) - 72px);
}

.mystories-arrow-left.is-disabled,
.mystories-arrow-right.is-disabled,
.mystories-arrow-left:disabled,
.mystories-arrow-right:disabled {
  opacity: 0.32;
  cursor: not-allowed;
}

.mystories-custom-video-container.mystories-is-active .mystories-product-insert--overlay.has-products {
  display: block;
}

.mystories-video-wrapper .mystories-product-insert--overlay {
  z-index: 7;
}

.mystories-mobile-tap-zones {
  position: absolute;
  inset: 0;
  display: none;
  pointer-events: none;
  z-index: 5;
}

.mystories-mobile-tap-zone.left,
.mystories-mobile-tap-zone.right {
  width: 40%;
  height: 100%;
}

.mystories-mobile-tap-zone.middle {
  width: 20%;
  height: 100%;
}

.mystories-custom-video-container.is-swipe-down .mystories-video-wrapper {
  transform: translate3d(var(--mystories-swipe-x), var(--mystories-swipe-y), 0) scale(var(--mystories-swipe-scale));
}

.mystories-custom-video-container.is-swipe-down .mystories-viewer-backdrop {
  opacity: var(--mystories-backdrop-opacity);
}

.mystories-custom-video-container.is-swipe-settle .mystories-video-wrapper {
  transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.mystories-custom-video-container.is-swipe-settle .mystories-viewer-backdrop {
  transition: opacity 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

@media (max-width: 768px) {
  .mystories-custom-video-container {
    padding: 10px 8px;
    box-sizing: border-box;
  }

  .mystories-video-wrapper {
    width: min(calc(100vw - 16px), 460px);
    height: min(calc(100dvh - 20px), 860px);
    max-height: calc(100dvh - 20px);
    aspect-ratio: 9 / 16;
    border-radius: 18px;
  }

  .mystories-mobile-tap-zones {
    display: flex;
  }

  .mystories-arrow-left,
  .mystories-arrow-right {
    display: none;
  }

  .mystories-control-panel {
    right: 14px;
    gap: 10px;
  }

  .mystories-pause-play-button {
    display: none !important;
  }

  .mystories-video-wrapper .mystories-product-insert--overlay {
    bottom: 16px;
    width: min(94vw, 420px);
  }
}
