/* ==========================================================================
   Bollare 20th Anniversary Overlay
   Standalone CSS — not part of the Gulp/Webpack build pipeline
   ========================================================================== */

/* --------------------------------------------------------------------------
   Overlay container
   -------------------------------------------------------------------------- */

/* Prevent body scroll when overlay is open */
html.is-locked,
html.is-locked body {
  overflow: hidden;
}

.anniversary-overlay {
  position: fixed;
  z-index: 1001;
  min-height: 460px;

  background: linear-gradient(
    180deg,
    #e8b5b8 0%,
    #f8b8bd 5.8%,
    #fb9ebc 22.3%,
    #fd6e2f 62.7%,
    #940032 95%,
    #811730 100%
  );
  transition: opacity 0.4s ease;
}

@media (min-width: 768px) {
  .anniversary-overlay {
    top: 102px;
    right: 20px;
    bottom: 20px;
    left: 20px;
  }
}

@media (max-width: 767px) {
  .anniversary-overlay {
    top: 86px;
    right: 0;
    bottom: 0;
    left: 0;
  }
}

.anniversary-overlay.is-closing {
  opacity: 0;
  pointer-events: none;
}

.anniversary-overlay[aria-hidden="true"] {
  display: none;
}

/* --------------------------------------------------------------------------
   Close button
   -------------------------------------------------------------------------- */

.anniversary-overlay__close {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 10;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.anniversary-overlay__close svg {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .anniversary-overlay__close {
    top: 10px;
    left: 11px;
    width: 30px;
    height: 30px;
  }
}

/* --------------------------------------------------------------------------
   Scroll prompt ("Scroll through the archives" + arrow)
   -------------------------------------------------------------------------- */

.anniversary-overlay__scroll-prompt {
  position: absolute;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.anniversary-overlay__scroll-prompt-text {
  font-family: "thermal-variable", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
  white-space: nowrap;
  line-height: 1;
}

.anniversary-overlay__scroll-prompt-text em {
  font-style: italic;
}

.anniversary-overlay__scroll-prompt-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

.anniversary-overlay__scroll-prompt-arrow svg {
  display: block;
}

/* Desktop scroll prompt */
@media (min-width: 768px) {
  .anniversary-overlay__scroll-prompt {
    top: 20px;
    right: 20px;
    left: 50%;
    color: #50000b;
  }

  .anniversary-overlay__scroll-prompt-text {
    font-size: 36px;
  }

  .anniversary-overlay__scroll-prompt-arrow svg {
    width: 30px;
    height: 17px;
  }

  .anniversary-overlay__scroll-prompt-arrow svg path {
    fill: #50000b;
  }
}

/* Tablet scroll prompt */
@media (min-width: 768px) and (max-width: 1024px) {
  .anniversary-overlay__scroll-prompt-text {
    font-size: 28px;
  }

  .anniversary-overlay__scroll-prompt-arrow svg {
    width: 24px;
    height: 13px;
  }
}

/* Mobile scroll prompt */
@media (max-width: 767px) {
  .anniversary-overlay__scroll-prompt {
    bottom: 20px;
    left: 20px;
    right: 20px;
  }

  .anniversary-overlay__scroll-prompt-text {
    font-size: 24px;
    color: #f7c5bd;
  }

  .anniversary-overlay__scroll-prompt-arrow svg {
    width: 24px;
    height: 13px;
  }

  .anniversary-overlay__scroll-prompt-arrow svg path {
    fill: #f7c5bd;
  }
}

/* --------------------------------------------------------------------------
   Inner layout
   -------------------------------------------------------------------------- */

.anniversary-overlay__inner {
  display: flex;
  width: 100%;
  height: 100%;
  position: relative;
}

/* --------------------------------------------------------------------------
   Lockup panel (left side on desktop, full screen on mobile)
   -------------------------------------------------------------------------- */

.anniversary-overlay__lockup {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 30px;
  padding: 40px 20px;
  box-sizing: border-box;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .anniversary-overlay__lockup {
    width: 50%;
    min-height: 100%;
  }
}

@media (max-width: 767px) {
  .anniversary-overlay__lockup {
    width: 100%;
    height: 100%;
    padding: 40px 20px 80px;
  }
}

/* --------------------------------------------------------------------------
   Circle lockup
   -------------------------------------------------------------------------- */

.anniversary-overlay__circle {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  flex: 1 1 auto;
  min-height: 160pxpx;
  max-height: 480px;
  container-type: inline-size;
  aspect-ratio: 1 / 1;
  height: 100%;
  background: linear-gradient(
    180deg,
    #50000b 0%,
    #940032 11.2%,
    #fd6e2f 44.4%,
    #fb9ebc 77.7%,
    #f8b8bd 89.5%
  );
}

/* --------------------------------------------------------------------------
   Logo SVG (BOLLARE XX)
   -------------------------------------------------------------------------- */

.anniversary-overlay__logo {
  width: 77%;
}

.anniversary-overlay__logo-svg {
  display: block;
  width: 100%;
  height: auto;
}

/* --------------------------------------------------------------------------
   Subtitle ("Bollare turns 20")
   -------------------------------------------------------------------------- */

.anniversary-overlay__subtitle {
  font-family: "thermal-variable", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
  color: #50000b;
  text-align: center;
  white-space: nowrap;
  margin: 0;
}

.anniversary-overlay__subtitle {
  font-size: 4.79cqw;
  margin-top: 1em;
  margin-bottom: -2em;
}

/* --------------------------------------------------------------------------
   Text content (title + body below circle)
   -------------------------------------------------------------------------- */

.anniversary-overlay__text-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
  text-align: center;
  color: #f7c5bd;
  width: 100%;
}

.anniversary-overlay__title {
  font-family: "scale-variable", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-transform: uppercase;
  line-height: 1.2;
  margin: 0;
}

@media (min-width: 768px) {
  .anniversary-overlay__title {
    font-size: 15px;
  }
}

@media (max-width: 767px) {
  .anniversary-overlay__title {
    font-size: 15px;
  }
}

.anniversary-overlay__body {
  font-family: "thermal-variable", serif;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0;
  max-width: 538px;
}

@media (min-width: 768px) {
  .anniversary-overlay__body {
    font-size: 13px;
  }
}

@media (max-width: 767px) {
  .anniversary-overlay__body {
    font-size: 12px;
  }
}

/* --------------------------------------------------------------------------
   Scroll container (images panel)
   -------------------------------------------------------------------------- */

.anniversary-overlay__scroll {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}

/* Hide scrollbar */
.anniversary-overlay__scroll::-webkit-scrollbar {
  display: none;
}

.anniversary-overlay__scroll {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* --------------------------------------------------------------------------
   Images track
   -------------------------------------------------------------------------- */

.anniversary-overlay__images {
  height: 100%;
  display: flex;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .anniversary-overlay__images {
    padding-left: 50%;
    padding-top: 106px;
    padding-bottom: 60px;
  }
}

@media (max-width: 767px) {
  .anniversary-overlay__images {
    padding-left: calc(100vw + 20px);
    padding-top: 80px;
    padding-bottom: 80px;
  }
}

/* --------------------------------------------------------------------------
   Images inner wrapper (provides end padding inside scroll)
   -------------------------------------------------------------------------- */

.anniversary-overlay__images-inner {
  display: flex;
  align-items: center;
  height: 100%;
}

@media (min-width: 768px) {
  .anniversary-overlay__images-inner {
    padding-right: 40px;
  }
}

@media (max-width: 767px) {
  .anniversary-overlay__images-inner {
    padding-right: 20px;
  }
}

/* --------------------------------------------------------------------------
   Individual images
   -------------------------------------------------------------------------- */

.anniversary-overlay__image {
  flex-shrink: 0;
  overflow: hidden;
  position: relative;
  height: 100%;
}

.anniversary-overlay__image:hover {
  z-index: 999;
}

/* Desktop: fixed below 568px height, vh above */
@media (min-width: 768px) and (max-height: 568px) {
  .anniversary-overlay__image {
    border-radius: 34px;
    margin-right: -74px;
  }
}

@media (min-width: 768px) and (min-height: 569px) {
  .anniversary-overlay__image {
    border-radius: 6vh;
    margin-right: -13vh;
  }
}

/* Mobile: fixed below 540px height, vh above */
@media (max-width: 767px) and (max-height: 540px) {
  .anniversary-overlay__image {
    border-radius: 32px;
    margin-right: -35px;
  }
}

@media (max-width: 767px) and (min-height: 541px) {
  .anniversary-overlay__image {
    border-radius: 6vh;
    margin-right: -6.5vh;
  }
}

.anniversary-overlay__image:last-child {
  margin-right: 0;
}

.anniversary-overlay__image img {
  display: block;
  height: 100%;
  width: auto;
  object-fit: cover;
}

/* Rotated alternating images */
.anniversary-overlay__image--rotated {
  transform: rotate(-9deg);
}
