/** Shopify CDN: Minification failed

Line 250:25 Unexpected "{"
Line 250:34 Expected ":"

**/
/********************* HOMEPAGE - RESPONSIVE OVERRIDES *********************/
@media (max-width: 768px) {
  body.gradient.page-home .product-card {
    transform: scale(0.7);
    max-width: 300px;
  }
  .grid.product-grid {
    row-gap: 5px !important;
    column-gap: 0px !important;
    justify-content: center !important;
  }
  #rotating-products {
    flex-direction: column;
    margin-left: 0;
    padding-bottom: 100px
  }


/* PORTAL LAYER */
.product-card-outer {
  margin-right: -150px;
  position: relative !important;
  overflow: visible !important;
}
.page-home .portal-underlay {
  position: absolute !important;
  top: -47% !important;
  left: -18.5% !important;
  width: 260px !important;
  height: 236px !important;
  background-image: url(a.IMG.portal.png) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  z-index: -20 !important;
  opacity: 1 !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  display: block !important;
}


/* Target mobile only */
  #rotating-products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  #rotating-products > :nth-child(2) {
    margin-top: 0;
  }

   body.gradient.page-collection #product-grid  {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
.gradient.page-collection .card__media {
  transform: scale(2.15);
  margin: 0 auto;
}
  #rotating-products {
    grid-template-columns: repeat(2, 1fr) !important;
    grid-auto-rows: 1fr !important;
    overflow: hidden !important;
  }

  #rotating-products > *:nth-child(n+3) {
    display: none !important; /* hide items 3, 4, etc. */
  }
#rotating-products .product-card-outer:nth-child(1) {
  position: relative;
  left: -52px;
  top: 23px;
}
#rotating-products .product-card-outer:nth-child(2) {
  position: relative;
  left: -61px;
  top: 168px;
}
}
/********************* SHOPALL-PAGE - RESPONSIVE OVERRIDES *********************/

/* Mobile / screens < 768px */
@media (max-width: 768px) {
  /* 1) Make sure it's a clean 2-col grid */
  body.gradient.page-collection .grid.product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 0 !important;
    row-gap: 95px !important;
    overflow: visible !important;
    position: relative !important;
    left: 76px !important;
  }
  body.gradient.page-collection .grid.product-grid li.grid__item {
    margin: 0 !important;
  }
  /* Pull right column left */
  body.gradient.page-collection .grid.product-grid li.grid__item:nth-child(2n) {
    margin-left: -30px !important;
  }
  body.gradient.page-collection #product-grid {
    width: 124%;
    padding: 0 10px;
    top: -100px;
    left: 70px;
    flex-direction: column;
  }
  body.gradient.page-collection .card,
body.gradient.page-collection .card a.full-unstyled-link {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: relative;
}
body.gradient.page-collection .card a.full-unstyled-link {
  position: absolute !important;
  top: 0; left: 0;
  right: 0; bottom: 0;
  z-index: 2; /* sits on top so entire card is clickable */
}
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip; 
}
html,
body.page-collection.gradient {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  position: relative;
}
}
/********************* SHOPALL-PAGE - TITLES/PRICE & FLOATING SHIRTS - RESPONSIVE *********************/

/* Mobile / screens < 768px */
@media (max-width: 768px) {
  .gradient.page-collection .card__content {
    top: -30px;
    left: 20px;
  }

  /* Just to make sure nothing pops up on small screens */
  .card__information,
  .card__heading,
  .card-information,
  .price,
  .price__container,
  .price__regular,
  .price__sale,
  .unit-price,
  .price-item,
  .visually-hidden,
  .visually-hidden--inline,
  span[id^="title-template--"],
  .card__content .card__heading,
  .card__content .card-information,
  .card__content .price,
  .card__content [class*="price__"],
  .card__content [class*="price-item"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  /* Floating shirts container adjustment for mobile */
  #floating-shirts-container {
    z-index: -1 !important;
    pointer-events: none !important;
  }
  .gradient.page-collection {
    overflow: visible !important;
  }
  .shirtnut-model {
    height: 400px;
    margin-top: 41px;
    transform: scale(1.2);
  }
}
/********************* PRODUCT-PAGE - RESPONSIVE ADJUSTMENTS *********************/
/* Mobile / screens < 768px */
@media (max-width: 768px) {
  .gradient.page-product .product__media {
    top: 10px;
  }

  .gradient.page-product model-viewer {
    top: -80px;
  }

  .gradient.page-product product-recommendations {
    margin-top: 120px;
    padding-bottom: 40px;
  }

  .page-product .product-grid .grid__item:nth-child(1) {
    transform: translate(0px, 5px) scale(1);
  }
  .page-product .product-grid .grid__item:nth-child(2) {
    transform: translate(20px, 15px) scale(1);
  }
  .page-product .product-grid .grid__item:nth-child(3) {
    transform: translate(60px, 10px) scale(1);
  }
  .page-product .product-grid .grid__item:nth-child(4) {
    transform: translate(90px, -10px) scale(1);
  }




  .cassette-container,
  .product__info-wrapper.grid__item.scroll-trigger.animate--slide-in,
  #ProductInfo-template--25249230225481__main {
    left: 0 !important;
    right: 0 !important;
    margin: 0 auto !important;
    top: 189px !important;
    transform: none !important;
    width: 90% !important;
    max-width: 400px !important;
  }

  .cassette-container {
    background-size: contain !important;
    height: auto !important;
  }

  .cassette-container .size-xs { left: 20px !important; }
  .cassette-container .size-small { left: 70px !important; }
  .cassette-container .size-medium { left: 120px !important; }
  .cassette-container .size-large { left: 170px !important; }
  .cassette-container .size-xl { left: 220px !important; }
  .cassette-container .size-xxl { left: 270px !important; }


  #cassette-add-to-cart-{{ product.handle }} button {
    position: absolute !important;
    top: 472px !important; 
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
}
@media (max-width: 768px) {
  model-viewer {
    z-index: 50 !important;
    position: relative !important;
  }
}
/** make page space longer for product **/
@media (max-width: 768px) {
  body.gradient.page-product #shopify-section-sections--25724525281353__footer {
    position: relative !important;
    top: auto !important;
    margin-top: 220px !important;
    clear: both !important;
    z-index: 1 !important;
  }
}





/********************* HEADER - RESPONSIVE ADJUSTMENTS *********************/
/* Mobile / screens < 768px */
@media (max-width: 768px) {
  .header__heading-logo-wrapper.my-animated-logo {
    width: 240px;
    height: 100px;
    left: -35px; /* center on mobile */
    top: 30px;
    margin: 0 auto;
  }
}

/* Keep logo image responsive */
.my-animated-logo {
  width: 100%;
  height: auto;
  display: block;
}
/********************* SWINGING SIGNS - RESPONSIVE *********************/
/* Mobile / screens < 768px */
@media (max-width: 768px) {
  #floating-iconsign {
    top: -11px;
    left: 70.4%;
    transform: translateX(-50%);
  }
#floating-iconsign img {
  width: 208px;
  height: 51px;
}
  #floating-shopall {
    top: -30px;
    left: 21%;
    transform: translateX(-50%);
  }
#floating-shopall img {
  width: 231px;
  height: 116px;
}
html,
body.page-product.gradient {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  position: relative;
}
}

/* Keep swing animation intact */
.floating-header-icons-wrapper.swinging,
.floating-sign.swinging img {
  animation: floating-sign-swing 1.8s ease-in-out;
}
/********************* HEADER-SCROLL - RESPONSIVE *********************/
@media (max-width: 768px) {
/*--- theme header is always 72px tall and hides overflow (for cropping) ---*/
.shopify-section-group-header-group .gradient {
  min-height: 177px !important;
  max-height: 177px !important;
  width: 650px;
  overflow: hidden !important;
}
/*--- The fake background image (fills parent, no set height for real cropping) ---*/
#header-bg-fake-inner {
  width: 100%;
  display: block;
  object-fit: cover;
}
/*--- The cropping/mask container, sits absolutely under header content ---*/
#header-bg-fake {
  position: absolute !important;
  top: 0; left: 0; right: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
/*--- Make sure the header itself is always transparent above the fake bg ---*/
.header-wrapper,
.header-wrapper.gradient {
  background: transparent !important;
  background-image: none !important;
}
/*--- All header content always stays above fake background ---*/
.header-wrapper > *:not(#header-bg-fake) {
  position: relative;
  z-index: 2;
}
}


/********************* BACKGROUNDS - RESPONSIVE *********************/

/* Mobile-only: background fits full height, crops sides */
@media (max-width: 768px) {
  body.page-home.gradient {
    background-image: url(a.BG.home.mobile.png) !important;
    background-size: 1200px !important; 
    background-position: center top -190px !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
  }
/* 🐱‍🏍 collection page: custom background */
body.page-collection.gradient {
    background-image: url(a.BG.collection.png) !important;
    background-size: 1200px !important; 
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
  }
/* 😛 product page: custom background */
body.page-product.gradient {
    background-image: url("/cdn/shop/files/BG.produc.mobile.png") !important;
    background-size: 900px !important; 
    background-position: center top 81px !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
}
/* 🐱‍👤 privacy page: custom background */
body.template-page-privacy.gradient {
  background-image: url(a.BG.privacy.png) !important;
  background-size: 100% auto !important;
  background-repeat: no-repeat !important;
  background-position: center bottom !important;
  background-color: transparent !important;
  background-attachment: fixed !important;
}
/* Mobile contact page background fixed & full */
  body.page-contact.gradient {
    background-image: url(a.BG.contact.png) !important;
    background-size: 1200px !important; 
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
  }
  /* 🏖️ Force cart page to match full background height */
body.page-cart.gradient {
  background-image: url("/cdn/shop/files/a.BG.mobile.cart.png") !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: 100% auto !important;
  background-attachment: scroll !important;
  background-color: transparent !important;
  min-height: 2100px;
  position: relative;
}
}



/********************* FOOTER - RESPONSIVE *********************/


/* Small mobile phones < 480px */
@media (max-width: 480px) {
  .footer-link-img.link-home {
    left: 0px !important;
    bottom: -10px !important;
    width: 10% !important;
  }
  .footer-link-img.link-policy {
    left: calc(35% + -124px) !important;
    bottom: -6px !important;
    width: 20% !important;
  }
  .footer-link-img.link-contact {
    left: calc(65% - 75px) !important;
    bottom: -6px !important;
    width: 30% !important;
  }
  .ingrained-footer-links {
    position: relative !important;
    height: auto !important;
  }
  /* Disable tap/click highlight everywhere */
* {
  -webkit-tap-highlight-color: transparent !important;
  outline: none;
  box-shadow: none;
}
}


/********************* FOOTER-BASES - RESPONSIVE *********************/


/* Small mobile phones < 480px */
@media (max-width: 480px) {
  .page-home .footer::before,
  .page-collection .footer::before,
  .page-product .footer::before,
  .page-contact .footer::before,
  .page-cart .footer::before,
  .page-privacy-custom .footer::before {
    bottom: 0 !important;
    top: auto !important;
    width: 150vw !important;
    height: 150px !important;
    left: 50% !important;
    transform: translateX(calc(-50% - 60px)) !important; /* shift left */
    background-size: cover !important;
  }
}


/********************* FOOTER FINAL POSITIONINGS - RESPONSIVE *********************/

/* Small screens / phones < 768px */
@media (max-width: 767px) {
  .page-home .footer::before,
  .page-collection .footer::before,
  .page-product .footer::before,
  .page-contact .footer::before,
  .page-cart .footer::before,
  .page-privacy-custom .footer::before {
    width: 100vw;
    max-width: 1000px;
    height: 200px;
    transform: translateX(-50%) translateY(-100px);
  }
}

/* Keep footer itself always visible */
.footer {
  position: relative !important;
  z-index: 1;
  overflow: visible !important;
}
/********************* POLICIES-PAGE RESPONSIVE *********************/


/* Mobile (<768px) */
@media (max-width: 767px) {
  .page-privacy-custom .shopify-policy__container {
    max-width: 100% !important;
    padding-left: 10px;
    padding-right: 10px;
  }
  .page-privacy-custom .shopify-policy__container .main-title,
  .page-privacy-custom .shopify-policy__container h1,
  .page-privacy-custom .shopify-policy__container h2,
  .page-privacy-custom .shopify-policy__container h3 {
    font-size: 1.6rem;
    margin-top: 1rem;
    margin-bottom: 0.8rem;
  }
  .page-privacy-custom .shopify-policy__container p,
  .page-privacy-custom .shopify-policy__container li {
    font-size: 1rem;
    line-height: 1.4;
  }
  .page-privacy-custom .shopify-policy__container ul, 
  .page-privacy-custom .shopify-policy__container ol {
    padding-left: 1.5em;
  }
  .page-privacy-custom .shopify-policy__container li {
    margin-bottom: 0.25em;
  }
}
/********************* CONTACT-PAGE RESPONSIVE *********************/

/* Mobile (<768px) */
@media (max-width: 767px) {
  .tv-float-img {
    position: relative; /* so it doesn’t overlap everything */
    bottom: auto;
    right: auto;
    width: 100%;       /* full container width */
    max-width: 300px;  /* prevent massive scaling */
    margin: 0 auto;    /* center it */
    display: block;
  }
}
/********************* CART-PAGE RESPONSIVE *********************/

@media (max-width: 767px) {
  /* Major layout shifts for mobile */
  .page-cart cart-items {
    margin-top: 2rem;
  }
  .page-cart #main-cart-footer {
    margin-bottom: 4rem;
  }
  .page-cart h1,
  .page-cart h2 {
    font-size: 1.8rem;
  }
  .page-cart .quantity__button,
  .page-cart .quantity__input,
  .page-cart .totals__total {
    font-size: 1rem;
  }
  /* Ensure clickable elements are touch-friendly */
  .page-cart .quantity__button,
  .page-cart cart-remove-button {
    padding: 0.5rem 0.8rem;
  }
/* 🏖️ Move cart content higher up */
body.page-cart #MainContent {
  margin-top: -1700px !important;
  padding-top: 0 !important;
}
}





:root {
  --design-width:1529px;
}

@media (min-width:1530px) {
  html {
    background:#000;
    display:flex;
    justify-content:center;
    overflow:hidden;     /* lock outer scroll completely */
    height:100vh;
  }

  body {
    width:var(--design-width);
    max-width:var(--design-width);
    margin:0 auto;
    position:relative;
    box-sizing:border-box;
    background:transparent;
    transform:scale(calc(100vw / var(--design-width)));
    transform-origin:top center;
    overflow-y:auto;      /* this becomes the real scroll */
    overflow-x:hidden;
  }
}
