.woocommerce-store-notice{background-color:#cc1774}
.shop-page-title,.product-category,.woocommerce-message{display:none!important}
#woo_pp_ec_button_mini_cart{display:none}
.grecaptcha-badge{display:none}
.woocommerce-variation-price{display:none}
.price-wrapper{font-size:x-large}

/* Free shipping cart bar */
.fbs-free-shipping-box{
  background:#f7fffc;
  border:1px solid #34B29C;
  border-radius:10px;
  padding:16px;
  margin:0 0 25px;
  text-align:center;
  width:100%;
  box-sizing:border-box;
  clear:both;
}
.fbs-free-shipping-title{
  font-size:18px;
  font-weight:700;
  color:#222;
  margin-bottom:6px;
  line-height:1.3;
}
.fbs-free-shipping-text{
  font-size:15px;
  color:#555;
  margin-bottom:12px;
  line-height:1.4;
}
.fbs-free-shipping-bar{
  width:100%;
  height:10px;
  background:#e5e5e5;
  border-radius:999px;
  overflow:hidden;
}
.fbs-free-shipping-progress{
  height:100%;
  background:#34B29C;
  border-radius:999px;
  transition:width .3s ease;
}

/* Cart cross-sell */
.woocommerce-cart .cross-sells>h2{display:none}
.woocommerce-cart .cross-sells:before{
  content:"Don’t Miss These Customer Favorites";
  display:block;
  text-align:center;
  font-size:24px;
  font-weight:700;
  color:#222;
  margin-bottom:8px;
}
.woocommerce-cart .cross-sells:after{
  content:"Handpicked favorites designed to make every gift more memorable.";
  display:block;
  text-align:center;
  font-size:14px;
  color:#666;
  margin-bottom:20px;
}

/* Custom cart button row */
.custom-cart-button-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  margin-top:14px!important;
  width:100%!important;
}
.custom-cart-button-row .ux-quantity,
.custom-cart-button-row .single_add_to_cart_button{
  position:static!important;
  float:none!important;
  margin:0!important;
}
.custom-cart-button-row .ux-quantity{flex:0 0 auto!important}
.custom-cart-button-row .single_add_to_cart_button{
  flex:0 0 auto!important;
  height:40px!important;
  min-height:40px!important;
  line-height:40px!important;
  padding:0 28px!important;
  min-width:140px!important;
  white-space:nowrap!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Rating row */
.fb-rating-row{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin:0 auto 25px;
  text-align:center;
  flex-wrap:wrap;
}
.fb-stars{
  color:#CC1774;
  font-size:24px;
  letter-spacing:2px;
  line-height:1;
}
.fb-rating-text{
  font-size:18px;
  color:#444;
  font-weight:500;
}
.fb-rating-text strong{color:#222;font-weight:700}

/* Trust bar */
.fb-trust-bar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  background:linear-gradient(180deg,#fff8fc 0%,#fff2f8 100%);
  border:1px solid #f5d4e6;
  border-radius:20px;
  padding:22px 18px;
  margin:28px auto;
  max-width:1100px;
  box-shadow:0 10px 28px rgba(204,23,116,.08);
}
.fb-trust-item{
  text-align:center;
  padding:0 18px;
  border-right:1px solid #f5d4e6;
}
.fb-trust-item:last-child{border-right:none}
.fb-trust-icon{
  width:58px;
  height:58px;
  margin:0 auto 12px;
  border-radius:50%;
  background:#ffe4f1;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:27px;
}
.fb-trust-item strong{
  display:block;
  color:#cc1774;
  font-size:17px;
  font-weight:700;
  line-height:1.3;
  margin-bottom:8px;
}
.fb-trust-item span{
  display:block;
  color:#555;
  font-size:14px;
  line-height:1.4;
}

/* Category pills */
li.tab{margin:0 5px!important}
li.tab>a{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:8px 16px!important;
  background:#FFF8FB!important;
  border:1px solid #E9D5E2!important;
  border-radius:24px!important;
  color:#555!important;
  font-size:16px!important;
  font-weight:600!important;
  line-height:1!important;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
  transition:.25s ease;
}
li.tab>a:hover{
  background:#FFF3F8!important;
  border-color:#E2BFD1!important;
  transform:translateY(-1px);
}
li.tab.active>a{
  background:#CC1774!important;
  border-color:#CC1774!important;
  color:#fff!important;
  box-shadow:0 6px 14px rgba(204,23,116,.18);
}
li.tab.active span{color:#fff!important}
li.tab img.emoji{width:16px!important;height:16px!important}

/* Floating hero button */
.hero-button{
  position:absolute!important;
  left:50%;
  margin-top:-180px;
  transform:translateX(-50%);
  width:80%;
  max-width:360px;
  z-index:999;
}
.hero-button .button{
  width:100%;
  display:block;
  text-align:center;
  background:linear-gradient(180deg,#ff3a98 0%,#cc1774 100%)!important;
  color:#fff!important;
  font-size:19px!important;
  font-weight:700!important;
  letter-spacing:.3px;
  padding:16px 34px!important;
  border-radius:999px!important;
  border:2px solid rgba(255,255,255,.85)!important;
  box-shadow:0 12px 22px rgba(0,0,0,.22),0 22px 45px rgba(204,23,116,.38);
  transition:all .25s ease;
}
.hero-button .button:hover{
  filter:brightness(1.06);
  box-shadow:0 14px 26px rgba(0,0,0,.24),0 28px 55px rgba(204,23,116,.45);
}

/* Bulk custom socks form */
.page-id-69797 .wp-block-jetpack-contact-form{
  width:80%!important;
  max-width:850px!important;
  margin:45px auto 60px!important;
  padding:34px!important;
  background:#fff!important;
  border:1px solid #f1c6dc!important;
  border-radius:18px!important;
  box-shadow:0 12px 30px rgba(0,0,0,.08)!important;
  display:block!important;
}
.page-id-69797 .wp-block-jetpack-contact-form input,
.page-id-69797 .wp-block-jetpack-contact-form textarea{
  width:100%!important;
  border:1px solid #ddd!important;
  border-radius:10px!important;
  padding:14px 16px!important;
  font-size:15px!important;
  box-sizing:border-box!important;
}
.page-id-69797 .wp-block-jetpack-contact-form .grunion-field-wrap{margin-bottom:18px!important}
.page-id-69797 .wp-block-jetpack-contact-form button[type="submit"]{
  background:#cc1774!important;
  color:#fff!important;
  border:none!important;
  border-radius:10px!important;
  padding:14px 30px!important;
  font-weight:700!important;
}

/* Portrait product add-to-cart fix */
.product_cat-pet-portraits .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  position:static!important;
  left:auto!important;
}

/* FBS Personalizer layout */
.fbsp-uploader,
.fbsp-upload-box,
.fbsp-personalizer{
  width:100%!important;
  max-width:100%!important;
  margin-top:0px!important;
  margin-bottom:14px!important;
}

.single-product form.cart .woocommerce-variation-add-to-cart{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  margin-top:12px!important;
  clear:both!important;
  position:static!important;
}

.single-product form.cart .quantity,
.single-product form.cart .ux-quantity{
  flex:0 0 auto!important;
  margin:0!important;
  float:none!important;
  position:static!important;
}

.single-product form.cart .single_add_to_cart_button{
  flex:0 0 auto!important;
  position:static!important;
  float:none!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:42px!important;
  padding:0 30px!important;
  white-space:nowrap!important;
}

/* Mobile */
@media(max-width:768px){
  .fbs-free-shipping-box{padding:14px;margin-bottom:20px}
  .fbs-free-shipping-title{font-size:16px}
  .fbs-free-shipping-text{font-size:14px}
  .fbs-free-shipping-bar{height:8px}

  .woocommerce-cart .cross-sells:before{font-size:20px}
  .woocommerce-cart .cross-sells:after{font-size:13px;margin-bottom:15px}
  .woocommerce-cart .cross-sells .box-image img{max-height:110px;object-fit:contain}
  .woocommerce-cart .cross-sells .product-title{font-size:11px;line-height:1.2}
  .woocommerce-cart .cross-sells .price{font-size:12px}
  .woocommerce-cart .cross-sells .box-text{padding-top:5px}

  .fb-rating-row{gap:6px}
  .fb-stars{font-size:20px}
  .fb-rating-text{font-size:16px}

  li.tab{margin:4px!important}
  li.tab>a{
    padding:7px 14px!important;
    font-size:14px!important;
    border-radius:22px!important;
  }
  li.tab img.emoji{width:14px!important;height:14px!important}

  .page-id-69797 .wp-block-jetpack-contact-form{
    width:92%!important;
    padding:24px!important;
  }
}

@media(max-width:550px){
  .fb-trust-bar{
    grid-template-columns:repeat(4,1fr);
    border-radius:16px;
    padding:14px 8px;
    margin:22px auto;
  }
  .fb-trust-item{padding:0 6px}
  .fb-trust-icon{
    width:42px;
    height:42px;
    font-size:20px;
    margin-bottom:8px;
  }
  .fb-trust-item strong{
    font-size:10.5px;
    line-height:1.25;
    margin-bottom:6px;
  }
  .fb-trust-item span{
    font-size:9px;
    line-height:1.25;
  }
}

@media(max-width:480px){
  .custom-cart-button-row{gap:8px!important}
  .custom-cart-button-row .single_add_to_cart_button{
    flex:1 1 auto!important;
    min-width:0!important;
  }

  .single-product form.cart .woocommerce-variation-add-to-cart{
    gap:8px!important;
  }

  .single-product form.cart .single_add_to_cart_button{
    flex:1 1 auto!important;
    min-width:0!important;
  }
}

/* Space between Color swatches and Step 2 */
.single-product .variations .variable-items-wrapper{
    margin-bottom:12px !important;
}

.single_add_to_cart_button.loading,
.single_add_to_cart_button.loading:hover {
    color: #fff !important;
    opacity: .75 !important;
}

.single_add_to_cart_button.loading::before,
.single_add_to_cart_button.loading::after {
    display: none !important;
    content: none !important;
}

.woocommerce-cart dl.variation dt.variation-YourDesign,
.woocommerce-cart dl.variation dd.variation-YourDesign{
    display:block !important;
    float:none !important;
    clear:both !important;
    width:100% !important;
}

.woocommerce-cart dl.variation dt.variation-YourDesign{
    margin-top:4px !important;
    margin-bottom:4px !important;
}

.woocommerce-cart dl.variation dd.variation-YourDesign{
    margin-left:0 !important;
    margin-top:0 !important;
}

.woocommerce-cart dl.variation dd.variation-YourDesign p{
    display:block !important;
    margin:0 !important;
}

.woocommerce-cart dl.variation dd.variation-YourDesign .fbsp-cart-thumbnails{
    display:flex !important;
    gap:6px !important;
    flex-wrap:wrap !important;
    margin-top:4px !important;
}

.woocommerce-cart dl.variation dt.variation-AdditionalFaces,
.woocommerce-cart dl.variation dt.variation-AddedCost{
    font-weight:400 !important;
}

/* Desktop-only full-width quantity + Add to Cart row */
@media only screen and (min-width: 850px) {

    .single-product form.cart .variations_button,
    .single-product form.cart .woocommerce-variation-add-to-cart {
        display: grid !important;
        grid-template-columns: 90px minmax(0, 1fr) !important;
        column-gap: 12px !important;
        align-items: stretch !important;

        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .single-product form.cart .quantity,
    .single-product form.cart .quantity.buttons_added {
        display: flex !important;
        align-items: stretch !important;

        width: 90px !important;
        min-width: 90px !important;
        max-width: 90px !important;

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

    .single-product form.cart .quantity .button,
    .single-product form.cart .quantity input.qty {
        flex: 0 0 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;

        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .single-product form.cart .single_add_to_cart_button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;

        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .single-product form.cart
    .quantity + .single_add_to_cart_button {
        margin-left: 0 !important;
    }
}

@media only screen and (min-width: 850px) {

    /* Put the upload requirement directly under Add to Cart */
    .single-product form.cart
    .woocommerce-variation-add-to-cart
    > .single_add_to_cart_button
    ~ :not(input[type="hidden"]) {
        grid-column: 2 / 3 !important;
        grid-row: 2 !important;
        width: 100% !important;
        margin: 6px 0 0 !important;
        padding: 0 !important;
        text-align: center !important;
        line-height: 1.35 !important;
    }
}

/* Space between photo uploader and Add to Cart row */
.single-product form.cart
.woocommerce-variation-add-to-cart.variations_button {
    margin-top: 20px !important;
}

@media only screen and (max-width: 549px) {
    .single-product form.cart
    .woocommerce-variation-add-to-cart.variations_button {
        margin-top: 20px !important;
    }
}