*,
*::before,
*::after {
  box-sizing: border-box;
}

@font-face {
  font-family: "Macys Sans Regular";
  font-display: swap;
  font-weight: 400;
  src:
    url("https://storage.googleapis.com/digital-media-fonts") format("woff2"),
    url("#{$digital-media-fonts}/macys-sans/MacysSans.woff") format("woff");
}
/*
@font-face {
  font-family: 'Macys Sans Light';
  src: url('https://storage.googleapis.com/digital-media-fonts/macys-sans/MacysSansLt.woff2') format('woff2'), url('#{$digital-media-fonts}/macys-sans/MacysSansLt.woff') format('woff');
} */

@font-face {
  font-family: "Macys Sans Medium";
  font-display: swap;
  font-weight: var(--weight-medium);
  src:
    url("https://storage.googleapis.com/digital-media-fonts/macys-sans/MacysSansMd.woff2")
      format("woff2"),
    url("#{$digital-media-fonts}/macys-sans/MacysSansMd.woff") format("woff");
}

/* @font-face {
  font-family: 'Macys Sans Micro';
  src: url('https://storage.googleapis.com/digital-media-fonts/macys-sans/MacysSansMicro.woff2') format('woff2'), url('#{$digital-media-fonts}/macys-sans/MacysSansMicro.woff') format('woff');
} */

@font-face {
  font-family: "Macys Sans Bold";
  font-display: swap;
  font-weight: 700;
  src:
    url("https://storage.googleapis.com/digital-media-fonts/macys-sans/MacysSansBd.woff2")
      format("woff2"),
    url("#{$digital-media-fonts}/macys-sans/MacysSansBd.woff") format("woff");
}
@font-face {
  font-display: swap;
  font-family: TT Ramillas Medium Italic;
  src:
    url("https://storage.googleapis.com/TTRamillasMediumItalic.woff2")
      format("woff2"),
    url("https://storage.googleapis.com/TTRamillasMediumItalic.woff")
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "TT Ramillas Medium Italic";
  src:
    url("//assets.ctfassets.net/ev0u2434urfe/2UqcKgP1NfcWSdy2M1fxhf/3cee96b06c22263f3f56340b72b10a87/TTRamillas-MediumItalic.eot?#iefix")
      format("eot"),
    url("//assets.ctfassets.net/ev0u2434urfe/5jVUN7kYmnkjZAJ4wlOoLf/9eaf7192da7f928e7da8145c65a5e6d5/TTRamillas-MediumItalic.woff2")
      format("woff2"),
    url("//assets.ctfassets.net/ev0u2434urfe/3YCJl0eiFgx0cYFJPl5DdA/b5f67d50373c4826868cea4a9fb9eb05/TTRamillas-MediumItalic.woff")
      format("woff");
}

/*@font-face {*/
/*  font-display: swap;*/
/*  font-family: "TT Ramillas Medium";*/
/*  src: url("//assets.ctfassets.net/ev0u2434urfe/qScFPfFaZqt9WflS5PwSI/0db5a660f731de5f15db33d25156089e/TTRamillas-Medium.eot?#iefix")*/
/*  format("eot"),*/
/*  url("//assets.ctfassets.net/ev0u2434urfe/1fTi5dSrv1ojUBHTkBBh9F/86a776232ab64b584de8846626a59e00/TTRamillas-Medium.woff2")*/
/*  format("woff2"),*/
/*  url("//assets.ctfassets.net/ev0u2434urfe/3H7M6cXncutXpTnVacizh4/607a25d65832d6ca63f2c0759806b1aa/TTRamillas-Medium.woff")*/
/*  format("woff");*/
/*}*/
@font-face {
  font-display: swap;
  font-family: TT Ramillas Medium;
  src:
    url("//secure-netstorage.macys.com/social/images/snippet/fonts/ttramillas/TTRamillas-Medium.eot?#iefix")
      format("eot"),
    url("//secure-netstorage.macys.com/social/images/snippet/fonts/ttramillas/TTRamillas-Medium.woff2")
      format("woff2"),
    url("//secure-netstorage.macys.com/social/images/snippet/fonts/ttramillas/TTRamillas-Medium.woff")
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "TT Ramillas Medium";
  src:
    url("//secure-netstorage.macys.com/social/images/snippet/fonts/ttramillas/TTRamillas-Medium.eot?#iefix")
      format("eot"),
    url("//secure-netstorage.macys.com/social/images/snippet/fonts/ttramillas/TTRamillas-Medium.woff2")
      format("woff2"),
    url("//secure-netstorage.macys.com/social/images/snippet/fonts/ttramillas/TTRamillas-Medium.woff")
      format("woff");
}

@font-face {
  font-display: swap;
  font-family: TT Ramillas Bold Italic;
  src:
    url("//assets.ctfassets.net/ev0u2434urfe/4pLuB2Gxd9ssJu24k61TNa/c819350c7bfb960f93f3f2bd7d9e8044/TTRamillas-BoldItalic.eot?#iefix")
      format("eot"),
    url("//assets.ctfassets.net/ev0u2434urfe/5ABSszFe87wqBI0ILKNuwC/b8f75778d1f0d6851916c3494ded8edc/TTRamillas-BoldItalic.woff2")
      format("woff2"),
    url("//assets.ctfassets.net/ev0u2434urfe/5FdnlU0EdpI8ScuxarUMYK/de61798cacc8888874267d3334bfa6f6/TTRamillas-BoldItalic.woff")
      format("woff");
}
@font-face {
  font-display: swap;
  font-family: "TT Ramillas Bold Italic";
  src:
    url("//assets.ctfassets.net/ev0u2434urfe/4pLuB2Gxd9ssJu24k61TNa/c819350c7bfb960f93f3f2bd7d9e8044/TTRamillas-BoldItalic.eot?#iefix")
      format("eot"),
    url("//assets.ctfassets.net/ev0u2434urfe/5ABSszFe87wqBI0ILKNuwC/b8f75778d1f0d6851916c3494ded8edc/TTRamillas-BoldItalic.woff2")
      format("woff2"),
    url("//assets.ctfassets.net/ev0u2434urfe/5FdnlU0EdpI8ScuxarUMYK/de61798cacc8888874267d3334bfa6f6/TTRamillas-BoldItalic.woff")
      format("woff");
}
/*
------DESIGN CONSTNANTS -------
*/

:root {
  /* Typography */
  --font-primary: "Macys Sans", sans-serif;
  --weight-medium: 500;
  --weight-bold: 700;

  /* Colors */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-border: #cccccc;
  --color-focus: #0066cc;

  /* Sizes */
  --hotspot-size: 40px;
  --popover-width: 152px;
  --popover-max-height: 80px;
  --bridge-size: 48px;
  --counter-width: 56px;

  /* Effects */
  --overlay-text-shadow: 0px 4px 30px rgba(0, 0, 0, 0.3);
}

/*
------BASE STYLES -------
*/

html {
  scroll-padding-top: 90px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-primary);
  color: var(--color-black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
  padding: 0;
}

.page-wrapper {
  display: flex;
  flex-direction: column;
  gap: 64px;
  margin: 0;
  padding: 0;
}

.page-wrapper > section:not(:has(> .fw-image)) {
  margin-left: 20px;
  margin-right: 20px;
}

.page-wrapper > section:last-child {
  margin-bottom: 32px;
}
@media (min-width: 719px) {
  .page-wrapper {
    display: flex;
    flex-direction: column;
    gap: 80px;
  }
  .page-wrapper > section:last-child {
    margin-bottom: 48px;
  }
}

/*
------TYPOGRAPHY -------
*/

@media (min-width: 719px) {
  .page-wrapper > * {
    margin: 0 auto;
  }
}

/*
------ LAYOUTS -------
*/

.page-wrapper .desktop {
  display: none !important;
}

.page-wrapper .mobile {
  display: flex !important;
}

.hero-banner {
  display: flex;
  flex-direction: column;
  position: relative;
  margin: 0 auto;
  margin-top: 48px;
  gap: 40px;
  text-align: center;
  width: 100%;
  height: 100%;
  max-width: 1440px;
}

.video-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.video-wrapper video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-poster {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.video-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Hide poster once video starts playing */
.video-wrapper video[data-loaded="true"] ~ .video-poster,
.video-wrapper.video-playing .video-poster {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.video-control {
  position: absolute;
  bottom: 12px;
  right: 12px;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  transition: opacity 200ms ease;
}

.video-control svg {
  display: block;
  pointer-events: none;
}

/* Hide play icon by default (video autoplays) */
.video-control .play-icon {
  display: none;
}

@media (min-width: 719px) {
  .video-control {
    bottom: 24px;
    right: 24px;
  }
}

.hero-banner .heading {
  font-family: "Macys Sans", sans-serif;
  font-size: 18px;
  line-height: 20px;
  font-weight: 400;
  margin: 0 auto;
  text-align: center;
  padding: 0 32px;
  letter-spacing: 0;
  text-align: center;
}

.nav {
  display: flex;
  justify-content: center;
  border: 1px solid #d6d6d6;
  border-radius: 99px;
  white-space: nowrap;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  height: 40px;
  padding: 0px 4px 0px 4px;
}

.section-nav {
  display: flex;
  position: sticky;
  top: 50px;
  background-color: #ffffff;
  z-index: 1;
  justify-content: center;
  align-items: center;
  border: 1px solid #d6d6d6;
  border-radius: 99px;
  white-space: nowrap;
  width: calc(100vw - 40px);
  height: 46px;
  margin: 0 auto;
  overflow: hidden;
  padding: 4px;
}

@media (min-width: 719px) {
  .section-nav {
    display: flex;
    width: auto;
    max-width: 1440px;
  }
}

.section-nav-items {
  display: flex;
  overflow-x: scroll;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
  list-style: none;
  border-radius: 99px;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.section-nav-item {
  position: relative;
  border-radius: 99px;
  padding: 8px 16px;
  height: 36px;
  text-decoration: none;
  font-family: "Macys Sans", sans-serif;
  font-weight: 700;
  font-size: 14px;
  color: var(--color-black);
  line-height: 20px;
  letter-spacing: 0px;
  white-space: nowrap;
  transition: color 300ms ease;
}

.section-nav-item.active {
  color: #ffffff;
}

.section-nav::before {
  content: "";
  position: absolute;
  overflow: hidden;
  left: var(--slider-left, 0);
  width: var(--slider-width, 0);
  height: 36px;
  border-radius: 99px;
  background-color: var(--color-black);
  z-index: -1;
}

.section-nav.slider-animating::before {
  transition:
    left 300ms ease,
    width 300ms ease;
}

.section-nav.nav-hidden {
  transform: translateY(calc(-100% - 50px));
  transition: transform 150ms ease-in;
}

.section-nav.nav-visible {
  transform: translateY(0);
  transition: transform 200ms ease-out;
}

.nav-hover-zone {
  display: block;
}

@media (max-width: 719px) {
  .nav-hover-zone {
    display: none;
  }
}

.fw-image {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.image-container {
  isolation: isolate;
}

.fw-image .image-container {
  position: relative;
  display: block;
  width: 100%;
  max-height: 510px;
  cursor: pointer;
}

.fw-image-container .image-container img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 510px;
}

.fw-image .heading {
  font-family: "TT Ramillas Medium", serif;
  font-weight: var(--weight-medium);
  font-size: 35px;
  line-height: 35px;
  letter-spacing: -1.5px;
  margin: 0;
  text-wrap: balance;
}

.fw-image .heading-description {
  font-family: "Macys Sans Medium", sans-serif;
  font-weight: var(--weight-medium);
  margin: 0;
  font-size: 16px;
  line-height: 20px;
}
@media (min-width: 719px) {
  .fw-image .heading-description {
    font-size: 18px;
  }
}
.fw-image .text-overlay,
.video-wrapper .text-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width: 250px;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  width: 100%;
  margin: 0;

  font-family: "TT Ramillas Medium", serif;
  font-size: 45px;
  line-height: 45px;
  letter-spacing: -1px;
  font-weight: var(--weight-medium);
  text-align: center;

  color: white;
  text-shadow: var(--overlay-text-shadow);
  pointer-events: none;
}

.fw-image > .header {
  display: flex;
  flex-direction: column;
  text-align: center;
  margin: 0;
  padding: 0 32px;
  gap: 8px;
}
@media (min-width: 719px) {
  .fw-image > .header {
    padding: 0 320px;
  }
}

.photo-grid[data-count="2"] {
  display: flex;
  flex-direction: column;
}
.photo-grid[data-count="2"] .photo-grid-images {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
@media (min-width: 719px) {
  .photo-grid[data-count="2"] .photo-grid-images {
    flex-direction: row;
    gap: 24px;
  }
}

.photo-grid .image-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}

.photo-grid .image-caption-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px;
  flex: 1;
}

.photo-grid .photo-grid-images {
  display: flex;
  gap: 16px;
  overflow-x: scroll;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

.photo-grid .image-container {
  min-width: 275px;
  scroll-snap-align: start;
}

.photo-grid img {
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-grid .heading {
  font-family: "Macys Sans Medium", sans-serif;
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 20px;
  margin: 0;
}

.photo-grid .heading-description {
  font-family: "Macys Sans Medium", sans-serif;
  font-size: 14px;
  line-height: 20px;
  margin: 0;
  padding-top: 8px;
}

.photo-grid .caption-heading {
  font-family: "Macys Sans Medium", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 23px;
  letter-spacing: -1%;
  padding: 0;
  margin: 0;
  text-wrap: balance;
}

.photo-grid .caption-text {
  font-family: "Macys Sans Medium", sans-serif;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0;
  margin: 0;
  text-wrap: pretty;
  font-size: 14px;
}

.photo-grid .text-overlay {
  display: block;
  position: absolute;
  font-family: "TT Ramillas Medium", serif;
  font-size: 30px;
  line-height: 30px;
  letter-spacing: -1.25px;
  font-weight: var(--weight-medium);
  width: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  margin: 0;
  color: white;
  pointer-events: none;
  text-shadow: var(--overlay-text-shadow);
}

.photo-grid {
  display: grid;
  max-width: 1440px;
  margin: 0 auto;
  row-gap: 24px;
}

.photo-grid .image-container {
  position: relative;
  display: flex;
  aspect-ratio: 1/1;
  justify-content: center;
}

.photo-grid img {
  max-width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.heading-shop-link {
  display: block;
  font-family: "Macys Sans Medium", sans-serif;
  font-size: 14px;
  color: var(--color-black);
  line-height: 20px;
  text-decoration: underline !important;
}

.text-overlay span {
  display: block;
}

.heading-accent {
  font-family: "TT Ramillas Medium Italic", serif;
  margin: 0;
  text-shadow: var(--overlay-text-shadow);
}

.image-copy-split {
  display: flex;
  flex-direction: column;
  max-width: 1440px;
  margin: 0 auto;
  gap: 16px;
}

.image-copy-split .copy-card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  object-fit: contain;
}

.image-copy-split .image-container {
  position: relative;
}
.image-copy-split .image-container img {
  display: block;
  width: 100%;
  height: auto;
}

.image-copy-split .heading {
  font-family: "TT Ramillas Medium", serif;
  font-weight: var(--weight-medium);
  font-size: 20px;
  line-height: 20px;
  margin: 0;
  letter-spacing: -0.5px;
}

.image-copy-split p {
  margin: 0;
}

.image-copy-split a {
  margin: 0;
}

@media (min-width: 719px) {
  .page-wrapper .desktop {
    display: flex !important;
  }

  .page-wrapper .mobile {
    display: none !important;
  }

  .hero-banner {
    margin-top: 48px;
    width: 100%;
    height: 100%;
  }

  .hero-banner .heading {
    font-family: "Macys Sans", sans-serif;
    font-size: 25px;
    line-height: 25px;
    letter-spacing: 0;
    max-width: 1200px;
    padding: 0 180px;
  }

  .video-wrapper {
    position: relative;
    width: 100%;
  }

  .video-wrapper video {
    display: block;
    width: 100%;
    height: auto;
  }

  .fw-image {
    max-width: 1440px;
    margin: 0 auto;
    gap: 40px;
  }
  .fw-image .image-container {
    max-height: 600px;
  }

  .fw-image-container .image-container img {
    max-height: 600px;
  }
  .fw-image .heading {
    font-family: "TT Ramillas Medium", serif;
    font-weight: var(--weight-medium);
    font-size: 55px;
    line-height: 55px;
    letter-spacing: -3px;
    padding: 0;
    margin: 0;
  }
  .photo-grid {
    row-gap: 32px;
  }
  .photo-grid .photo-grid-images {
    column-gap: 24px;
  }

  .photo-grid .heading {
    font-family: "Macys Sans Medium", sans-serif;
    font-weight: var(--weight-medium);
    font-size: 30px;
    line-height: 30px;
  }

  .photo-grid .heading-description {
    margin: 0;
  }

  .photo-grid .image-caption-wrapper {
    padding-top: 16px;
  }

  .photo-grid .caption-heading {
    font-family: "Macys Sans Medium", sans-serif;
    font-size: 18px;
    line-height: 23px;
    letter-spacing: -1%;
    margin-bottom: 0;
  }

  .photo-grid .caption-text {
    font-family: "Macys Sans Medium" sans-serif;
    font-size: 14px;
    line-height: 20px;
    padding: 0;
  }

  .photo-grid .text-overlay {
    display: block;
    position: absolute;
    font-family: "TT Ramillas Medium", serif;
    font-size: 45px;
    line-height: 45px;
    letter-spacing: -2px;
    font-weight: var(--weight-medium);
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    margin: 0;
    color: white;
    pointer-events: none;
    text-shadow: var(--overlay-text-shadow);
  }

  /* .fw-image .text-overlay,
  .hero-banner .text-overlay {
    flex-direction: column;
    font-size: 85px;
    line-height: 85px;
    letter-spacing: -2px;

  } */

  .fw-image .text-overlay,
  .video-wrapper .text-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 600px;
    transform: translate(-50%, -50%);

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 100%;
    margin: 0;

    font-family: "TT Ramillas Medium", serif;
    font-size: 85px;
    line-height: 85px;
    letter-spacing: -2px;
    font-weight: var(--weight-medium);
    text-align: center;

    color: white;
    text-shadow: var(--overlay-text-shadow);
    pointer-events: none;
  }

  .fw-image .heading-accent {
    font-family: "TT Ramillas Medium Italic", serif;
    margin: 0;
    text-shadow: var(--overlay-text-shadow);
  }

  .image-copy-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
    column-gap: 24px;
  }

  .image-copy-split .copy-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    aspect-ratio: 1/1;
  }

  .image-copy-split .image-container {
    position: relative;
    max-height: 750px;
  }
  .image-copy-split .image-container img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 708px;
  }

  .image-copy-split .heading {
    font-family: "TT Ramillas Medium", serif;
    font-weight: var(--weight-medium);
    font-size: 35px;
    line-height: 35px;
    margin: 80px 24px 0 24px;
  }

  .image-copy-split p {
    margin: 0px;
  }

  .image-copy-split .heading-shop-link {
    margin: 0px 0px 0px 24px;
  }
}

/*
------IMAGE AND HOTSPOT STYLING -------
*/

.hotspot {
  position: absolute;
  left: var(--x);
  top: var(--y);
  border-radius: 50%;
  width: var(--hotspot-size);
  aspect-ratio: 1 / 1;
  transform: translate(-50%, -50%);
}

.hotspot,
.hotspot * {
  cursor: pointer;
}

.hotspot:focus {
  outline: none;
}

.hotspot:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 1px;
}

.desktop-hotspot {
  display: none;
}

.mobile-hotspot {
  display: block;
}

@media (min-width: 719px) {
  .desktop-hotspot {
    display: block;
  }

  .mobile-hotspot {
    display: none;
  }
}
.hotspot.hs-toggle-hidden {
  display: none !important;
}

/*
------HOTSPOT COUNTER -------
*/

.hotspot_counter {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: space-around;
  left: 2%;
  bottom: 5%;
  background: var(--color-white);
  color: var(--color-black);
  padding: 4px 4px 4px 12px;
  border-radius: 9999px;
  width: var(--counter-width);
  font-size: 14px;
  line-height: 16px;
  font-weight: var(--weight-medium);
  cursor: pointer;
  user-select: none;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  white-space: nowrap;
}

.hotspot_counter:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 1px;
}

.hotspot_counter svg {
  display: block;
}

.hotspot_counter.hidden-state {
  background: var(--color-black);
  color: var(--color-white);
}

/*
------HOTSPOT POPOVER (CARD) -------
*/

.hotspot_popover {
  position: absolute;
  display: none;
  align-items: center;
  background: var(--color-white);
  color: var(--color-black);
  border: 1px solid var(--color-border);
  width: var(--popover-width);
  max-height: var(--popover-max-height);
  z-index: 1;
}

.hotspot_popover,
.hotspot_popover * {
  cursor: pointer;
}

/* Hover bridge - horizontal (left/right positioning) */
.hotspot_popover.popover-right .popover_link::before,
.hotspot_popover.popover-left .popover_link::before {
  content: "";
  position: absolute;
  width: var(--bridge-size);
  height: 100%;
  pointer-events: auto;
  cursor: pointer;
}

.hotspot_popover.popover-top-right .popover_link::before,
.hotspot_popover.popover-top-left .popover_link::before,
.hotspot_popover.popover-bottom-right .popover_link::before,
.hotspot_popover.popover-bottom-left .popover_link::before {
  content: "";
  position: absolute;
  width: var(--bridge-size);
  height: 150%;
  pointer-events: auto;
  cursor: pointer;
}

.hotspot_popover.popover-right .popover_link::before,
.hotspot_popover.popover-top-right .popover_link::before,
.hotspot_popover.popover-bottom-right .popover_link::before {
  right: 100%;
}

.hotspot_popover.popover-top-right .popover_link::before,
.hotspot_popover.popover-top-left .popover_link::before {
  bottom: -50%;
}
.hotspot_popover.popover-bottom-right .popover_link::before,
.hotspot_popover.popover-bottom-left .popover_link::before {
  top: -50%;
}

.hotspot_popover.popover-left .popover_link::before,
.hotspot_popover.popover-top-left .popover_link::before,
.hotspot_popover.popover-bottom-left .popover_link::before {
  left: 100%;
}

/* Hover bridge - vertical (above/below positioning) */
.hotspot_popover.popover-above .popover_link::before,
.hotspot_popover.popover-below .popover_link::before {
  content: "";
  position: absolute;
  height: var(--bridge-size);
  width: var(--popover-width);
  pointer-events: auto;
  cursor: pointer;
}

.hotspot_popover.popover-above .popover_link::before {
  top: 100%;
}

.hotspot_popover.popover-below .popover_link::before {
  bottom: 100%;
}

/* Popover positioning */
.hotspot_popover.popover-right {
  left: var(--popover-left);
  top: var(--yCoordinate);
  transform: translateY(-50%);
}

.hotspot_popover.popover-left {
  right: var(--popover-right);
  top: var(--yCoordinate);
  transform: translateY(-50%);
}

.hotspot_popover.popover-above {
  bottom: var(--popover-bottom);
  left: var(--xCoordinate);
  transform: translateX(-50%);
}

.hotspot_popover.popover-below {
  top: var(--popover-top);
  left: var(--xCoordinate);
  transform: translateX(-50%);
}

.hotspot_popover.popover-top-right {
  left: var(--popover-left);
  bottom: var(--popover-bottom);
}

.hotspot_popover.popover-top-left {
  right: var(--popover-right);
  bottom: var(--popover-bottom);
}

.hotspot_popover.popover-bottom-right {
  left: var(--popover-left);
  top: var(--popover-top);
}

.hotspot_popover.popover-bottom-left {
  right: var(--popover-right);
  top: var(--popover-top);
}

/*
------POPOVER CONTENT STYLING -------
*/

.popover_link {
  display: flex;
  align-items: flex-start;
  position: relative;
  color: inherit;
  width: 100%;
  height: 100%;
  text-decoration: none;
  font-weight: normal;
  font-family: inherit;
  cursor: pointer;
  font-size: 12px;
  line-height: 14px;
  padding: 10px 24px 10px 10px;
  min-width: 0;
}

.popover_link svg {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  flex-shrink: 0;
}

.popover_text {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  line-height: 14px;
  min-width: 0;
  margin: 0px;
  flex: 1;
}

.popover_brand_text {
  font-family: var(--font-primary);
  font-weight: var(--weight-bold);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  margin: 0;
}

.popover_item_description {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  font-family: var(--font-primary);
  font-weight: var(--weight-medium);
  overflow: hidden;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  text-wrap: pretty;
  line-clamp: 3;
}

/* override S&S padding for mobile */
@media only screen and (max-width: 1480px) {
  .guides-wrapper .guides-wrapper-inner2 {
    padding: 0 !important;
  }
}

.guides-wrapper .guides-wrapper-inner .page-nav {
  z-index: 2;
}
