/* =========================================================
   VEXEN — SWORD TEE MOBILE
   393px mobile Figma blueprint adapted to the finished
   VEXEN mobile system.
   ========================================================= */

.SwordTeeMobile {
  width: 393px;
  height: 1785px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background: #0A0A0A;
  color: #F2F2F0;
}

/* =========================================================
   ANNOUNCEMENT
   ========================================================= */

.SwordTeeMobile .AnnouncementBar {
  width: 393px;
  height: 35px;
  position: absolute;
  left: 0;
  top: 0;
  background: #3A0D10;
}

.AnnouncementText {
  width: 393px;
  position: absolute;
  left: 0;
  top: 11px;
  text-align: center;
  color: #F2F2F0;
  font-family: "e-Ukraine", sans-serif;
  font-size: 9px;
  font-weight: 400;
  line-height: 12px;
  letter-spacing: 0.36px;
  white-space: nowrap;
}

/* =========================================================
   HEADER
   ========================================================= */

.SwordMobileHeader {
  width: 393px;
  height: 32px;
  position: absolute;
  left: 0;
  top: 60px;
}

.SwordMobileLogo {
  width: 121.43px;
  height: 20.67px;
  position: absolute;
  left: 50%;
  top: 6px;
  transform: translateX(-50%);
  display: block;
}

.SwordMobileLogo img {
  width: 121.43px;
  height: 20.67px;
  display: block;
  object-fit: contain;
}

.SwordMobileMenu {
  width: 32px;
  height: 32px;
  position: absolute;
  left: 42px;
  top: 0;
  border: 2px solid #F2F2F0;
  border-radius: 50%;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.67px;
  padding: 0;
}

.SwordMobileMenu span {
  width: 4px;
  height: 4px;
  flex: 0 0 4px;
  border-radius: 50%;
  background: #F2F2F0;
}

.SwordMobileCart {
  width: 32px;
  height: 32px;
  position: absolute;
  left: 320px;
  top: 0;
  display: block;
}

.SwordMobileCart img {
  width: 32px;
  height: 32px;
  display: block;
  object-fit: contain;
}

.SwordMobileBreadcrumb {
  position: absolute;
  left: 0;
  top: 94px;
  width: 393px;
  color: #8C8C8C;
  text-align: center;
  font-family: "e-Ukraine", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 0.24px;
}


/* =========================================================
   GALLERY ARROW PRESS ANIMATION
   ========================================================= */

.SwordProductArrow {
  transition: background-color 120ms ease-out;
}

.SwordProductArrow.is-pressed {
  animation: swordMobileArrowPress 180ms ease-out;
}

@keyframes swordMobileArrowPress {
  0% {
    transform: scale(1);
    background-color: #141414;
  }

  35% {
    transform: scale(0.90);
    background-color: #292929;
  }

  100% {
    transform: scale(1);
    background-color: #141414;
  }
}

/* =========================================================
   PRODUCT IMAGE
   ========================================================= */

.SwordMobileProductHero {
  width: 393px;
  height: 510px;
  position: absolute;
  left: 0;
  top: 0;
}

.SwordMobileImageFrame {
  width: 293px;
  height: 324px;
  position: absolute;
  left: 20px;
  top: 170px;
  overflow: hidden;
  border: 0.5px solid #292929;
  border-radius: 45px;
  background: #0A0A0A;
}

.SwordMobileMainImage {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.SwordMobileColor {
  width: 32px;
  height: 32px;
  position: absolute;
  left: 341px;
  top: 196.5px;
  background: #463331;
  border: 0.5px solid #292929;
  border-radius: 9999px;
}

.SwordMobileGalleryControls {
  width: 173.55px;
  height: 41.6px;
  position: absolute;
  left: 85px;
  top: 443px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.SwordProductArrow {
  width: 41.6px;
  height: 41.6px;
  position: relative;
  flex: 0 0 41.6px;
  border: 0.65px solid #292929;
  border-radius: 13px;
  background: #141414;
  padding: 0;
  cursor: pointer;
}

.SwordProductArrow img {
  width: 20.28px;
  height: 14.36px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  object-fit: contain;
}

.SwordProductArrowPrev img {
  transform: translate(-50%, -50%);
}

.SwordProductArrowNext img {
  transform: translate(-50%, -50%) rotate(180deg);
}

.SwordProductImageCounter {
  width: 15.6px;
  height: 24.7px;
  color: #F2F2F0;
  text-align: center;
  font-family: "e-Ukraine", sans-serif;
  font-size: 18.2px;
  font-weight: 400;
  line-height: 24.7px;
}

.SwordMobileModelInfo {
  width: 49px;
  position: absolute;
  left: 324px;
  top: 423px;
  text-align: right;
  color: #8C8C8C;
  font-family: "e-Ukraine", sans-serif;
  font-size: 7.2px;
  font-weight: 400;
  line-height: 9.6px;
  letter-spacing: 0.29px;
}

.SwordMobileModelInfo div:not(:first-child) {
  font-size: 8px;
  line-height: 12px;
  letter-spacing: 0;
}

/* =========================================================
   PRODUCT INFORMATION
   ========================================================= */

.SwordMobileProductInfo {
  width: 353px;
  height: 360px;
  position: absolute;
  left: 20px;
  top: 0;
}

.SwordMobileDrop {
  width: 191px;
  position: absolute;
  left: 0;
  top: 526px;
  color: #F2F2F0;
  font-family: "Unbounded", sans-serif;
  font-size: 32px;
  font-weight: 500;
  line-height: 36px;
  white-space: nowrap;
}

.SwordMobileDrop strong {
  font-family: "Space Mono", monospace;
  font-size: 34px;
  font-weight: 700;
}

.SwordMobileName {
  width: 185px;
  margin: 0;
  position: absolute;
  left: 0;
  top: 570px;
  color: #F2F2F0;
  font-family: "Unbounded", sans-serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 28px;
  white-space: nowrap;
}

.SwordMobilePrice {
  width: 82px;
  position: absolute;
  left: 0;
  top: 614px;
  color: #F2F2F0;
  font-family: "Unbounded", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 22px;
  white-space: nowrap;
}

.SwordMobileDescription {
  position: absolute;
  left: 0;
  top: 668px;
  color: #F2F2F0;
  font-family: "e-Ukraine", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 23px;
  white-space: nowrap;
}

.SwordMobileSize {
  position: absolute;
  left: 0;
  top: 792px;
}

.SwordMobileSizeLabel {
  color: #F2F2F0;
  font-family: "e-Ukraine", sans-serif;
  font-size: 20px;
  font-weight: 400;
  line-height: 19px;
}

.SwordMobileSizeOption {
  width: 46.08px;
  height: 25.92px;
  margin-top: 9px;
  display: block;
  border: 0;
  border-radius: 7.2px;
  background: #E8E8E8;
  color: #0A0A0A;
  font-family: "e-Ukraine", sans-serif;
  font-size: 17.28px;
  font-weight: 500;
  line-height: 23.04px;
  letter-spacing: 0.52px;
  cursor: pointer;
}

/* =========================================================
   SIZE GUIDE
   ========================================================= */

.SwordMobileSizeGuide {
  width: 353px;
  height: 250px;
  position: absolute;
  left: 20px;
  top: 0;
}

.SwordMobileSizeGuide h2 {
  width: 200.5px;
  margin: 0;
  position: absolute;
  left: 77px;
  top: 909.92px;
  text-align: center;
  color: #F2F2F0;
  font-family: "e-Ukraine", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: 0.48px;
}

.SwordMobileTable {
  width: 353px;
  position: absolute;
  left: 0;
  top: 978.42px;
  display: grid;
  grid-template-columns: repeat(4, 88.25px);
  grid-auto-rows: 50px;
}

.SwordMobileTableCell {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #F2F2F0;
  font-family: "e-Ukraine", sans-serif;
  text-align: center;
}

.SwordMobileTableHeader {
  font-size: 13px;
  font-weight: 400;
  line-height: 19px;
  border-bottom: 2px solid #1C1C1C;
}

.SwordMobileTableHeader:nth-child(1),
.SwordMobileTableHeader:nth-child(2),
.SwordMobileTableHeader:nth-child(3) {
  border-right: 2px solid #1C1C1C;
}

.SwordMobileTableValue {
  font-size: 16px;
  font-weight: 500;
  line-height: 19px;
}

.SwordMobileTableValue:nth-child(5),
.SwordMobileTableValue:nth-child(6),
.SwordMobileTableValue:nth-child(7) {
  border-right: 2px solid #1C1C1C;
}

/* =========================================================
   PURCHASE
   ========================================================= */

.SwordMobilePurchase {
  width: 393px;
  height: 100px;
  position: absolute;
  left: 0;
  top: 0;
}

.SwordMobileAddButton {
  width: 236.34px;
  height: 46.02px;
  position: absolute;
  left: 79px;
  top: 1132.92px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 11.7px;
  background: #E8E8E8;
  color: #0A0A0A;
  font-family: "e-Ukraine", sans-serif;
  font-size: 18.72px;
  font-weight: 500;
  line-height: 24.96px;
  letter-spacing: 0.56px;
  white-space: nowrap;
}

.SwordMobileStock {
  width: 107.5px;
  position: absolute;
  left: 143.5px;
  top: 1194.94px;
  text-align: center;
  color: #8C8C8C;
  font-family: "e-Ukraine", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
}

/* =========================================================
   FOOTER
   ========================================================= */

.SwordMobileFooter {
  width: 393px;
  height: 430px;
  position: absolute;
  left: 0;
  top: 1354.94px;
  overflow: hidden;
  background: #141414;
}

.SwordMobileFooterBrand {
  position: absolute;
  left: 42px;
  top: 30px;
  color: #F2F2F0;
  font-family: "Unbounded", sans-serif;
  font-size: 14.4px;
  font-weight: 500;
  line-height: 19.2px;
}

.SwordMobileFooterBrand span {
  display: block;
  margin-top: 4.8px;
  font-family: "e-Ukraine", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}

.SwordMobileFooterLanguage {
  position: absolute;
  left: 244px;
  top: 36px;
  display: flex;
  gap: 12px;
  align-items: center;
  font-family: "e-Ukraine", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.54px;
}

.SwordMobileFooterLanguage span {
  width: 48px;
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7.5px;
}

.SwordMobileFooterLanguage .LangEn {
  color: #818181;
  background: #242424;
}

.SwordMobileFooterLanguage .LangUa {
  color: #0A0A0A;
  background: #E8E8E8;
}

.SwordMobileFooterNav {
  position: absolute;
  left: 23px;
  top: 152px;
  width: 347px;
  display: grid;
  grid-template-columns: 160px 160px;
  column-gap: 27px;
  row-gap: 38px;
}

.SwordMobileFooterNav a {
  width: 160px;
  color: #F2F2F0;
  text-align: center;
  font-family: "e-Ukraine", sans-serif;
  font-size: 17.28px;
  font-weight: 500;
  line-height: 23.04px;
  letter-spacing: 0.35px;
}

.SwordMobileFooterSocials {
  position: absolute;
  left: 44px;
  top: 316px;
  width: 305px;
  display: flex;
  justify-content: space-between;
}

.SwordMobileFooterSocials a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #F2F2F0;
  font-family: "e-Ukraine", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: 0.36px;
}

.SwordMobileFooterSocials img {
  width: 19.5px;
  height: 19.5px;
  display: block;
  object-fit: contain;
}

.SwordMobileFooterLine {
  width: 401px;
  height: 1px;
  position: absolute;
  left: 0;
  top: 356.48px;
  background: #292929;
}

.SwordMobileFooterBottom {
  position: absolute;
  left: 44px;
  right: 44px;
  top: 380px;
  display: flex;
  justify-content: space-between;
  color: #F2F2F0;
  font-family: "e-Ukraine", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 15px;
  white-space: nowrap;
}

/* =========================================================
   MOBILE WIDTH BEHAVIOUR
   ========================================================= */

@media (max-width: 392px) {
  .SwordTeeMobile {
    transform-origin: top center;
    transform: scale(calc(100vw / 393));
  }

  body {
    min-height: calc(1785px * (100vw / 393));
  }
}


/* =========================================================
   MOBILE MENU — HEADER CONTROLS WHILE DRAWER IS OPEN
   ========================================================= */
body.vexen-menu-open .SwordMobileMenu,
body.vexen-menu-open .SwordMobileCart,
body.vexen-menu-open .SwordMobileLogo {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}


/* =========================================================
   VEXEN — FINAL INTERACTION LAYER
   Header controls must sit above the product hero.
   ========================================================= */

.SwordMobileHeader {
  z-index: 1000;
}

.SwordMobileMenu,
.SwordMobileLogo,
.SwordMobileCart {
  z-index: 1001;
  pointer-events: auto !important;
}

.SwordMobileMenu {
  cursor: pointer;
}

.SwordMobileCart {
  cursor: pointer;
}

/* The drawer must always sit above every page section. */
.VexenMobileMenu {
  z-index: 99999 !important;
}
