/* =========================================================
   PETAL VAULT — CATEGORY CARDS, PRODUCT PAGE, CART & CHECKOUT
   Loaded AFTER the Basel stylesheet (moved from header.php).
   ========================================================= */


/* =========================================================
   PETAL VAULT — WOOCOMMERCE CATEGORY COLLECTIONS
   PREMIUM FLOWER COLLECTION
   ========================================================= */

.petal-collections {
    --petal-dark: #713a4b;
    --petal-primary: #9b5368;
    --petal-soft: #f6e4e8;
    --petal-light: #fdf4f6;
    --petal-text: #3b242a;

    width: 100%;
    padding: clamp(60px, 7vw, 100px) 20px;

    background:
        linear-gradient(
            180deg,
            #fffafa 0%,
            #fdf4f6 100%
        );

    font-family:
        Arial,
        Helvetica,
        sans-serif;

    overflow: hidden;
}


/* =========================================================
   CONTAINER
   ========================================================= */

.petal-collections-container {
    width: min(1450px, 100%);
    margin: 0 auto;
}


/* =========================================================
   HEADER
   ========================================================= */

.petal-collections-header {
    max-width: 720px;

    margin:
        0 auto
        clamp(40px, 5vw, 60px);

    text-align: center;
}


.petal-collections-eyebrow {
    display: block;

    margin-bottom: 18px;

    font-size: 9px;
    line-height: 1.4;

    font-weight: 700;
    letter-spacing: 3px;

    text-transform: uppercase;

    color: var(--petal-primary);
}


.petal-collections-header h2 {
    margin: 0;
    padding: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(45px, 5vw, 70px);

    line-height: .98;
    font-weight: 400;

    letter-spacing: -3px;

    color: var(--petal-dark);
}


.petal-collections-header h2 em {
    font-style: italic;
    color: var(--petal-primary);
}


.petal-collections-header p {
    max-width: 540px;

    margin:
        20px auto 0;

    font-size: 14px;
    line-height: 1.85;

    color: #76545e;
}


/* =========================================================
   GRID
   ========================================================= */

.petal-collections-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap:
        clamp(14px, 1.5vw, 22px);
}


/* =========================================================
   CATEGORY CARD
   ========================================================= */

.petal-category-card {
    position: relative;

    display: flex;
    align-items: flex-end;

    min-height: 430px;

    overflow: hidden;

    background: #e5cbd1;

    text-decoration: none !important;

    isolation: isolate;

    opacity: 0;

    transform:
        translateY(25px);

    transition:
        opacity .7s ease,
        transform .7s cubic-bezier(.16,1,.3,1);
}


.petal-category-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}


/* =========================================================
   IMAGE
   ========================================================= */

.petal-category-image {
    position: absolute;

    inset: 0;

    z-index: -2;

    width: 100%;
    height: 100%;
}


.petal-category-image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position:
        center center;

    transform:
        scale(1.03);

    filter:
        saturate(.96)
        contrast(1.02);

    transition:
        transform 1.2s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}


.petal-category-card:hover
.petal-category-image img {

    transform:
        scale(1.10);

    filter:
        saturate(1.08)
        contrast(1.03);
}


/* =========================================================
   IMAGE OVERLAY
   ========================================================= */

.petal-category-overlay {
    position: absolute;

    inset: 0;

    z-index: -1;

    background:
        linear-gradient(
            180deg,
            rgba(35,12,19,.03) 0%,
            rgba(35,12,19,.08) 28%,
            rgba(35,12,19,.40) 58%,
            rgba(35,12,19,.86) 100%
        );

    transition:
        background .5s ease;
}


.petal-category-card:hover
.petal-category-overlay {

    background:
        linear-gradient(
            180deg,
            rgba(35,12,19,.06) 0%,
            rgba(35,12,19,.12) 25%,
            rgba(35,12,19,.48) 58%,
            rgba(35,12,19,.90) 100%
        );
}


/* =========================================================
   CARD CONTENT
   ========================================================= */

.petal-category-content {
    position: relative;

    z-index: 2;

    width: 100%;

    padding:
        32px 34px;
}


/* =========================================================
   NUMBER
   ========================================================= */

.petal-category-number {
    display: block;

    margin-bottom: 11px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 13px;
    line-height: 1;

    font-style: italic;

    color: #efb7c6;
}


/* =========================================================
   TITLE
   ========================================================= */

.petal-category-title {
    margin: 0;
    padding: 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(31px, 3vw, 46px);

    line-height: .98;

    font-weight: 400;

    letter-spacing: -1.5px;

    color: #ffffff;

    text-shadow:
        0 3px 18px rgba(0,0,0,.32);

    transition:
        transform .45s cubic-bezier(.16,1,.3,1);
}


.petal-category-card:hover
.petal-category-title {
    transform:
        translateY(-3px);
}


/* =========================================================
   EXPLORE LINK
   ========================================================= */

.petal-category-link {
    display: inline-flex;

    align-items: center;

    gap: 12px;

    margin-top: 18px;

    padding-bottom: 5px;

    border-bottom:
        1px solid
        rgba(255,255,255,.65);

    font-size: 9px;

    font-weight: 700;

    line-height: 1.4;

    letter-spacing: 1.8px;

    text-transform: uppercase;

    color: #ffffff;

    transition:
        gap .3s ease,
        border-color .3s ease;
}


.petal-category-link span {
    font-size: 15px;

    font-weight: 400;

    line-height: 1;

    transition:
        transform .3s ease;
}


.petal-category-card:hover
.petal-category-link {

    gap: 17px;

    border-color:
        #ffffff;
}


.petal-category-card:hover
.petal-category-link span {

    transform:
        translate(3px,-3px);
}


/* =========================================================
   IMAGE LOADING EFFECT
   ========================================================= */

.petal-category-image img {
    opacity: 0;

    transition:
        opacity .7s ease,
        transform 1.2s cubic-bezier(.16,1,.3,1),
        filter .7s ease;
}


.petal-category-image img.is-loaded {
    opacity: 1;
}


/* =========================================================
   LOADING
   ========================================================= */

.petal-category-loading {
    grid-column:
        1 / -1;

    min-height:
        250px;

    display: flex;

    align-items:
        center;

    justify-content:
        center;

    text-align:
        center;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        20px;

    color:
        var(--petal-dark);
}


/* =========================================================
   ERROR / EMPTY
   ========================================================= */

.petal-category-error {
    grid-column:
        1 / -1;

    padding:
        50px 20px;

    text-align:
        center;

    font-size:
        13px;

    line-height:
        1.7;

    color:
        #76545e;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1000px) {

    .petal-collections {
        padding:
            60px 18px 75px;
    }


    .petal-collections-grid {

        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .petal-category-card {
        min-height:
            390px;
    }

}


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

@media (max-width: 650px) {

    .petal-collections {

        padding:
            55px 15px 65px;
    }


    .petal-collections-header {

        margin-bottom:
            40px;
    }


    .petal-collections-header h2 {

        font-size:
            clamp(42px, 13vw, 58px);

        letter-spacing:
            -2px;
    }


    .petal-collections-header p {

        font-size:
            13px;

        line-height:
            1.75;
    }


    .petal-collections-grid {

        grid-template-columns:
            1fr;

        gap:
            14px;
    }


    .petal-category-card {

        min-height:
            390px;
    }


    .petal-category-content {

        padding:
            27px 25px;
    }


    .petal-category-title {

        font-size:
            38px;
    }

}


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

@media (max-width: 400px) {

    .petal-category-card {

        min-height:
            340px;
    }


    .petal-category-title {

        font-size:
            34px;
    }


    .petal-category-content {

        padding:
            25px 22px;
    }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .petal-category-card,
    .petal-category-image img,
    .petal-category-overlay,
    .petal-category-link,
    .petal-category-link span,
    .petal-category-title {

        transition:
            none !important;
    }

}



	    /* =========================================================
   PETAL VAULT — SINGLE PRODUCT ACTION AREA
   ========================================================= */

/* -----------------------------------------
   MAIN CART ROW
   ----------------------------------------- */

.entry-summary form.cart,
.product-summary form.cart {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 20px 0 0 !important;
    padding: 0 !important;
}


/* -----------------------------------------
   QUANTITY
   ----------------------------------------- */

.entry-summary form.cart .quantity,
.product-summary form.cart .quantity {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    height: 48px !important;
    min-height: 48px !important;

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

    border: 1px solid rgba(155, 83, 104, .25) !important;
    border-radius: 0 !important;

    background: #ffffff !important;

    overflow: hidden !important;
    box-shadow: none !important;
}


/* Quantity minus / plus */

.entry-summary form.cart .quantity .minus,
.entry-summary form.cart .quantity .plus,
.product-summary form.cart .quantity .minus,
.product-summary form.cart .quantity .plus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 42px !important;
    height: 46px !important;

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

    border: 0 !important;
    border-radius: 0 !important;

    background: transparent !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;

    color: #9b5368 !important;

    cursor: pointer !important;

    box-shadow: none !important;

    transition:
        background .25s ease,
        color .25s ease !important;
}

.entry-summary form.cart .quantity .minus:hover,
.entry-summary form.cart .quantity .plus:hover,
.product-summary form.cart .quantity .minus:hover,
.product-summary form.cart .quantity .plus:hover {
    background: #fdf2f5 !important;
    color: #713a4b !important;
}


/* Quantity number */

.entry-summary form.cart .quantity .qty,
.product-summary form.cart .quantity .qty {
    width: 48px !important;
    min-width: 48px !important;
    height: 46px !important;

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

    border: 0 !important;
    border-left: 1px solid rgba(155, 83, 104, .12) !important;
    border-right: 1px solid rgba(155, 83, 104, .12) !important;

    border-radius: 0 !important;

    background: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;

    line-height: 46px !important;
    text-align: center !important;

    color: #713a4b !important;

    box-shadow: none !important;
}

.entry-summary form.cart .quantity .qty:focus,
.product-summary form.cart .quantity .qty:focus {
    outline: none !important;
    box-shadow: none !important;
}


/* -----------------------------------------
   ADD TO CART
   ----------------------------------------- */

.entry-summary form.cart .single_add_to_cart_button,
.product-summary form.cart .single_add_to_cart_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 150px !important;
    min-height: 48px !important;

    margin: 0 !important;
    padding: 14px 24px !important;

    border: 1px solid #9b5368 !important;
    border-radius: 0 !important;

    background: #9b5368 !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;
    letter-spacing: 2px !important;

    text-transform: uppercase !important;

    color: #ffffff !important;

    box-shadow: none !important;

    cursor: pointer !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease !important;
}

.entry-summary form.cart .single_add_to_cart_button:hover,
.product-summary form.cart .single_add_to_cart_button:hover {
    background: #713a4b !important;
    border-color: #713a4b !important;

    color: #ffffff !important;

    transform: translateY(-2px);
}


/* -----------------------------------------
   WISHLIST
   ----------------------------------------- */

/*
 * This works when the wishlist element has already
 * been moved inside form.cart by the JS we discussed.
 */

.entry-summary form.cart .wishlist-btn-wrapper,
.product-summary form.cart .wishlist-btn-wrapper {
    display: block !important;

    width: auto !important;

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


/* Wishlist button */

.entry-summary form.cart .basel-wishlist-btn,
.product-summary form.cart .basel-wishlist-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 145px !important;
    min-height: 48px !important;

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

    border: 1px solid rgba(155, 83, 104, .38) !important;
    border-radius: 0 !important;

    background: transparent !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;
    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;

    color: #9b5368 !important;

    text-decoration: none !important;

    box-shadow: none !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease !important;
}

.entry-summary form.cart .basel-wishlist-btn:hover,
.product-summary form.cart .basel-wishlist-btn:hover {
    background: #9b5368 !important;
    border-color: #9b5368 !important;

    color: #ffffff !important;

    transform: translateY(-2px);
}


/* -----------------------------------------
   FALLBACK WISHLIST
   If Basel keeps it outside form.cart
   ----------------------------------------- */

.entry-summary .wishlist-btn-wrapper,
.product-summary .wishlist-btn-wrapper {
    margin-top: 12px;
}

.entry-summary .wishlist-btn-wrapper .basel-wishlist-btn,
.product-summary .wishlist-btn-wrapper .basel-wishlist-btn {
    min-height: 42px !important;
}


/* -----------------------------------------
   COMPARE
   ----------------------------------------- */

.entry-summary .compare-btn-wrapper,
.product-summary .compare-btn-wrapper {
    display: inline-block !important;

    margin-top: 10px !important;
}

.entry-summary .basel-compare-btn,
.product-summary .basel-compare-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;

    margin: 0 !important;
    padding: 11px 18px !important;

    border: 1px solid rgba(155, 83, 104, .35) !important;
    border-radius: 0 !important;

    background: transparent !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;
    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;

    color: #9b5368 !important;

    text-decoration: none !important;

    box-shadow: none !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease !important;
}

.entry-summary .basel-compare-btn:hover,
.product-summary .basel-compare-btn:hover {
    background: #9b5368 !important;
    border-color: #9b5368 !important;

    color: #ffffff !important;

    transform: translateY(-2px);
}


/* -----------------------------------------
   PRODUCT META
   ----------------------------------------- */

.entry-summary .product_meta,
.product-summary .product_meta {
    margin-top: 25px !important;

    padding-top: 20px !important;

    border-top:
        1px solid
        rgba(155, 83, 104, .14) !important;

    font-size: 11px !important;

    color: #9b818b !important;
}

.entry-summary .product_meta a,
.product-summary .product_meta a {
    color: #9b5368 !important;
    text-decoration: none !important;

    transition: color .25s ease;
}

.entry-summary .product_meta a:hover,
.product-summary .product_meta a:hover {
    color: #713a4b !important;
}


/* -----------------------------------------
   SHARE
   ----------------------------------------- */

.entry-summary .product-share,
.product-summary .product-share {
    margin-top: 22px !important;

    padding-top: 20px !important;

    border-top:
        1px solid
        rgba(155, 83, 104, .14) !important;
}

.entry-summary .product-share .share-title,
.product-summary .product-share .share-title {
    display: inline-block;

    margin-right: 12px;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9px !important;
    font-weight: 700 !important;

    letter-spacing: 2px !important;

    text-transform: uppercase !important;

    color: #9b5368 !important;
}

.entry-summary .product-share .social-icons,
.product-summary .product-share .social-icons {
    display: inline-flex !important;
    align-items: center !important;

    gap: 7px !important;

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

.entry-summary .product-share .social-icons li,
.product-summary .product-share .social-icons li {
    margin: 0 !important;
    padding: 0 !important;
}

.entry-summary .product-share .social-icons a,
.product-summary .product-share .social-icons a {
    color: #9b5368 !important;

    transition:
        color .25s ease,
        transform .25s ease;
}

.entry-summary .product-share .social-icons a:hover,
.product-summary .product-share .social-icons a:hover {
    color: #713a4b !important;

    transform: translateY(-2px);
}


/* -----------------------------------------
   MOBILE
   ----------------------------------------- */

@media (max-width: 767px) {

    .entry-summary form.cart,
    .product-summary form.cart {
        gap: 10px !important;
    }

    .entry-summary form.cart .quantity,
    .product-summary form.cart .quantity {
        flex: 0 0 auto !important;
    }

    .entry-summary form.cart .single_add_to_cart_button,
    .product-summary form.cart .single_add_to_cart_button {
        flex: 1 1 auto !important;

        min-width: 0 !important;
    }

    .entry-summary form.cart .wishlist-btn-wrapper,
    .product-summary form.cart .wishlist-btn-wrapper {
        flex: 1 1 100% !important;

        width: 100% !important;
    }

    .entry-summary form.cart .basel-wishlist-btn,
    .product-summary form.cart .basel-wishlist-btn {
        width: 100% !important;
    }

}


/* -----------------------------------------
   VERY SMALL MOBILE
   ----------------------------------------- */

@media (max-width: 480px) {

    .entry-summary form.cart,
    .product-summary form.cart {
        display: grid !important;

        grid-template-columns:
            auto
            1fr !important;

        gap: 10px !important;
    }

    .entry-summary form.cart .quantity,
    .product-summary form.cart .quantity {
        width: auto !important;
    }

    .entry-summary form.cart .single_add_to_cart_button,
    .product-summary form.cart .single_add_to_cart_button {
        width: 100% !important;
    }

    .entry-summary form.cart .wishlist-btn-wrapper,
    .product-summary form.cart .wishlist-btn-wrapper {
        grid-column: 1 / -1 !important;
    }

}


/* =========================================================
   PETAL VAULT — SIDE CART BUTTONS
   FULL INNER WIDTH / VERTICAL
   ========================================================= */

.cart-widget-side .woocommerce-mini-cart__buttons {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;
    max-width: none !important;

    align-items: stretch !important;
    gap: 10px !important;
    margin: 0 !important;

    padding: 5px 0 25px !important;

    box-sizing: border-box !important;
}


/* Full width buttons */
.cart-widget-side .woocommerce-mini-cart__buttons > a,
.cart-widget-side .woocommerce-mini-cart__buttons > .button {
    display: flex !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;

    flex: 0 0 100% !important;
    align-self: stretch !important;

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

    min-height: 46px !important;

    margin: 0 !important;
    padding: 14px 18px !important;

    border-radius: 0 !important;

    box-sizing: border-box !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;
    letter-spacing: 2px !important;

    text-align: center !important;
    text-transform: uppercase !important;

    text-decoration: none !important;

    box-shadow: none !important;
}


/* Space between buttons */
.cart-widget-side .woocommerce-mini-cart__buttons > a + a {
    margin-top: 10px !important;
}


/* =========================================================
   VIEW CART
   ========================================================= */

.cart-widget-side
.woocommerce-mini-cart__buttons
.btn-cart {
    background: transparent !important;

    border: 1px solid #9b5368 !important;

    color: #9b5368 !important;
}

.cart-widget-side
.woocommerce-mini-cart__buttons
.btn-cart:hover {
    background: #9b5368 !important;

    border-color: #9b5368 !important;

    color: #ffffff !important;
}


/* =========================================================
   CHECKOUT
   ========================================================= */

.cart-widget-side
.woocommerce-mini-cart__buttons
.checkout {
    background: #9b5368 !important;

    border: 1px solid #9b5368 !important;

    color: #ffffff !important;
}

.cart-widget-side
.woocommerce-mini-cart__buttons
.checkout:hover {
    background: #713a4b !important;

    border-color: #713a4b !important;

    color: #ffffff !important;
}


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

@media (max-width: 480px) {

    .cart-widget-side
    .woocommerce-mini-cart__buttons {
        padding-bottom: 20px !important;
    }

}

/* =========================================================
   PETAL VAULT — CART PAGE
   ========================================================= */

/* -----------------------------------------
   CART PAGE BASE
   ----------------------------------------- */

.woocommerce-cart .site-content {
    color: #76545e;
}

.woocommerce-cart .woocommerce {
    font-family: Arial, Helvetica, sans-serif;
}


/* -----------------------------------------
   CART TABLE
   ----------------------------------------- */

.woocommerce-cart .shop_table.cart {
    width: 100% !important;

    border-collapse: collapse !important;
    border-spacing: 0 !important;

    background: #ffffff !important;

    border: 1px solid rgba(155, 83, 104, .12) !important;
}


/* Header */

.woocommerce-cart .shop_table.cart thead th {
    padding: 18px 15px !important;

    border-bottom:
        1px solid
        rgba(155, 83, 104, .18) !important;

    background: #fdf2f5 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 9px !important;
    font-weight: 700 !important;

    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;

    color: #9b5368 !important;
}


/* Product rows */

.woocommerce-cart .shop_table.cart tbody tr {
    background: #ffffff !important;

    border-bottom:
        1px solid
        rgba(155, 83, 104, .12) !important;
}

.woocommerce-cart .shop_table.cart tbody tr:last-child {
    border-bottom: 0 !important;
}


/* Cells */

.woocommerce-cart .shop_table.cart tbody td {
    padding: 22px 15px !important;

    vertical-align: middle !important;

    border: 0 !important;

    font-size: 13px !important;

    color: #76545e !important;
}


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

.woocommerce-cart .shop_table.cart .product-thumbnail img {
    width: 85px !important;
    height: 85px !important;

    object-fit: cover !important;

    border:
        1px solid
        rgba(155, 83, 104, .10) !important;
}


/* -----------------------------------------
   PRODUCT NAME
   ----------------------------------------- */

.woocommerce-cart .shop_table.cart .product-name a {
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 18px !important;
    font-weight: 400 !important;

    line-height: 1.35 !important;

    color: #713a4b !important;

    text-decoration: none !important;

    transition: color .25s ease !important;
}

.woocommerce-cart .shop_table.cart .product-name a:hover {
    color: #9b5368 !important;
}


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

.woocommerce-cart .shop_table.cart .product-price,
.woocommerce-cart .shop_table.cart .product-subtotal {
    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 14px !important;

    color: #713a4b !important;
}

.woocommerce-cart .shop_table.cart .product-subtotal {
    font-weight: 700 !important;
}


/* -----------------------------------------
   REMOVE
   ----------------------------------------- */

.woocommerce-cart .shop_table.cart .product-remove a.remove {
    display: flex !important;

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

    width: 25px !important;
    height: 25px !important;

    margin: 0 auto !important;

    border:
        1px solid
        rgba(155, 83, 104, .25) !important;

    border-radius: 50% !important;

    background: transparent !important;

    font-size: 15px !important;

    color: #9b5368 !important;

    text-decoration: none !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease !important;
}

.woocommerce-cart .shop_table.cart .product-remove a.remove:hover {
    background: #9b5368 !important;

    border-color: #9b5368 !important;

    color: #ffffff !important;
}


/* -----------------------------------------
   QUANTITY
   ----------------------------------------- */

.woocommerce-cart .shop_table.cart .quantity {
    display: inline-flex !important;
    align-items: center !important;

    height: 44px !important;

    margin: 0 !important;

    border:
        1px solid
        rgba(155, 83, 104, .22) !important;

    background: #ffffff !important;

    overflow: hidden !important;
}

.woocommerce-cart .shop_table.cart .quantity .minus,
.woocommerce-cart .shop_table.cart .quantity .plus {
    display: flex !important;

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

    width: 38px !important;
    height: 42px !important;

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

    border: 0 !important;

    background: transparent !important;

    font-size: 15px !important;
    font-weight: 400 !important;

    color: #9b5368 !important;

    cursor: pointer !important;

    transition:
        background .25s ease,
        color .25s ease !important;
}

.woocommerce-cart .shop_table.cart .quantity .minus:hover,
.woocommerce-cart .shop_table.cart .quantity .plus:hover {
    background: #fdf2f5 !important;
    color: #713a4b !important;
}

.woocommerce-cart .shop_table.cart .quantity .qty {
    width: 45px !important;
    height: 42px !important;

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

    border: 0 !important;

    border-left:
        1px solid
        rgba(155, 83, 104, .12) !important;

    border-right:
        1px solid
        rgba(155, 83, 104, .12) !important;

    background: #ffffff !important;

    font-size: 13px !important;

    text-align: center !important;

    color: #713a4b !important;

    box-shadow: none !important;
}


/* -----------------------------------------
   CART ACTIONS
   ----------------------------------------- */

.woocommerce-cart .cart-actions {
    margin-top: 20px !important;

    display: flex;
    align-items: center;
    justify-content: space-between;

    flex-wrap: wrap;
}


/* Coupon */

.woocommerce-cart .coupon {
    display: flex !important;
    align-items: stretch !important;

    gap: 10px !important;
}

.woocommerce-cart .coupon .input-text {
    width: 190px !important;
    height: 46px !important;

    padding: 12px 14px !important;

    border:
        1px solid
        rgba(155, 83, 104, .20) !important;

    border-radius: 0 !important;

    background: #ffffff !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 12px !important;

    color: #713a4b !important;

    box-shadow: none !important;
}

.woocommerce-cart .coupon .input-text:focus {
    outline: none !important;

    border-color: #9b5368 !important;

    box-shadow:
        0 0 0 3px
        rgba(155, 83, 104, .06) !important;
}

.woocommerce-cart .coupon .input-text::placeholder {
    color: #bda8b0;
}


/* -----------------------------------------
   GENERIC CART BUTTONS
   ----------------------------------------- */

.woocommerce-cart .cart-actions .button {
    display: inline-flex !important;

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

    min-height: 46px !important;

    margin: 0 !important;
    padding: 13px 22px !important;

    border:
        1px solid
        #9b5368 !important;

    border-radius: 0 !important;

    background: transparent !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 9px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;

    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;

    color: #9b5368 !important;

    box-shadow: none !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        color .25s ease,
        transform .25s ease !important;
}

.woocommerce-cart .cart-actions .button:hover {
    background: #9b5368 !important;

    border-color: #9b5368 !important;

    color: #ffffff !important;

    transform: translateY(-2px);
}


/* -----------------------------------------
   UPDATE CART
   ----------------------------------------- */

.woocommerce-cart .cart-actions button[name="update_cart"] {
    background: #9b5368 !important;

    border-color: #9b5368 !important;

    color: #ffffff !important;
}

.woocommerce-cart .cart-actions button[name="update_cart"]:hover {
    background: #713a4b !important;

    border-color: #713a4b !important;

    color: #ffffff !important;
}

.woocommerce-cart .cart-actions button[name="update_cart"]:disabled {
    opacity: .45 !important;

    cursor: not-allowed !important;

    transform: none !important;
}


/* -----------------------------------------
   CART TOTALS
   ----------------------------------------- */

.woocommerce-cart .cart-collaterals {
    margin-top: 70px !important;
}

.woocommerce-cart .cart_totals {
    max-width: 520px !important;

    margin-left: auto !important;

    padding: 35px !important;

    background:
        linear-gradient(
            145deg,
            #fffafb 0%,
            #fdf2f5 100%
        ) !important;

    border:
        1px solid
        rgba(155, 83, 104, .12) !important;
}

.woocommerce-cart .cart_totals h2 {
    margin: 0 0 28px !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 35px !important;

    line-height: 1.05 !important;

    font-weight: 400 !important;

    letter-spacing: -1.5px !important;

    color: #713a4b !important;
}


/* Totals table */

.woocommerce-cart .cart_totals table {
    width: 100% !important;

    margin: 0 !important;

    border-collapse: collapse !important;
}

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
    padding: 16px 0 !important;

    border-bottom:
        1px solid
        rgba(155, 83, 104, .14) !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 13px !important;

    color: #76545e !important;
}

.woocommerce-cart .cart_totals table th {
    font-weight: 700 !important;
}

.woocommerce-cart .cart_totals table td {
    text-align: right !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td {
    padding-top: 20px !important;

    border-bottom: 0 !important;

    font-size: 15px !important;

    color: #713a4b !important;
}

.woocommerce-cart .cart_totals .order-total .amount {
    font-size: 21px !important;

    font-weight: 700 !important;

    color: #9b5368 !important;
}


/* -----------------------------------------
   PROCEED TO CHECKOUT
   ----------------------------------------- */

.woocommerce-cart .wc-proceed-to-checkout {
    padding: 20px 0 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    display: flex !important;

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

    width: 100% !important;

    min-height: 50px !important;

    margin: 0 !important;

    padding: 15px 25px !important;

    border:
        1px solid
        #9b5368 !important;

    border-radius: 0 !important;

    background: #9b5368 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 10px !important;
    font-weight: 700 !important;

    line-height: 1.2 !important;

    letter-spacing: 2px !important;

    text-transform: uppercase !important;

    color: #ffffff !important;

    text-align: center !important;

    box-shadow: none !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
    background: #713a4b !important;

    border-color: #713a4b !important;

    color: #ffffff !important;

    transform: translateY(-2px);
}


/* -----------------------------------------
   LINKS
   ----------------------------------------- */

.woocommerce-cart a {
    transition: color .25s ease;
}

.woocommerce-cart a:hover {
    color: #9b5368;
}


/* -----------------------------------------
   RESPONSIVE
   ----------------------------------------- */

@media (max-width: 767px) {

    .woocommerce-cart .shop_table.cart thead {
        display: none !important;
    }

    .woocommerce-cart .shop_table.cart,
    .woocommerce-cart .shop_table.cart tbody,
    .woocommerce-cart .shop_table.cart tr,
    .woocommerce-cart .shop_table.cart td {
        display: block !important;
        width: 100% !important;
    }

    .woocommerce-cart .shop_table.cart tbody tr {
        position: relative;

        padding: 20px 0;

        border-bottom:
            1px solid
            rgba(155,83,104,.15) !important;
    }

    .woocommerce-cart .shop_table.cart tbody td {
        padding: 8px 15px !important;

        text-align: left !important;
    }

    .woocommerce-cart .shop_table.cart .product-remove {
        position: absolute;

        top: 15px;
        right: 10px;

        width: auto !important;
    }

    .woocommerce-cart .shop_table.cart .product-thumbnail {
        text-align: center !important;
    }

    .woocommerce-cart .shop_table.cart .product-thumbnail img {
        width: 100px !important;
        height: 100px !important;

        margin: 0 auto !important;
    }

    .woocommerce-cart .shop_table.cart td::before {
        color: #9b5368 !important;

        font-size: 9px !important;
        font-weight: 700 !important;

        letter-spacing: 1.5px !important;

        text-transform: uppercase !important;
    }

    .woocommerce-cart .cart-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        gap: 15px !important;
    }

    .woocommerce-cart .cart-actions > div {
        width: 100% !important;
    }

    .woocommerce-cart .coupon {
        display: flex !important;

        width: 100% !important;
    }

    .woocommerce-cart .coupon .input-text {
        flex: 1 !important;
        width: auto !important;
    }

    .woocommerce-cart .coupon .button {
        flex: 0 0 auto !important;
    }

    .woocommerce-cart .cart_totals {
        max-width: none !important;

        margin-top: 35px !important;

        padding: 25px 20px !important;
    }

}


@media (max-width: 480px) {

    .woocommerce-cart .shop_table.cart .product-name a {
        font-size: 16px !important;
    }

    .woocommerce-cart .coupon {
        flex-direction: column !important;
    }

    .woocommerce-cart .coupon .input-text,
    .woocommerce-cart .coupon .button {
        width: 100% !important;
    }

}
	    
	    
	    /* =========================================================
   PETAL VAULT — CHECKOUT PAGE
   ========================================================= */


/* =========================================================
   PAGE BASE
   ========================================================= */

.woocommerce-checkout .site-content {
    color: #76545e;
}

.woocommerce-checkout .woocommerce {
    font-family: Arial, Helvetica, sans-serif;
}

.woocommerce-checkout h3 {
    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-weight: 400 !important;

    color: #713a4b !important;
}


/* =========================================================
   COUPON NOTICE
   ========================================================= */

.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 30px !important;
}

.woocommerce-checkout .woocommerce-info {
    margin: 0 !important;
    padding: 15px 18px !important;

    border: 1px solid rgba(155, 83, 104, .15) !important;

    border-radius: 0 !important;

    background: #fdf2f5 !important;

    font-size: 12px !important;
    line-height: 1.6 !important;

    color: #76545e !important;
}

.woocommerce-checkout .woocommerce-info::before {
    display: none !important;
}

.woocommerce-checkout .woocommerce-info a {
    color: #9b5368 !important;

    font-weight: 700 !important;

    text-decoration: none !important;
}

.woocommerce-checkout .woocommerce-info a:hover {
    color: #713a4b !important;
}


/* =========================================================
   COUPON FORM
   ========================================================= */

.woocommerce-checkout .checkout_coupon {
    padding: 20px !important;

    border:
        1px solid
        rgba(155, 83, 104, .12) !important;

    background: #fffafb !important;
}

.woocommerce-checkout .checkout_coupon .input-text {
    width: 100% !important;

    min-height: 46px !important;

    padding: 12px 14px !important;

    border:
        1px solid
        rgba(155, 83, 104, .20) !important;

    border-radius: 0 !important;

    background: #ffffff !important;

    box-shadow: none !important;

    font-size: 12px !important;

    color: #713a4b !important;
}

.woocommerce-checkout .checkout_coupon .input-text:focus {
    outline: none !important;

    border-color: #9b5368 !important;

    box-shadow:
        0 0 0 3px
        rgba(155, 83, 104, .06) !important;
}

.woocommerce-checkout .checkout_coupon button {
    min-height: 46px !important;

    padding: 13px 20px !important;

    border:
        1px solid
        #9b5368 !important;

    border-radius: 0 !important;

    background: #9b5368 !important;

    font-size: 9px !important;
    font-weight: 700 !important;

    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;

    color: #ffffff !important;

    box-shadow: none !important;
}

.woocommerce-checkout .checkout_coupon button:hover {
    background: #713a4b !important;

    border-color: #713a4b !important;

    color: #ffffff !important;
}


/* =========================================================
   BILLING / CHECKOUT COLUMNS
   ========================================================= */

.woocommerce-checkout #customer_details {
    margin-left: -10px !important;
    margin-right: -10px !important;
}

.woocommerce-checkout #customer_details > div,
.woocommerce-checkout .checkout-order-review {
    padding-left: 10px !important;
    padding-right: 10px !important;
}


/* =========================================================
   SECTION HEADINGS
   ========================================================= */

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
    margin: 0 0 28px !important;

    padding: 0 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size: 35px !important;

    line-height: 1.05 !important;

    font-weight: 400 !important;

    letter-spacing: -1px !important;

    color: #713a4b !important;
}

.woocommerce-checkout .woocommerce-additional-fields h3 {
    margin-top: 45px !important;
}


/* =========================================================
   FORM ROWS
   ========================================================= */

.woocommerce-checkout .form-row {
    margin-bottom: 18px !important;
}

.woocommerce-checkout .form-row label {
    display: block !important;

    margin-bottom: 8px !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 9px !important;

    font-weight: 700 !important;

    line-height: 1.2 !important;

    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;

    color: #9b5368 !important;
}

.woocommerce-checkout .form-row label .optional,
.woocommerce-checkout .form-row label .required {
    font-size: inherit !important;
}


/* =========================================================
   INPUTS / SELECTS / TEXTAREA
   ========================================================= */

.woocommerce-checkout .woocommerce-input-wrapper {
    display: block !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea.input-text,
.woocommerce-checkout select {
    width: 100% !important;

    min-height: 48px !important;

    padding:
        13px
        14px !important;

    border:
        1px solid
        rgba(155, 83, 104, .20) !important;

    border-radius: 0 !important;

    background: #ffffff !important;

    box-shadow: none !important;

    outline: none !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 13px !important;

    line-height: 1.5 !important;

    color: #713a4b !important;

    transition:
        border-color .25s ease,
        box-shadow .25s ease !important;
}

.woocommerce-checkout textarea.input-text {
    min-height: 120px !important;

    resize: vertical !important;
}

.woocommerce-checkout input.input-text::placeholder,
.woocommerce-checkout textarea.input-text::placeholder {
    color: #bba6ae !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea.input-text:focus,
.woocommerce-checkout select:focus {
    border-color: #9b5368 !important;

    box-shadow:
        0 0 0 3px
        rgba(155, 83, 104, .06) !important;
}


/* =========================================================
   SELECT2
   ========================================================= */

.woocommerce-checkout .select2-container {
    width: 100% !important;
}

.woocommerce-checkout .select2-container--default
.select2-selection--single {
    height: 48px !important;

    border:
        1px solid
        rgba(155, 83, 104, .20) !important;

    border-radius: 0 !important;

    background: #ffffff !important;

    box-shadow: none !important;
}

.woocommerce-checkout .select2-container--default
.select2-selection--single
.select2-selection__rendered {
    padding-left: 14px !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 13px !important;

    line-height: 48px !important;

    color: #713a4b !important;
}

.woocommerce-checkout .select2-container--default
.select2-selection--single
.select2-selection__arrow {
    height: 46px !important;

    right: 8px !important;
}

.woocommerce-checkout .select2-container--default
.select2-container--focus
.select2-selection--single,
.woocommerce-checkout .select2-container--open
.select2-selection--single {
    border-color: #9b5368 !important;
}


/* =========================================================
   ORDER NOTES
   ========================================================= */

.woocommerce-checkout #order_comments {
    min-height: 120px !important;
}


/* =========================================================
   ORDER REVIEW BOX
   ========================================================= */

.woocommerce-checkout .checkout-order-review {
    padding:
        35px !important;

    background:
        linear-gradient(
            145deg,
            #fffafb 0%,
            #fdf2f5 100%
        ) !important;

    border:
        1px solid
        rgba(155, 83, 104, .12) !important;
}

.woocommerce-checkout #order_review_heading {
    margin-bottom: 25px !important;
}


/* =========================================================
   ORDER TABLE
   ========================================================= */

.woocommerce-checkout .woocommerce-checkout-review-order-table {
    width: 100% !important;

    margin: 0 !important;

    border-collapse: collapse !important;

    background: transparent !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
thead th {
    padding:
        0
        0
        14px !important;

    border-bottom:
        1px solid
        rgba(155, 83, 104, .18) !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 9px !important;

    font-weight: 700 !important;

    letter-spacing: 1.8px !important;

    text-transform: uppercase !important;

    color: #9b5368 !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
tbody td {
    padding:
        15px
        0 !important;

    border-bottom:
        1px solid
        rgba(155, 83, 104, .12) !important;

    font-size: 13px !important;

    line-height: 1.5 !important;

    color: #76545e !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
tbody td.product-total {
    text-align: right !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
.product-name {
    color: #713a4b !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
.product-quantity {
    color: #9b5368 !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
tfoot th,
.woocommerce-checkout
.woocommerce-checkout-review-order-table
tfoot td {
    padding:
        16px
        0 !important;

    border-bottom:
        1px solid
        rgba(155, 83, 104, .12) !important;

    font-size: 13px !important;

    color: #76545e !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
tfoot td {
    text-align: right !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
tfoot .order-total th,
.woocommerce-checkout
.woocommerce-checkout-review-order-table
tfoot .order-total td {
    padding-top: 20px !important;

    border-bottom: 0 !important;

    font-size: 15px !important;

    color: #713a4b !important;
}

.woocommerce-checkout
.woocommerce-checkout-review-order-table
tfoot .order-total .amount {
    font-size: 21px !important;

    font-weight: 700 !important;

    color: #9b5368 !important;
}


/* =========================================================
   PAYMENT AREA
   ========================================================= */

.woocommerce-checkout #payment {
    margin-top: 25px !important;

    background: transparent !important;

    border: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    margin: 0 !important;
    padding: 0 !important;

    border-bottom: 0 !important;
}

.woocommerce-checkout #payment .woocommerce-info {
    margin-bottom: 20px !important;

    background: #fffafb !important;
}


/* =========================================================
   PRIVACY POLICY
   ========================================================= */

.woocommerce-checkout .woocommerce-privacy-policy-text {
    margin:
        20px
        0 !important;

    font-size: 10px !important;

    line-height: 1.7 !important;

    color: #9b818b !important;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: #9b5368 !important;

    text-decoration: none !important;
}


/* =========================================================
   PLACE ORDER
   ========================================================= */

.woocommerce-checkout #place_order {
    display: flex !important;

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

    width: 100% !important;

    min-height: 52px !important;

    margin-top: 8px !important;

    padding:
        15px
        25px !important;

    border:
        1px solid
        #9b5368 !important;

    border-radius: 0 !important;

    background: #9b5368 !important;

    font-family:
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 10px !important;

    font-weight: 700 !important;

    line-height: 1.2 !important;

    letter-spacing: 2px !important;

    text-transform: uppercase !important;

    color: #ffffff !important;

    box-shadow: none !important;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease !important;
}

.woocommerce-checkout #place_order:hover {
    background: #713a4b !important;

    border-color: #713a4b !important;

    color: #ffffff !important;

    transform: translateY(-2px);
}


/* =========================================================
   UPDATE TOTALS
   ========================================================= */

.woocommerce-checkout #payment button[name="woocommerce_checkout_update_totals"] {
    border:
        1px solid
        #9b5368 !important;

    border-radius: 0 !important;

    background: transparent !important;

    color: #9b5368 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

    .woocommerce-checkout .checkout-order-review {
        margin-top: 40px !important;
    }

}


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

@media (max-width: 767px) {

    .woocommerce-checkout .woocommerce-billing-fields h3,
    .woocommerce-checkout .woocommerce-additional-fields h3,
    .woocommerce-checkout #order_review_heading {
        font-size: 31px !important;
    }

    .woocommerce-checkout .checkout-order-review {
        padding:
            25px
            20px !important;
    }

    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100% !important;

        float: none !important;

        margin-right: 0 !important;
    }

    .woocommerce-checkout .checkout_coupon .form-row-first,
    .woocommerce-checkout .checkout_coupon .form-row-last {
        width: 100% !important;

        float: none !important;
    }

    .woocommerce-checkout .checkout_coupon button {
        width: 100% !important;
    }

}


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

@media (max-width: 480px) {

    .woocommerce-checkout .woocommerce-billing-fields h3,
    .woocommerce-checkout .woocommerce-additional-fields h3,
    .woocommerce-checkout #order_review_heading {
        font-size: 28px !important;
    }

    .woocommerce-checkout .checkout-order-review {
        padding:
            22px
            16px !important;
    }

}
