:root {
    /* Popup */
    --salepify-notification__popup__background-color: #FFFFFF;
    --salepify-notification__popup__border-radius: 6px;
    --salepify-notification__popup__border-width: 0px;
    --salepify-notification__popup__border-color: #1C274C;
    --salepify-notification__popup__width: 425px;
    --salepify-notification__popup__height: 116px;

    /* Image */
    --salepify-notification__image__height: 100;
    --salepify-notification__image__radius: 2px;
    --salepify-notification__image__color: #1C274C;

    /* Header Text */
    --salepify-notification__header__font-size: 14px;
    --salepify-notification__header__font-weight: 700;
    --salepify-notification__header__color: #09244B;

    /* Body Text */
    --salepify-notification__body__font-size: 13px;
    --salepify-notification__body__font-weight: 500;
    --salepify-notification__body__color: #4A4A4A;

    /* Animation */
    --salepify-notification__animation__show: none;
    --salepify-notification__animation__hide: none;
}

/* Container */

.salepify-notification-popup-container {
    position: fixed;
    z-index: 99999999;
    display: flex !important;
    flex-direction: column-reverse;
    gap: 8px;
    max-height: 40%;
    max-width: 90%;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px;
}

.salepify-notification-popup-container::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

.salepify-notification-popup-container::-webkit-scrollbar-track {
    border-radius: 10px;
    background: none;
}

.salepify-notification-popup-container::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.2);
}

.salepify-notification-popup-container::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.4);
}

.salepify-notification-popup-container::-webkit-scrollbar-thumb:active {
    background: rgba(0, 0, 0, .4);
}

/* Popup */

.salepify-notification-popup {
    display: flex;
    padding: 8px;
    align-items: center;
    gap: 16px;
    font-family: inherit;
    max-width: 100%;
    box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25), 
        0px 1px 0px 0px rgba(26, 26, 26, 0.07);
    position: relative;
    transition: all 0.25s ease-in-out;
    background-color: var(--salepify-notification__popup__background-color);
    border-radius: var(--salepify-notification__popup__border-radius);
    border: var(--salepify-notification__popup__border-width) solid 
        var(--salepify-notification__popup__border-color);
    width: var(--salepify-notification__popup__width);
    height: var(--salepify-notification__popup__height);
}

.salepify-notification-popup--show {
    opacity: 1;
    transform: var(--salepify-notification__animation__show);
}

.salepify-notification-popup--hide {
    opacity: 0;
    transform: var(--salepify-notification__animation__hide);
}

/* Image */

.salepify-notification-popup__image {
    display: flex;
    align-items: center;
    justify-content: center;
}

.salepify-notification-popup__image img{
    flex-shrink: 0;
    aspect-ratio: 1/1;
    height: calc(var(--salepify-notification__popup__height) * var(--salepify-notification__image__height) / 100  - var(--salepify-notification__popup__border-width) * 2 - 16px);
    border-radius: var(--salepify-notification__image__radius);
    max-width: calc(var(--salepify-notification__popup__height) * var(--salepify-notification__image__height) / 100  - var(--salepify-notification__popup__border-width) * 2 - 16px);
}

.salepify-notification-popup__image svg{
    width: calc(var(--salepify-notification__popup__height) * var(--salepify-notification__image__height) / 100 - var(--salepify-notification__popup__border-width) * 2 - 16px);
    height: calc(var(--salepify-notification__popup__height) * var(--salepify-notification__image__height) / 100 - var(--salepify-notification__popup__border-width) * 2 - 16px);
}

.salepify-notification-popup__image svg path{
    fill: var(--salepify-notification__image__color);
}

/* Position */

.salepify-notification-popup__position-bottom-right {
    bottom: 13px;
    right: 13px;
    flex-direction: column;
}

.salepify-notification-popup__position-bottom-left {
    bottom: 13px;
    left: 13px;
    flex-direction: column;
}

.salepify-notification-popup__position-bottom-middle {
    bottom: 13px;
    left: calc(50% - var(--salepify-notification__popup__width) / 2);
    flex-direction: column;
}

.salepify-notification-popup__position-center-left {
    top: 50%;
    left: 13px;
}

.salepify-notification-popup__position-center-right {
    top: 50%;
    right: 13px;
}

.salepify-notification-popup__position-top-left {
    top: 13px;
    left: 13px;
}

.salepify-notification-popup__position-top-right {
    top: 13px;
    right: 13px;
}

/* Content */

.salepify-notification-popup__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    align-self: stretch;
    justify-content: center;
}

/* Header */

.salepify-notification-popup__header {
    font-size: var(--salepify-notification__header__font-size);
    font-weight: var(--salepify-notification__header__font-weight);
    color: var(--salepify-notification__header__color);
}

/* Body */

.salepify-notification-popup__body {
    font-size: var(--salepify-notification__body__font-size);
    font-weight: var(--salepify-notification__body__font-weight);
    color: var(--salepify-notification__body__color);
}

.salepify-notification-popup__header,
.salepify-notification-popup__body {
    align-self: stretch;
    font-feature-settings: 'liga' off, 'clig' off;
    font-style: normal;
    line-height: 20px; 
}

/* Close Button */

.salepify-notification-popup__close-btn {
    position: absolute;
    right: 2px;
    top: 1px;
    cursor: pointer;
}

.salepify-notification-popup__close-btn svg path{
    fill: var(--salepify-notification__header__color);
}

@media screen and (max-width: 768px) {
    .salepify-notification-popup__position-bottom-middle {
        max-width: 100%;
        padding: 0 5%;
        left: unset;
    }
}

:root {
    /* Popup */
    --salepify-bogo__popup__border-radius: 12px;
    --salepify-bogo__popup__border-width: 1px;
    --salepify-bogo__popup__border-color: #D9D9D9;
    --salepify-bogo__popup__background-color: #FFFFFF;

    /* Header and subtitle */
    --salepify-bogo__header__font-size: 24px;
    --salepify-bogo__header__font-weight: 600;
    --salepify-bogo__header__color: #1E1E1E;
    --salepify-bogo__subtitle__font-size: 16px;
    --salepify-bogo__subtitle__font-weight: 400;
    --salepify-bogo__subtitle__color: #1E1E1E;
    --salepify-bogo__header__alignment: center;

    /* Offer block */
    --salepify-bogo__offer-block__width: 336px;
    --salepify-bogo__offer-block__border-radius: 3px;
    --salepify-bogo__offer-block__border-color: #CCCCCC;
    --salepify-bogo__offer-block__background-color: #F6F6F6;
    
    /* Product image */
    --salepify-bogo__product-image__border-radius: 4px;
    --salepify-bogo__product-image__border-color: #CCCCCC;

    /* Product title */
    --salepify-bogo__product-title__font-size: 18px;
    --salepify-bogo__product-title__font-weight: 500;
    --salepify-bogo__product-title__color: #111827;

    /* Product price */
    --salepify-bogo__product-price__font-size: 18px;
    --salepify-bogo__product-price__font-weight: 500;
    --salepify-bogo__product-price__color: #FF0000;

    /* Product regular price */
    --salepify-bogo__product-regular-price__font-size: 14px;
    --salepify-bogo__product-regular-price__font-weight: 400;
    --salepify-bogo__product-regular-price__color: #6B7280;

    /* Product quantity */
    --salepify-bogo__product-quantity__font-size: 14px;
    --salepify-bogo__product-quantity__font-weight: 500;
    --salepify-bogo__product-quantity__color: #000000;
    --salepify-bogo__product-quantity__background-color: #00000033;

    /* Button */
    --salepify-bogo__add-button__font-size: 16px;
    --salepify-bogo__add-button__font-weight: 400;
    --salepify-bogo__add-button__color: #F5F5F5;
    --salepify-bogo__add-button__background-color: #2C2C2C;
    --salepify-bogo__add-button__width: 100%;

    /* Decline button */
    --salepify-bogo__decline-button__font-size: 13px;
    --salepify-bogo__decline-button__font-weight: 400;
    --salepify-bogo__decline-button__color: #303030;

    /* Do not show button */
    --salepify-bogo__do-not-show-button__font-size: 13px;
    --salepify-bogo__do-not-show-button__font-weight: 400;
    --salepify-bogo__do-not-show-button__color: #09090B;
}

/* Common class */

#salepify-bogo-wrapper .block-stack {
    display: flex;
    flex-direction: column;
}

#salepify-bogo-wrapper .inline-stack {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
}

#salepify-bogo-wrapper .gap-4 {
    gap: 4px;
}

#salepify-bogo-wrapper .gap-6 {
    gap: 6px;
}

#salepify-bogo-wrapper .gap-8 {
    gap: 8px;
}

#salepify-bogo .gap-12 {
    gap: 12px;
}

#salepify-bogo-wrapper .gap-16 {
    gap: 16px;
}

#salepify-bogo-wrapper .gap-24 {
    gap: 24px;
}

#salepify-bogo-wrapper .align-center {
    align-items: center;
}

#salepify-bogo-wrapper img {
    object-fit: fill;
    width: 100%;
    height: auto;
}

#salepify-bogo *{
    font-family: inherit;
    margin: unset !important;
    box-sizing: border-box;
}

/* Wapper style */

#salepify-bogo-wrapper {
    position: fixed;
    z-index: 1000;
    background-color: rgba(0, 0, 0, 0.4);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    visibility: hidden;
    justify-content: center;
}

.salepify-bogo-wrapper--open {
    visibility: visible !important;
}

#salepify-bogo {
    position: relative;
    min-width: 336px;
    width: 90%;
    max-width: 867px;
    padding: 24px;
    opacity: 0;
    transition: all 0.5s ease-in-out;
    box-shadow:  0px 16px 32px -4px rgba(12, 12, 13, 0.10), 0px 4px 4px -4px rgba(12, 12, 13, 0.05);
    border-radius: var(--salepify-bogo__popup__border-radius);
    border: var(--salepify-bogo__popup__border-width) solid var(--salepify-bogo__popup__border-color);
    background: var(--salepify-bogo__popup__background-color);
}

.salepify-bogo-wrapper--open #salepify-bogo{
    opacity: 1 !important;
}

#salepify-bogo, #salepify-bogo-wrapper, .salepify-bogo-body {
    align-items: center
}

/* Header style */

.salepify-bogo-header {
    padding: 16px 0px;
}

.salepify-bogo-header__title {
    line-height: 120%;
    font-size: var(--salepify-bogo__header__font-size);
    font-weight: var(--salepify-bogo__header__font-weight);
    color: var(--salepify-bogo__header__color);
    text-align: var(--salepify-bogo__header__alignment);
}

.salepify-bogo-header__subtitle {
    line-height: 140%;
    font-size: var(--salepify-bogo__subtitle__font-size);
    font-weight: var(--salepify-bogo__subtitle__font-weight);
    color: var(--salepify-bogo__subtitle__color);
    text-align: var(--salepify-bogo__header__alignment);
}

/* Offer style */

.salepify-bogo-offer {
    padding: 18px;
    box-shadow: 0px 1px 4px 0px #00000040;
    min-width: 336px;
    max-width: 90%;
    width: var(--salepify-bogo__offer-block__width);
    border-radius: var(--salepify-bogo__offer-block__border-radius);
    border: 1px solid var(--salepify-bogo__offer-block__border-color);
    background-color: var(--salepify-bogo__offer-block__background-color);
}

/* Product style */

.salepify-bogo-product {
    align-items: center;
}

/* Product Image style */

.salepify-bogo-product__image {
    display: flex;
    align-items: center;
    width: 200px;
    height: 200px;
    min-width: 150px;
    overflow: hidden;
    border-radius: var(--salepify-bogo__product-image__border-radius);
    border: 0.2px solid var(--salepify-bogo__product-image__border-color);
}

/* Product Title style */

#salepify-bogo .salepify-bogo-product__title {
    text-decoration: none;
    line-height: 20px;
    text-align: center;
    font-size: var(--salepify-bogo__product-title__font-size);
    font-weight: var(--salepify-bogo__product-title__font-weight);
    color: var(--salepify-bogo__product-title__color);
}

#salepify-bogo .salepify-bogo-product__title:hover {
    text-decoration: underline;
}

/* Product Quantity style */

#salepify-bogo .salepify-bogo-product__quantity {
    line-height: 12px;
    text-align: center;
    width: calc(14px + 12px);
    height: calc(14px + 12px);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
    font-size: var(--salepify-bogo__product-quantity__font-size);
    font-weight: var(--salepify-bogo__product-quantity__font-weight);
    color: var(--salepify-bogo__product-quantity__color);
    background-color: var(--salepify-bogo__product-quantity__background-color);
}

/* Product Price style */

#salepify-bogo .salepify-bogo-product__price {
    line-height: 12px;
    font-size: var(--salepify-bogo__product-price__font-size);
    font-weight: var(--salepify-bogo__product-price__font-weight);
    color: var(--salepify-bogo__product-price__color);
}

#salepify-bogo .salepify-bogo-product__compare-price {
    line-height: 20px;
    text-decoration: line-through;
    font-size: var(--salepify-bogo__product-regular-price__font-size);
    font-weight: var(--salepify-bogo__product-regular-price__font-weight);
    color: var(--salepify-bogo__product-regular-price__color);
}

/* Add to cart button style */

.salepify-bogo-add-to-cart-btn{
    height: 50px;
    border-radius: 8px;
    padding: 12px;
    overflow: hidden;
    cursor: pointer;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    align-self: center;
    border: 1px solid var(--salepify-bogo__add-button__background-color);
    background-color: var(--salepify-bogo__add-button__background-color);
    width: var(--salepify-bogo__add-button__width);
}

.salepify-bogo-add-to-cart-btn span {
    line-height: 16px;
    z-index: 20;
    font-size: var(--salepify-bogo__add-button__font-size);
    font-weight: var(--salepify-bogo__add-button__font-weight);
    color: var(--salepify-bogo__add-button__color);
}

.salepify-bogo-add-to-cart-btn::after {
    content: "";
    height: 155px;
    left: -75px;
    opacity: 0.2;
    position: absolute;
    top: -50px;
    transform: rotate(35deg);
    transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
    width: 50px;
    z-index: 100;
    background: var(--salepify-bogo__add-button__color);
}

.salepify-bogo-add-to-cart-btn:hover::after {
    left: 120%;
    transition: all 1s cubic-bezier(0.19, 1, 0.22, 1);
}

.salepify-bogo-add-to-cart-btn--loading::before {
    content: "";
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: 4px solid transparent;
    border-top-color: var(--salepify-bogo__add-button__color);
    border-radius: 50%;
    animation: tlBogoSpinner 1s ease infinite;
    z-index: 20;
}

.salepify-bogo-add-to-cart-btn--loading span {
    visibility: hidden;
    opacity: 0;
}

/* Decline button style */

.salepify-bogo-cancel-btn {
    cursor: pointer;
    padding: 12px;
    line-height: 13px;
    letter-spacing: 0%;
    font-size: var(--salepify-bogo__decline-button__font-size);
    font-weight: var(--salepify-bogo__decline-button__font-weight);
    color: var(--salepify-bogo__decline-button__color);
}

.salepify-bogo-cancel-btn:hover {
    text-decoration: underline;
}

/* Swicth style */

.salepify-bogo-footer__switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 26px;
}

.salepify-bogo-footer__switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.salepify-bogo-footer__slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition: .4s;
    border-radius: 34px;
    background-color: var(--salepify-bogo__popup__background-color); 
    border: 2px solid var(--salepify-bogo__add-button__background-color); 
}

.salepify-bogo-footer__slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 2px;
    transition: .4s;
    border-radius: 50%;
    background-color: var(--salepify-bogo__add-button__background-color); 
}

.salepify-bogo-footer__switch input:checked + .salepify-bogo-footer__slider {
    background-color: var(--salepify-bogo__add-button__background-color);
    border: 2px solid var(--salepify-bogo__add-button__background-color);
}

.salepify-bogo-footer__switch input:checked + .salepify-bogo-footer__slider:before {
    transform: translateX(22px);
    background-color: var(--salepify-bogo__popup__background-color); 
}

.salepify-bogo-footer__text{
    line-height: 20px;
    letter-spacing: 0%;
    font-size: var(--salepify-bogo__do-not-show-button__font-size);
    font-weight: var(--salepify-bogo__do-not-show-button__font-weight);
    color: var(--salepify-bogo__do-not-show-button__color);
}

/* Close button style */

.salepify-bogo-close-btn {
    position: absolute;
    top: 16px;
    right: 18px;
    cursor: pointer;
}

.salepify-bogo-close-btn:hover {
    opacity: 0.7;
}

/* Inline error */

/* ---------- Error start ---------- */

#salepify-bogo-error {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    align-items: flex-start;
    justify-content: center;
    display: none;
}

#salepify-bogo-error svg path {
    fill: #8e0b21;
}

#salepify-bogo-error > .salepify-bogo-error__message{
    line-height: 13px;
    letter-spacing: 0%;
    font-size: var(--salepify-bogo__decline-button__font-size);
    font-weight: var(--salepify-bogo__decline-button__font-weight);
    color: #8e0b21;
}

/* ---------- Error end ---------- */

@keyframes tlBogoSpinner {
    from {
      transform: rotate(0turn);
    }
  
    to {
      transform: rotate(1turn);
    }
}

