/* =================================
GLOBAL WIDTH
================================= */

.fp-main-content {

    width: var(--fp-page-width, min(92%, 1320px));
    max-width: var(--fp-page-max-width, 1320px);

    margin-left: auto;
    margin-right: auto;

}

body.page-template-page-mein-album .fp-main-content,
body:has(.fp-album-page-wrap) .fp-main-content,
body:has(.fp-album-shop) .fp-main-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    overflow-x: clip;
}

/* =================================
PRODUCT PAGE
================================= */

.single-product .product {

    padding-top: 60px;

}

/* PRODUCT GRID */

.single-product .product.type-product {

    display: grid;

    grid-template-columns: 1.1fr 1fr;

    gap: 70px;

    align-items: start;

}

/* REMOVE DEFAULT FLOATS */

.single-product div.product div.images,
.single-product div.product div.summary {

    float: none !important;
    width: 100% !important;

}

/* PRODUCT IMAGE */

.single-product div.product div.images img {

    border-radius: 32px;

    box-shadow: 0 20px 50px rgba(0,0,0,0.08);

}

/* TITLE */

.single-product .product_title {

    font-size: 58px !important;

    line-height: 1.05;

    font-family: 'Bebas Neue', sans-serif;

    margin-bottom: 15px;

}

/* PRICE */

.single-product .price {

    font-size: 38px !important;

    color: #9b7cff !important;

    font-weight: 700;

    margin-bottom: 25px;

}

/* SHORT DESCRIPTION */

.single-product .woocommerce-product-details__short-description {

    font-size: 20px;

    line-height: 1.8;

    color: #555;

    margin-bottom: 30px;

}

/* ADD TO CART BUTTON */

.single-product .single_add_to_cart_button {

    background: #9b7cff !important;

    border-radius: 999px !important;

    padding: 18px 34px !important;

    font-size: 18px !important;

    font-weight: 700 !important;

    transition: 0.25s;

}

.single-product .single_add_to_cart_button:hover {

    background: #7f60ff !important;

    transform: translateY(-2px);

}

/* META */

.single-product .product_meta {

    margin-top: 35px;

    padding-top: 25px;

    border-top: 1px solid rgba(0,0,0,0.08);

    font-size: 15px;

    line-height: 1.8;

}

/* =================================
PRODUCT TABS
================================= */

.woocommerce div.product .woocommerce-tabs {

    margin-top: 60px;

}

.woocommerce div.product .woocommerce-tabs ul.tabs {

    display: flex;

    gap: 15px;

    border: none;

}

.woocommerce div.product .woocommerce-tabs ul.tabs li {

    border: none !important;

    background: #ffffff !important;

    border-radius: 999px !important;

    padding: 10px 22px !important;

}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {

    background: #9b7cff !important;

}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {

    color: white !important;

}

/* =================================
RELATED PRODUCTS
================================= */

.related.products {

    width: 100%;

    margin-top: 60px !important;

}

.related.products h2 {

    font-size: 56px;

    margin-bottom: 40px !important;

    font-family: 'Bebas Neue', sans-serif;

}

/* GRID */

.related.products ul.products {

    display: grid !important;

    grid-template-columns: repeat(auto-fit, minmax(220px, 220px));

    justify-content: center;

    gap: 28px !important;

    padding: 0 !important;

    margin-top: 30px !important;

}

/* CARD */

.related.products ul.products li.product {

    background: #ffffff;

    border-radius: 28px;

    padding: 24px;

    width: 220px !important;

    min-height: 420px;

    margin: 0 !important;

    float: none !important;

    display: flex;

    flex-direction: column;

}

/* IMAGE */

.related.products ul.products li.product img {

    width: 100% !important;

    height: 150px !important;

    object-fit: contain;

    margin-bottom: 18px;

}

/* TITLE */

.related.products ul.products li.product h2,
.related.products ul.products li.product .woocommerce-loop-product__title {

    font-size: 18px !important;

    line-height: 1.25;

    font-weight: 800;

    color: #2b2b2b !important;

    margin-bottom: 14px;

}

/* PRICE */

.related.products ul.products li.product .price {

    font-size: 18px !important;

    font-weight: 800;

    color: #9b7cff !important;

    margin-bottom: 18px;

}

/* BUTTON */

.related.products ul.products li.product .button {

    background: #9b7cff !important;

    color: white !important;

    border-radius: 999px !important;

    padding: 12px 18px !important;

    text-align: center;

    font-weight: 700 !important;

    width: 100%;

    margin-top: auto;

}

/* =================================
CART + CHECKOUT
================================= */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {

    width: 100%;

}

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

@media(max-width: 980px){

    .single-product .product.type-product {

        grid-template-columns: 1fr;

        gap: 40px;

    }

    .related.products ul.products {

        grid-template-columns: repeat(2, 1fr) !important;

    }

}

@media(max-width: 640px){

    .related.products ul.products {

        grid-template-columns: 1fr !important;

    }

}
/* =================================
EMPTY CART BLOCK PRODUCTS
================================= */

/* GRID */

.wc-block-grid__products {

    display: grid !important;

    grid-template-columns: repeat(
        auto-fit,
        minmax(260px,260px)
    ) !important;

    justify-content: center !important;

    gap: 34px !important;

    margin-top: 50px !important;

}


/* CARD */

.wc-block-grid__product {

    background: #ffffff;

    border-radius: 34px;

    padding: 24px !important;

    transition: 0.35s;

    display: flex !important;

    flex-direction: column;

    justify-content: flex-start;

    width: 100% !important;

    max-width: 260px !important;

    overflow: hidden;

    margin: 0 !important;

}


/* HOVER */

.wc-block-grid__product:hover {

    transform: translateY(-8px);

    box-shadow: 0 20px 50px rgba(0,0,0,0.08);

}


/* IMAGE WRAPPER */

.wc-block-grid__product-image {

    margin-bottom: 12px;

}


/* IMAGE */

.wc-block-grid__product-image img {

    width: 100% !important;

    height: 150px !important;

    object-fit: contain;

    transition: 0.35s;

}


/* IMAGE HOVER */

.wc-block-grid__product:hover img {

    transform: scale(1.06);

}


/* TITLE */

.wc-block-grid__product-title {

    font-size: 18px !important;

    line-height: 1.25 !important;

    font-family: 'Bebas Neue', sans-serif;

    text-align: center;

    color: #2b2b2b !important;

    text-decoration: none !important;

    min-height: 76px;

    margin-bottom: 16px;

}


/* PRICE */

.wc-block-grid__product-price {

    font-size: 18px !important;

    font-weight: 700;

    color: #9b7cff !important;

    text-align: center;

    margin-bottom: 20px;

}


/* BUTTON WRAPPER */

.wc-block-grid__product-add-to-cart {

    margin-top: auto;

}


/* BUTTON */

.wc-block-grid__product-add-to-cart a {

    display: block;

    width: 100%;

    background: linear-gradient(
        135deg,
        #9b7cff,
        #7e61ff
    ) !important;

    color: white !important;

    border-radius: 999px !important;

    padding: 14px 18px !important;

    text-align: center;

    font-weight: 700 !important;

    text-decoration: none !important;

    transition: 0.3s;

}


/* BUTTON HOVER */

.wc-block-grid__product-add-to-cart a:hover {

    transform: translateY(-2px);

    box-shadow: 0 12px 30px rgba(126,97,255,0.25);

}


/* REMOVE UNDERLINES */

.wc-block-grid__product a {

    text-decoration: none !important;

}
/* =================================
QUANTITY FIELD
================================= */

.quantity {

    display: flex;

    align-items: center;

}


/* INPUT */

.quantity input.qty {

    width: 90px !important;

    height: 58px !important;

    border-radius: 18px !important;

    border: 2px solid #ece7ff !important;

    background: #f7f5ff !important;

    font-size: 22px !important;

    font-weight: 700;

    color: #2b2b2b;

    text-align: center;

    outline: none;

    transition: 0.25s;

    margin-right: 14px;

}


/* HOVER */

.quantity input.qty:hover,
.quantity input.qty:focus {

    border-color: #9b7cff !important;

    box-shadow: 0 0 0 6px rgba(155,124,255,0.12);

}
/* REMOVE WOOCOMMERCE TAB LINE */

.woocommerce div.product .woocommerce-tabs ul.tabs::before {

    display: none !important;

    border: none !important;

}
/* TABS SPACING */

.woocommerce div.product .woocommerce-tabs ul.tabs {

    margin-bottom: 40px;

}
/* =================================
REAL CART BLOCK FIX
================================= */

.wc-block-cart {

    width: 92% !important;

    max-width: 1400px !important;

    margin: 0 auto !important;

}


/* CART ITEMS */

.wc-block-cart-items__row {

    background: #ffffff !important;

    border-radius: 34px !important;

    overflow: hidden !important;

}


/* REMOVE BORDERS */

.wc-block-cart-items td {

    border: none !important;

    padding: 26px !important;

}


/* IMAGE */

.wc-block-cart-items__image img {

    width: 130px !important;

    max-width: 130px !important;

    border-radius: 24px !important;

}

/* PRODUCT TITLE */

.wc-block-components-product-name {

    font-size: 18px !important;

    line-height: 1.25 !important;

    font-family: 'Bebas Neue', sans-serif !important;

    color: #2b2b2b !important;

    text-decoration: none !important;

}

/* DESCRIPTION */

.wc-block-components-product-details {

    font-size: 16px !important;

    color: #666 !important;

}


/* PRICE */

.wc-block-components-product-price__value,
.wc-block-formatted-money-amount {

    color: #9b7cff !important;

    font-weight: 700 !important;

    font-size: 24px !important;

}


/* QUANTITY BOX */

.wc-block-components-quantity-selector {

    border-radius: 18px !important;

    border: 2px solid #ece7ff !important;

    overflow: hidden !important;

    background: #f7f5ff !important;

}


/* QUANTITY BUTTONS */

.wc-block-components-quantity-selector button {

    background: #f7f5ff !important;

    border: none !important;

    color: #2b2b2b !important;

}


/* QUANTITY INPUT */

.wc-block-components-quantity-selector input {

    border: none !important;

    background: #f7f5ff !important;

    font-weight: 700 !important;

}


/* REMOVE */

.wc-block-cart-item__remove-link {

    color: #ff4f7a !important;

    font-weight: 700 !important;

    text-decoration: none !important;

}


/* TOTALS CARD */

.wp-block-woocommerce-cart-order-summary-block {

    background: #ffffff !important;

    padding: 28px !important;

    border-radius: 34px !important;

}

/* TOTAL TITLE */

.wp-block-woocommerce-cart-order-summary-block h2 {

    font-family: 'Bebas Neue', sans-serif !important;

    font-size: 42px !important;

}


/* CHECKOUT BUTTON */

.wc-block-cart__submit-button {

    background: linear-gradient(
        135deg,
        #9b7cff,
        #7e61ff
    ) !important;

    border-radius: 999px !important;

    color: white !important;

    font-weight: 700 !important;

    border: none !important;

    padding: 18px !important;

    transition: 0.3s !important;

}


/* BUTTON HOVER */

.wc-block-cart__submit-button:hover {

    transform: translateY(-2px);

    box-shadow: 0 14px 30px rgba(126,97,255,0.25);

}
/* TOTAL TITLE */

.wp-block-woocommerce-cart-order-summary-block h2 {

    font-size: 24px !important;

    line-height: 1.1 !important;

    font-family: 'Bebas Neue', sans-serif !important;

}


/* TOTAL TEXT */

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {

    font-size: 16px !important;

}


/* TOTAL PRICE */

.wc-block-components-totals-footer-item .wc-block-formatted-money-amount {

    font-size: 30px !important;

}
/* PRODUCT IMAGE CELL */

.wc-block-cart-item__image {

    width: 140px !important;

    min-width: 140px !important;

}


/* PRODUCT IMAGE */

.wc-block-cart-item__image img {

    width: 120px !important;

    max-width: 120px !important;

    border-radius: 22px !important;

}


/* RIGHT PRICE COLUMN */

.wc-block-cart-item__total {

    text-align: right !important;

}


/* RIGHT PRICE */

.wc-block-cart-item__prices {

    justify-content: flex-end !important;

}


/* TOTAL PRICE */

.wc-block-cart-item__total-price-and-sale-badge-wrapper {

    justify-content: flex-end !important;

}
/* FINAL TOTAL ALIGN */

.wc-block-components-totals-footer-item {

    align-items: center !important;

}


.wc-block-components-totals-footer-item-tax-value {

    margin-left: auto !important;

    text-align: right !important;

}


/* FINAL TOTAL PRICE */

.wc-block-components-totals-footer-item-tax-value .wc-block-formatted-money-amount {

    font-size: 44px !important;

    font-weight: 700 !important;

    color: #9b7cff !important;

}
/* =================================
OUT OF STOCK PRODUCTS
================================= */

/* DISABLE BUTTON */

li.product.outofstock .button,
.wc-block-grid__product.outofstock .button {

    pointer-events: none;

    opacity: 0.5;

}


/* =================================
COMING SOON BADGE
================================= */

li.product.outofstock {

    position: relative !important;

}


/* =================================
COMING SOON BADGE
================================= */

li.product.outofstock {

    position: relative !important;

}


/* BADGE ONLY ON IMAGE/TITLE LINK */

li.product.outofstock .woocommerce-LoopProduct-link::after {

    content: "COMING SOON";

    position: absolute;

    top: 20px;

    right: 20px;

    background: linear-gradient(
        135deg,
        #9b7cff,
        #7e61ff
    );

    color: white;

    padding: 10px 16px;

    border-radius: 999px;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1px;

    z-index: 9999;

    box-shadow: 0 10px 20px rgba(126,97,255,0.25);

    font-family: 'Bebas Neue', sans-serif;

    pointer-events: none;

}