/* =========================================================
   TPT — GLOBAL LIGHT + CART REPAIR V3
   PASTE AT THE VERY BOTTOM OF ADVANCED CSS
   ========================================================= */


/* =========================================================
   1. LIGHTER GLOBAL PALETTE
   ========================================================= */

:root{
  --tpt-bg-deep:#2d3238;
  --tpt-bg:#3a4047;
  --tpt-bg-mid:#464d55;
  --tpt-bg-light:#555d66;

  --tpt-panel:rgba(255,255,255,.075);
  --tpt-panel-hover:rgba(255,255,255,.12);

  --tpt-line:rgba(255,255,255,.25);
  --tpt-line-strong:rgba(255,255,255,.48);

  --tpt-white:#f8f7f2;
  --tpt-muted:rgba(248,247,242,.72);
  --tpt-faint:rgba(248,247,242,.48);
}


/* =========================================================
   2. GLOBAL BACKGROUND
   ========================================================= */

html,
body,
.tpt-site,
.tpt-site-shell,
.wrap{
  background:
    radial-gradient(
      circle at 12% 5%,
      rgba(255,255,255,.11),
      transparent 28%
    ),
    linear-gradient(
      145deg,
      #505761 0%,
      #41474f 38%,
      #373c43 68%,
      #30343a 100%
    ) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   3. MAIN CONTENT
   ========================================================= */

.main,
.content,
#main,
.tpt-main,
.tpt-content{
  background:transparent !important;
}


/* =========================================================
   4. PRODUCTS
   ========================================================= */

#products,
#products .main,
#products .content,
#products #main{
  background:
    linear-gradient(
      145deg,
      #505761,
      #41474f 45%,
      #353a41
    ) !important;
}


/* =========================================================
   5. PRODUCT PAGE
   ========================================================= */

#product,
#product .main,
#product #main{
  background:transparent !important;
}

#product .content{
  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(255,255,255,.10),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #515861 0%,
      #424850 45%,
      #363b42 100%
    ) !important;
}


/* =========================================================
   6. CART PAGE BACKGROUND
   ========================================================= */

#cart,
#cart .main,
#cart #main{
  background:transparent !important;
}

#cart .content{
  background:
    radial-gradient(
      circle at 90% 4%,
      rgba(255,255,255,.10),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #515861 0%,
      #424850 45%,
      #363b42 100%
    ) !important;
}


/* =========================================================
   7. CART CONTAINER
   ========================================================= */

#cart .cart-container{
  background:rgba(255,255,255,.025) !important;

  border:
    1px solid rgba(255,255,255,.22) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   8. CRITICAL:
   HIDE EMPTY-CART CONTENT WHEN REAL CART ITEMS EXIST
   ========================================================= */

#cart .cart-container:not(.empty-cart) .cart-empty-message,
.cart-container:not(.empty-cart) .cart-empty-message{
  display:none !important;
}


/* Hide custom empty state accidentally left below populated cart */

#cart .cart-items:not(:empty) ~ .cart-empty-message,
#cart .cart-form:has(.cart-item) .cart-empty-message,
#cart .cart-container:has(.cart-item) .cart-empty-message{
  display:none !important;
}


/* =========================================================
   9. CART ITEMS
   ========================================================= */

#cart .cart-items{
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
}

#cart .cart-items .cart-item{
  background:rgba(255,255,255,.035) !important;

  border:
    1px solid rgba(255,255,255,.24) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   10. CART IMAGE
   ========================================================= */

#cart .cart-item-image-holder{
  margin:0 !important;
}

#cart .cart-item-image{
  background-color:#555c65 !important;

  border:
    1px solid rgba(255,255,255,.22) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 12px 30px rgba(0,0,0,.14) !important;
}


/* =========================================================
   11. CART TEXT
   ========================================================= */

#cart .cart-item-details,
#cart .cart-item-details a,
#cart .cart-item-details-option{
  color:var(--tpt-white) !important;
}


/* =========================================================
   12. CART PRICE
   REMOVE HUGE DARK PRICE BLOCK
   ========================================================= */

#cart .cart-item-details-price{
  background:rgba(255,255,255,.055) !important;

  color:var(--tpt-white) !important;

  border-left:
    1px solid rgba(255,255,255,.20) !important;
}


/* =========================================================
   13. QUANTITY INPUT
   ========================================================= */

#cart .option-quantity{
  background:rgba(255,255,255,.055) !important;

  border:
    1px solid rgba(255,255,255,.25) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   14. QUANTITY BUTTONS
   ========================================================= */

#cart button.qty-button{
  background:transparent !important;

  border:
    1px solid rgba(255,255,255,.25) !important;

  color:var(--tpt-white) !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

#cart button.qty-button svg{
  fill:var(--tpt-white) !important;
}


/* =========================================================
   15. SUBTOTAL
   ========================================================= */

#cart .cart-subtotal{
  background:rgba(255,255,255,.055) !important;

  border:
    1px solid rgba(255,255,255,.25) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   16. CONTINUE SHOPPING
   ========================================================= */

#cart .continue-shopping,
#cart .continue-shopping a{
  color:var(--tpt-white) !important;
}


/* =========================================================
   17. CHECKOUT
   ========================================================= */

#cart button.checkout-btn,
#cart .checkout-btn{
  background:
    linear-gradient(
      110deg,
      #292d32 0%,
      #161719 60%,
      #321917 100%
    ) !important;

  border:
    1px solid rgba(255,255,255,.28) !important;

  border-left:
    5px solid #e52d27 !important;

  color:#fff !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 15px 35px rgba(0,0,0,.16) !important;
}


/* =========================================================
   18. INPUTS SITEWIDE
   ========================================================= */

input,
textarea,
select,
.select{
  background:rgba(255,255,255,.07) !important;

  border-color:
    rgba(255,255,255,.26) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   19. STANDARD BUTTONS
   ========================================================= */

.button:not(.checkout-btn),
button:not(.checkout-btn):not(.tpt-cart-button):not(.qty-button){
  background:rgba(255,255,255,.075) !important;

  border-color:
    rgba(255,255,255,.27) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   20. SIDEBAR
   ========================================================= */

.sidebar,
.tpt-sidebar{
  background:
    linear-gradient(
      145deg,
      rgba(79,86,95,.99),
      rgba(55,60,67,.99)
    ) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   21. RELATED PRODUCTS
   ========================================================= */

.similar-products,
.tpt-related-products{
  background:
    linear-gradient(
      145deg,
      #4a5159,
      #383e45
    ) !important;

  border-color:
    rgba(255,255,255,.22) !important;

  color:var(--tpt-white) !important;
}


/* =========================================================
   22. LIQUID GLASS MASTHEAD
   ========================================================= */

.tpt-masthead{
  background:
    linear-gradient(
      110deg,
      rgba(255,255,255,.88) 0%,
      rgba(231,237,240,.65) 19%,
      rgba(158,170,177,.45) 42%,
      rgba(102,82,80,.42) 72%,
      rgba(29,30,33,.88) 100%
    ) !important;

  border:
    1px solid rgba(255,255,255,.68) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(0,0,0,.20),
    0 16px 40px rgba(0,0,0,.14) !important;

  backdrop-filter:
    blur(24px)
    saturate(145%) !important;

  -webkit-backdrop-filter:
    blur(24px)
    saturate(145%) !important;
}


/* =========================================================
   23. MOBILE CART — COMPLETE REBUILD
   ========================================================= */

@media screen and (max-width:768px){

  #cart .content{
    padding:0 !important;
  }

  #cart .cart-container{
    padding:
      24px
      clamp(18px,5vw,28px)
      50px !important;

    width:100% !important;
  }


  /* -----------------------------------------
     CART ITEM
     ----------------------------------------- */

  #cart .content .cart-item{
    display:grid !important;

    grid-template-columns:
      105px
      minmax(0,1fr) !important;

    grid-template-rows:auto auto !important;

    column-gap:20px !important;
    row-gap:18px !important;

    width:100% !important;

    height:auto !important;
    min-height:0 !important;

    margin:0 0 28px !important;
    padding:20px !important;

    align-items:start !important;
  }


  /* -----------------------------------------
     IMAGE
     ----------------------------------------- */

  #cart .content .cart-item-image-holder{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;

    width:105px !important;

    margin:0 !important;
  }

  #cart .content .cart-item-image{
    width:105px !important;
    height:135px !important;

    margin:0 !important;

    background-size:cover !important;
    background-position:center !important;
  }


  /* -----------------------------------------
     PRODUCT DETAILS
     ----------------------------------------- */

  #cart .content .cart-item-details{
    grid-column:2 !important;
    grid-row:1 !important;

    width:100% !important;

    padding:0 !important;
    margin:0 !important;

    align-self:start !important;

    font-size:1rem !important;
    line-height:1.55 !important;
  }

  #cart .content .cart-item-details-option{
    margin-top:8px !important;

    font-size:.78rem !important;

    opacity:.72 !important;
  }


  /* -----------------------------------------
     QUANTITY + PRICE ROW
     ----------------------------------------- */

  #cart .content .cart-item-quantity-holder{
    grid-column:2 !important;
    grid-row:2 !important;

    display:flex !important;

    align-items:center !important;
    justify-content:flex-start !important;

    gap:10px !important;

    width:100% !important;

    margin:0 !important;
    padding:0 !important;
  }


  #cart .content .cart-item-quantity-holder .option-quantity{
    width:46px !important;
    height:42px !important;

    margin:0 !important;

    text-align:center !important;
  }


  #cart .content button.qty-button{
    width:42px !important;
    height:42px !important;

    flex:0 0 42px !important;

    margin:0 !important;
    padding:0 !important;
  }


  /* -----------------------------------------
     PRICE
     ----------------------------------------- */

  #cart .content .cart-item-details-price{
    position:static !important;

    width:auto !important;
    height:auto !important;

    min-width:0 !important;

    margin-left:auto !important;
    padding:8px 0 8px 14px !important;

    background:transparent !important;

    border:0 !important;

    font-size:1.15rem !important;

    white-space:nowrap !important;

    flex-direction:row !important;
  }


  /* -----------------------------------------
     CART FOOTER
     ----------------------------------------- */

  #cart .cart-footer{
    display:block !important;

    width:100% !important;
  }


  #cart .content .cart-subtotal{
    display:flex !important;

    align-items:center !important;
    justify-content:space-between !important;

    width:100% !important;

    margin:0 0 12px !important;

    padding:14px 16px !important;

    text-align:left !important;
  }


  /* -----------------------------------------
     RESTORE CONTINUE SHOPPING
     ----------------------------------------- */

  #cart .content .continue-shopping{
    display:block !important;

    margin:0 0 24px !important;

    padding:0 !important;

    font-size:.88rem !important;
  }


  /* -----------------------------------------
     CHECKOUT
     ----------------------------------------- */

  #cart .content button.checkout-btn{
    width:100% !important;
    max-width:none !important;

    height:58px !important;

    margin:0 !important;

    line-height:54px !important;
  }


  /* -----------------------------------------
     EMPTY CART
     ----------------------------------------- */

  #cart .cart-container:not(.empty-cart) .cart-empty-message{
    display:none !important;
  }


  #cart .cart-container.empty-cart .cart-empty-message{
    display:block !important;
  }


  /* -----------------------------------------
     LIGHTER MOBILE BACKGROUND
     ----------------------------------------- */

  html,
  body,
  .wrap{
    background:
      linear-gradient(
        160deg,
        #555d66 0%,
        #454c54 43%,
        #373d44 100%
      ) !important;
  }

}


/* =========================================================
   24. MINI CART
   DO NOT LET ITS RULES CONTAMINATE FULL CART
   ========================================================= */

.cart-container.mini-cart-container{
  background:
    linear-gradient(
      145deg,
      rgba(80,87,96,.99),
      rgba(54,59,66,.99)
    ) !important;

  border:
    1px solid rgba(255,255,255,.24) !important;
}


/* =========================================================
   25. EMPTY CART SAFETY
   ========================================================= */

.cart-container.empty-cart .cart-items,
.cart-container.empty-cart .cart-footer{
  display:none !important;
}

.cart-container.empty-cart .cart-empty-message{
  display:block !important;
}


/* =========================================================
   26. POPULATED CART SAFETY
   ========================================================= */

.cart-container:not(.empty-cart) .cart-empty-message{
  display:none !important;
}


/* =========================================================
   END TPT GLOBAL LIGHT + CART REPAIR V3
   ========================================================= */
/* =========================================================
   TPT — CART HEADER / SITEWIDE CART LEAK FIX
   ========================================================= */

/*
   The Big Cartel cart container must NEVER behave like
   a normal page/header unless we're actually on #cart.
*/

body:not(#cart) > .cart-container:not(.mini-cart-container),
body:not(#cart) .main > .cart-container:not(.mini-cart-container),
body:not(#cart) .content > .cart-container:not(.mini-cart-container){
  display:none !important;
}


/* =========================================================
   MINI CART
   Hidden until Big Cartel explicitly opens it
   ========================================================= */

.cart-container.mini-cart-container{
  display:block !important;

  position:fixed !important;

  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;

  z-index:100001 !important;
}


/* Big Cartel opens mini cart */
.cart-container.mini-cart-container[aria-hidden="false"]{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}


/* Closed mini cart */
.cart-container.mini-cart-container[aria-hidden="true"]{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}


/* =========================================================
   REAL CART PAGE
   ========================================================= */

#cart .cart-container:not(.mini-cart-container){
  display:block !important;

  position:relative !important;

  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;

  width:100% !important;
}


/* =========================================================
   CART TITLE
   ONLY EXISTS VISUALLY ON ACTUAL CART PAGE / OPEN MINI CART
   ========================================================= */

body:not(#cart)
.cart-container:not(.mini-cart-container)
.cart-title{
  display:none !important;
}


.cart-container.mini-cart-container[aria-hidden="true"]
.cart-title{
  display:none !important;
}


.cart-container.mini-cart-container[aria-hidden="false"]
.cart-title{
  display:block !important;
}


/* =========================================================
   PROTECT TPT MASTHEAD
   ========================================================= */

.tpt-masthead{
  position:fixed !important;
  z-index:100000 !important;
}


/* Cart cannot become part of masthead */
.tpt-masthead .cart-container,
.tpt-masthead .cart-title,
.tpt-masthead .cart-form,
.tpt-masthead .cart-items,
.tpt-masthead .cart-footer{
  display:none !important;
}


/* Keep ONLY your TPT cart pill in masthead */
.tpt-masthead .tpt-cart-button{
  display:flex !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:800px){

  body:not(#cart)
  .cart-container:not(.mini-cart-container){
    display:none !important;
  }


  .cart-container.mini-cart-container{
    position:fixed !important;

    top:0 !important;
    left:0 !important;
    right:0 !important;

    width:100% !important;
    height:100svh !important;

    z-index:100001 !important;
  }


  .cart-container.mini-cart-container[aria-hidden="true"]{
    transform:translateX(105%) !important;
    opacity:0 !important;
    visibility:hidden !important;
  }


  .cart-container.mini-cart-container[aria-hidden="false"]{
    transform:translateX(0) !important;
    opacity:1 !important;
    visibility:visible !important;
  }

}


/* =========================================================
   END CART LEAK FIX
   ========================================================= */
/* ==========================================
   FIX GALLERY 1. 2. 3. 4. LIST MARKERS
   ========================================== */

.product-images ol,
.product-images ul,
.product-images li,
.product-image-container ol,
.product-image-container ul,
.product-image-container li,
.product-gallery ol,
.product-gallery ul,
.product-gallery li {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.product-images li::marker,
.product-image-container li::marker,
.product-gallery li::marker {
  content: "" !important;
  font-size: 0 !important;
}