/* =========================================================
   LILYEE CART — CART.CSS
   ========================================================= */


/* =========================================================
   1. GLOBAL CART LAYOUT
   ========================================================= */

.ct-woocommerce-cart-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    gap: clamp(32px, 5vw, 60px) !important;

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

    align-items: start !important;
    box-sizing: border-box !important;
}


/* =========================================================
   2. LILYEE CART COLUMNS
   ========================================================= */

/*
 * .lilyee-cart-layout is kept in the PHP markup as a semantic
 * wrapper, but it does not create a second grid. Its children
 * participate directly in the Blocksy cart grid above.
 */
.lilyee-cart-layout {
    display: contents;
}

.lilyee-cart-main,
.lilyee-cart-sidebar {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.lilyee-cart-main {
    grid-column: 1 !important;
}

.lilyee-cart-sidebar {
    grid-column: 2 !important;
}


/* =========================================================
   3. CART FORM / HORIZONTAL SCROLL
   ========================================================= */

.woocommerce-cart-form {
    width: 100%;
    max-width: 100%;

    min-width: 0;

    box-sizing: border-box;

    overflow-x: auto;
    overflow-y: visible;

    -webkit-overflow-scrolling: touch;
}


/* Keep wide tables from destroying the layout */
.woocommerce-cart-form table.shop_table {
    width: 100%;
    min-width: 720px;

    margin: 0;

    border-collapse: collapse;
    border-spacing: 0;
}


/* =========================================================
   4. HIDE NATIVE CART CONTROLS
   ========================================================= */

button[name="update_cart"] {
    display: none !important;
}

.woocommerce-cart-form a.remove {
    display: none !important;
}


/* =========================================================
   5. CART TABLE
   ========================================================= */

.woocommerce-cart-form table.shop_table th,
.woocommerce-cart-form table.shop_table td {
    box-sizing: border-box;
}

.woocommerce-cart-form table.shop_table thead th {
    padding: 0 0 1rem;

    border-bottom: 1px solid rgba(185, 156, 203, 0.18);

    color: #30204f;

    font-size: 0.72rem;
    font-weight: 700;

    text-align: left;
}

.woocommerce-cart-form table.shop_table tbody td {
    padding: 1rem 0;

    border-bottom: 1px solid rgba(185, 156, 203, 0.14);

    vertical-align: middle;
}


/* =========================================================
   6. PRODUCT IMAGE
   ========================================================= */

.woocommerce-cart-form .product-thumbnail {
    width: 82px;
    padding-right: 1rem;
}

.woocommerce-cart-form .product-thumbnail img {
    display: block;

    width: 66px;
    height: 66px;

    object-fit: cover;

    border-radius: 2px;
}


/* =========================================================
   7. PRODUCT NAME
   ========================================================= */

.woocommerce-cart-form .product-name {
    color: #30204f;
    font-size: 0.84rem;

    min-width: 0;
}

.woocommerce-cart-form .product-name a {
    color: inherit;
    text-decoration: none;
}

.woocommerce-cart-form .product-name a:hover {
    color: #80628f;
}


/* =========================================================
   8. QUANTITY
   ========================================================= */

.woocommerce-cart-form .product-quantity {
    width: 125px;
}

.woocommerce-cart-form .quantity {
    display: inline-flex;

    align-items: center;
    justify-content: center;
}

.woocommerce-cart-form .quantity input.qty {
    width: 72px;
    height: 30px;

    padding: 0 8px;

    box-sizing: border-box;

    border: 1px solid #b99ccb;
    border-radius: 4px;

    background: #faf8fb;
    color: #30204f;

    text-align: center;

    font-size: 0.78rem;
}


/* =========================================================
   9. SUBTOTAL
   ========================================================= */

.woocommerce-cart-form .product-subtotal {
    color: #30204f;

    font-size: 0.78rem;

    white-space: nowrap;
}

.lilyee-price-qty {
    display: inline-flex;

    align-items: center;

    gap: 0.45rem;
}

.lilyee-price-qty .multiply {
    color: #8b8490;
}


/* =========================================================
   10. CART ACTIONS
   ========================================================= */

.woocommerce-cart-form .actions {
    padding: 0 !important;

    border: 0 !important;
}


/* =========================================================
   11. COUPON
   ========================================================= */

.lilyee-cart-coupon {
    width: 100%;
    max-width: 100%;

    margin: 0 0 1rem;
    padding: 1.25rem;

    box-sizing: border-box;

    background: #fffefc;

    border: 1px solid rgba(185, 156, 203, 0.18);
    border-radius: 20px;

    box-shadow: 0 12px 30px rgba(80, 78, 74, 0.05);
}

.lilyee-cart-coupon h3 {
    margin: 0 0 0.9rem;

    color: #30204f;

    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 600;

    line-height: 1.2;
}

.lilyee-cart-coupon form.coupon {
    display: flex;

    align-items: stretch;

    gap: 0.55rem;

    width: 100%;
    margin: 0;
}

.lilyee-cart-coupon #coupon_code {
    flex: 1 1 auto;

    min-width: 0;
    width: 100%;
    height: 46px;

    margin: 0;
    padding: 0 16px;

    box-sizing: border-box;

    border: 1px solid rgba(185, 156, 203, 0.28);
    border-radius: 999px;

    background: #faf8ff;
    color: #30204f;

    font-family: inherit;
    font-size: 0.85rem;

    outline: none;

    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease;
}

.lilyee-cart-coupon #coupon_code::placeholder {
    color: #8c8592;
    opacity: 1;
}

.lilyee-cart-coupon #coupon_code:focus {
    background: #fff;
    border-color: #b99ccb;

    box-shadow: 0 0 0 3px rgba(185, 156, 203, 0.12);
}

.lilyee-cart-coupon button[name="apply_coupon"] {
    flex: 0 0 auto;

    min-width: 90px;
    min-height: 46px;

    padding: 0 1.15rem;

    border: 0;
    border-radius: 999px;

    background: #b99ccb;
    color: #fff;

    font-family: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;

    cursor: pointer;

    transition:
        background-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}

.lilyee-cart-coupon button[name="apply_coupon"]:hover,
.lilyee-cart-coupon button[name="apply_coupon"]:focus-visible {
    background: #8a62b8;
    color: #fff;

    transform: translateY(-1px);

    box-shadow: 0 8px 18px rgba(138, 98, 184, 0.18);
}


/* =========================================================
   12. CART TOTALS
   ========================================================= */

.lilyee-cart-sidebar .cart_totals {
    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: clamp(1.4rem, 3vw, 2rem);

    box-sizing: border-box;

    background: #fffefc;

    border: 1px solid rgba(185, 156, 203, 0.18);
    border-radius: 24px;

    box-shadow: 0 18px 50px rgba(80, 78, 74, 0.08);

    color: #30204f;
}

.lilyee-cart-sidebar .cart_totals > h2,
.lilyee-cart-sidebar .cart_totals > h3 {
    margin: 0 0 1.25rem;

    color: #30204f;

    font-family: var(--font-display);
    font-size: 1.15rem;
    font-weight: 600;

    line-height: 1.2;
}

.lilyee-cart-sidebar .cart_totals table {
    width: 100%;

    margin: 0;

    border: 0;

    border-collapse: collapse;
}

.lilyee-cart-sidebar .cart_totals tr,
.lilyee-cart-sidebar .cart_totals th,
.lilyee-cart-sidebar .cart_totals td {
    border: 0 !important;
}


/* Subtotal */

.lilyee-cart-sidebar .cart_totals .cart-subtotal th,
.lilyee-cart-sidebar .cart_totals .cart-subtotal td {
    padding: 0.75rem 0;

    font-size: 0.92rem;
    line-height: 1.4;
}

.lilyee-cart-sidebar .cart_totals .cart-subtotal th {
    color: #30204f;

    font-weight: 600;

    text-align: left;
}

.lilyee-cart-sidebar .cart_totals .cart-subtotal td {
    color: #30204f;

    font-weight: 500;

    text-align: right;
}


/* Shipping */

.lilyee-cart-sidebar .cart_totals .woocommerce-shipping-totals th,
.lilyee-cart-sidebar .cart_totals .woocommerce-shipping-totals td {
    padding: 0.75rem 0;
}


/* =========================================================
   13. DISCOUNT
   ========================================================= */

.lilyee-cart-sidebar .cart_totals .cart-discount th {
    color: #504e4a !important;
    font-weight: 600;
}

.lilyee-cart-sidebar .cart_totals .cart-discount td {
    color: #504e4a;

    text-align: right;
}

.lilyee-cart-sidebar .cart_totals .cart-discount td .amount {
    color: #3d9b55 !important;
    font-weight: 600;
}

.lilyee-cart-sidebar
.cart_totals
.cart-discount
.woocommerce-remove-coupon {
    display: inline-flex !important;

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

    width: 18px;
    height: 18px;

    margin-left: 5px;
    padding: 0;

    border-radius: 50%;

    background: #f4dede;
    color: #b84b4b !important;

    font-size: 0 !important;
    font-weight: 700;

    line-height: 1;

    text-decoration: none !important;
    vertical-align: middle;

    transition:
        background 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.lilyee-cart-sidebar
.cart_totals
.cart-discount
.woocommerce-remove-coupon::before {
    content: "×";

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

.lilyee-cart-sidebar
.cart_totals
.cart-discount
.woocommerce-remove-coupon:hover {
    background: #b84b4b;
    color: #fff !important;

    transform: scale(1.08);
}


/* =========================================================
   14. ORDER TOTAL
   ========================================================= */

.lilyee-cart-sidebar .cart_totals .order-total th,
.lilyee-cart-sidebar .cart_totals .order-total td {
    padding: 1.1rem 0.85rem;

    background: #faf8ff;

    border-top: 1px solid rgba(185, 156, 203, 0.16) !important;
    border-bottom: 1px solid rgba(185, 156, 203, 0.16) !important;
}

.lilyee-cart-sidebar .cart_totals .order-total th {
    border-radius: 16px 0 0 16px;

    color: #30204f;

    font-size: 1.05rem;
    font-weight: 700;

    text-align: left;
}

.lilyee-cart-sidebar .cart_totals .order-total td {
    border-radius: 0 16px 16px 0;

    color: #30204f;

    font-size: 1rem;
    font-weight: 800;

    text-align: right;
}

.lilyee-cart-sidebar .cart_totals .amount {
    color: inherit;
}


/* =========================================================
   15. CHECKOUT CTA
   ========================================================= */

.lilyee-cart-sidebar .wc-proceed-to-checkout {
    display: none !important;
}

.lilyee-cart-place-order {
    width: 100%;

    margin-top: 1rem;
}

.lilyee-cart-place-order__button {
    display: inline-flex;

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

    width: 100%;
    min-height: 3.65rem;

    margin: 0;
    padding: 0 1.5rem;

    box-sizing: border-box;

    border: 0;
    border-radius: 999px;

    background: #b99ccb;
    color: #fff;

    font-family: inherit;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.01em;

    cursor: pointer;

    box-shadow: 0 10px 24px rgba(127, 91, 181, 0.18);

    transition:
        background-color 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease,
        opacity 180ms ease;
}

.lilyee-cart-place-order__button:hover:not(:disabled),
.lilyee-cart-place-order__button:focus-visible {
    background: #704ca8;
    color: #fff;

    transform: translateY(-1px);

    box-shadow: 0 14px 28px rgba(127, 91, 181, 0.22);
}

.lilyee-cart-place-order__button:disabled {
    cursor: not-allowed;
    opacity: 0.55;

    box-shadow: none;
}

.lilyee-cart-place-order__button.is-loading {
    cursor: wait;
}

.lilyee-cart-place-order__label[hidden],
.lilyee-cart-place-order__loading[hidden],
.lilyee-cart-place-order__error[hidden] {
    display: none !important;
}

.lilyee-cart-place-order__error {
    margin-bottom: 0.8rem;
    padding: 0.75rem 0.9rem;

    border: 1px solid rgba(190, 70, 70, 0.18);
    border-radius: 10px;

    background: rgba(190, 70, 70, 0.06);
    color: #8a3d3d;

    font-size: 0.78rem;
    line-height: 1.5;
}


/* =========================================================
   16. DELIVERY DETAILS
   ========================================================= */

.lilyee-cart-delivery {
    width: 100%;
    max-width: 100%;

    margin: 0 0 1.5rem;
}

.lilyee-cart-delivery__header {
    margin-bottom: 0.65rem;
}

.lilyee-cart-delivery__eyebrow {
    display: block;

    color: #6f6875;

    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;

    line-height: 1.4;

    text-transform: uppercase;
}


/* Address card */

.lilyee-cart-delivery__card {
    position: relative;

    display: grid;

    grid-template-columns:
        2.5rem
        minmax(0, 1fr)
        max-content;

    align-items: start;

    gap: 0.9rem;

    width: 100%;
    max-width: 100%;

    padding: 1.2rem 1.25rem;

    box-sizing: border-box;

    background: #fffefc;

    border: 1px solid rgba(185, 156, 203, 0.22);
    border-radius: 20px;

    box-shadow: 0 10px 28px rgba(80, 78, 74, 0.05);
}

.lilyee-cart-delivery__location-icon {
    display: flex;

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

    width: 2.5rem;
    height: 2.5rem;

    border-radius: 50%;

    background: rgba(185, 156, 203, 0.12);
    color: #80628f;
}

.lilyee-cart-delivery__location-icon .material-symbols-outlined {
    font-size: 1.45rem;
}

.lilyee-cart-delivery__details {
    min-width: 0;
}

.lilyee-cart-delivery__details h3 {
    margin: 0 0 0.3rem;

    color: #30204f;

    font-size: 1rem;
    font-weight: 700;

    line-height: 1.35;
}

.lilyee-cart-delivery__address {
    max-width: 680px;

    margin: 0;

    color: #514c57;

    font-size: 0.9rem;
    line-height: 1.55;

    overflow-wrap: break-word;
}

.lilyee-cart-delivery__contact {
    display: flex;

    align-items: center;
    flex-wrap: wrap;

    gap: 0.45rem;

    margin: 0.35rem 0 0;

    color: #77717c;

    font-size: 0.82rem;
    line-height: 1.5;

    overflow-wrap: anywhere;
}

.lilyee-cart-delivery__separator {
    color: rgba(80, 78, 74, 0.35);
}


/* Change button */

.lilyee-cart-delivery__change {
    display: inline-flex;

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

    flex-shrink: 0;

    width: max-content;
    min-height: 2.5rem;

    padding: 0 1.1rem;

    border: 1px solid rgba(185, 156, 203, 0.45);
    border-radius: 999px;

    background: transparent;
    color: #80628f;

    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;

    text-decoration: none;
    text-transform: uppercase;

    white-space: nowrap;

    cursor: pointer;

    transition:
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.lilyee-cart-delivery__change:hover,
.lilyee-cart-delivery__change:focus-visible {
    background: #b99ccb;
    border-color: #b99ccb;
    color: #fff;

    transform: translateY(-1px);
}


/* Shipping */

.lilyee-cart-delivery__shipping {
    display: flex;

    align-items: center;

    gap: 0.85rem;

    margin-top: 0.7rem;
    padding: 0.9rem 1.1rem;

    box-sizing: border-box;

    border: 1px solid rgba(185, 156, 203, 0.14);
    border-radius: 16px;

    background: #faf8ff;
}

.lilyee-cart-delivery__shipping-icon {
    display: flex;

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

    flex: 0 0 auto;

    width: 2rem;
    height: 2rem;

    border-radius: 50%;

    background: rgba(185, 156, 203, 0.12);
    color: #80628f;
}

.lilyee-cart-delivery__shipping-icon .material-symbols-outlined {
    font-size: 1.15rem;
}

.lilyee-cart-delivery__shipping-copy {
    display: flex;

    align-items: center;
    flex-wrap: wrap;

    gap: 0.6rem;

    min-width: 0;
}

.lilyee-cart-delivery__shipping-copy strong {
    color: #30204f;

    font-size: 0.86rem;
    font-weight: 700;
}

.lilyee-cart-delivery__shipping-copy span {
    display: inline-flex;

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

    min-height: 1.45rem;

    padding: 0 0.55rem;

    border-radius: 5px;

    background: #39b96b;
    color: #fff;

    font-size: 0.7rem;
    font-weight: 800;
}


/* =========================================================
   17. ADDRESS FORM
   ========================================================= */

.lilyee-cart-delivery__form {
    margin-top: 0.75rem;
}

.lilyee-cart-delivery__form[hidden] {
    display: none 
}

.lilyee-address-form {
    padding: 1.25rem;

    box-sizing: border-box;

    border: 1px solid rgba(185, 156, 203, 0.22);
    border-radius: 20px;

    background: #fffefc;

    box-shadow: 0 10px 28px rgba(80, 78, 74, 0.05);
}

.lilyee-address-form__header {
    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 1rem;

    margin-bottom: 1.25rem;
}

.lilyee-address-form__eyebrow {
    display: block;

    margin-bottom: 0.3rem;

    color: #b99ccb;

    font-size: 0.65rem;
    font-weight: 800;
    letter-spacing: 0.16em;

    text-transform: uppercase;
}

.lilyee-address-form__header h3 {
    margin: 0;

    color: #30204f;

    font-size: 1.05rem;
    font-weight: 700;
}

.lilyee-address-form__close {
    display: inline-flex;

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

    flex: 0 0 auto;

    width: 2rem;
    height: 2rem;

    padding: 0;

    border: 0;
    border-radius: 50%;

    background: rgba(185, 156, 203, 0.1);
    color: #504e4a;

    font-size: 1.25rem;
    line-height: 1;

    cursor: pointer;
}

.lilyee-address-form__grid {
    display: grid;

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

    gap: 0.8rem;
}

.lilyee-address-form__field {
    min-width: 0;
}

.lilyee-address-form__field--full {
    grid-column: 1 / -1;
}

.lilyee-address-form__field label {
    display: block;

    margin-bottom: 0.35rem;

    color: #504e4a;

    font-size: 0.7rem;
    font-weight: 700;
}

.lilyee-address-form__field label span {
    color: #96909a;
    font-weight: 400;
}

.lilyee-address-form__field input,
.lilyee-address-form__field select {
    width: 100%;
    min-height: 2.65rem;

    padding: 0.65rem 0.75rem;

    box-sizing: border-box;

    border: 1px solid rgba(80, 78, 74, 0.16);
    border-radius: 9px;

    background: #faf8fb;
    color: #30204f;

    font-family: inherit;
    font-size: 0.82rem;

    outline: none;

    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease;
}

.lilyee-address-form__field input:focus,
.lilyee-address-form__field select:focus {
    background: #fff;
    border-color: #b99ccb;

    box-shadow: 0 0 0 3px rgba(185, 156, 203, 0.12);
}

.lilyee-address-form__footer {
    display: flex;

    justify-content: flex-end;

    margin-top: 1.1rem;
}

.lilyee-address-form__save {
    display: inline-flex;

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

    min-height: 2.7rem;

    padding: 0 1.4rem;

    border: 0;
    border-radius: 999px;

    background: #b99ccb;
    color: #fff;

    font-family: inherit;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background-color 180ms ease,
        transform 180ms ease;
}

.lilyee-address-form__save:hover,
.lilyee-address-form__save:focus-visible {
    background: #9f7fb2;

    transform: translateY(-1px);
}


/* =========================================================
   18. HIDDEN NATIVE WOOCOMMERCE CHECKOUT
   ========================================================= */

.lilyee-native-checkout {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: -1px !important;
    padding: 0 !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;

    border: 0 !important;
}

.lilyee-native-checkout #place_order {
    pointer-events: none;
}

.lilyee-native-checkout .woocommerce-checkout {
    margin: 0 !important;
}


/* =========================================================
   20. TABLET — 1100px
   ========================================================= */

@media (max-width: 1100px) {

    .ct-woocommerce-cart-form {
        grid-template-columns: minmax(0, 1fr) 360px !important;
        gap: 32px !important;
    }

    .woocommerce-cart-form table.shop_table {
        min-width: 680px;
    }

    .woocommerce-cart-form .product-thumbnail {
        width: 70px;
        padding-right: 0.75rem;
    }

    .woocommerce-cart-form .product-thumbnail img {
        width: 58px;
        height: 58px;
    }

    .woocommerce-cart-form .product-quantity {
        width: 110px;
    }

    .lilyee-cart-delivery__card {
        grid-template-columns: 2.25rem minmax(0, 1fr);
        gap: 0.75rem;

        padding: 1rem;
    }

    .lilyee-cart-delivery__change {
        grid-column: 2;

        justify-self: start;

        margin-top: 0.15rem;
    }
}


/* =========================================================
   21. TABLET / SMALL LAPTOP — 900px
   ========================================================= */

@media (max-width: 900px) {

    .ct-woocommerce-cart-form {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 24px !important;
    }


    .lilyee-cart-main,
    .lilyee-cart-sidebar {
        grid-column: 1 !important;
    }

    .woocommerce-cart-form {
        overflow-x: auto;
    }

    .woocommerce-cart-form table.shop_table {
        min-width: 720px;
    }

    .lilyee-cart-sidebar {
        width: 100%;
    }

    .lilyee-address-form__grid {
        gap: 0.7rem;
    }
}


/* =========================================================
   22. MOBILE — 767px
   ========================================================= */

@media (max-width: 767px) {

    .ct-woocommerce-cart-form {
        gap: 22px !important;
    }

    .woocommerce-cart-form table.shop_table {
        min-width: 680px;
    }


    /* Coupon */

    .lilyee-cart-coupon {
        padding: 1rem;

        border-radius: 18px;
    }

    .lilyee-cart-coupon form.coupon {
        gap: 0.5rem;
    }

    .lilyee-cart-coupon #coupon_code {
        height: 46px;
    }

    .lilyee-cart-coupon button[name="apply_coupon"] {
        min-width: 82px;
        min-height: 46px;

        padding: 0 1rem;
    }


    /* Totals */

    .lilyee-cart-sidebar .cart_totals {
        padding: 1.25rem;

        border-radius: 20px;
    }

    .lilyee-cart-sidebar .cart_totals > h2,
    .lilyee-cart-sidebar .cart_totals > h3 {
        margin-bottom: 1rem;

        font-size: 1.15rem;
    }

    .lilyee-cart-sidebar .cart_totals .cart-subtotal th,
    .lilyee-cart-sidebar .cart_totals .cart-subtotal td {
        font-size: 0.88rem;
    }

    .lilyee-cart-sidebar .cart_totals .order-total th,
    .lilyee-cart-sidebar .cart_totals .order-total td {
        padding: 0.9rem 0.65rem;
    }

    .lilyee-cart-sidebar .cart_totals .order-total th {
        font-size: 0.98rem;
    }

    .lilyee-cart-sidebar .cart_totals .order-total td {
        font-size: 1.15rem;
    }


    /* Delivery */

    .lilyee-cart-delivery {
        margin-bottom: 1.1rem;
    }

    .lilyee-cart-delivery__card {
        grid-template-columns: 2.25rem minmax(0, 1fr);

        gap: 0.7rem;

        padding: 1rem;

        border-radius: 18px;
    }

    .lilyee-cart-delivery__location-icon {
        width: 2.25rem;
        height: 2.25rem;
    }

    .lilyee-cart-delivery__details h3 {
        font-size: 0.94rem;
    }

    .lilyee-cart-delivery__address {
        font-size: 0.82rem;
        line-height: 1.5;
    }

    .lilyee-cart-delivery__contact {
        display: block;

        font-size: 0.74rem;
    }

    .lilyee-cart-delivery__contact > span {
        display: inline;
    }

    .lilyee-cart-delivery__separator {
        margin: 0 0.25rem;
    }

    .lilyee-cart-delivery__change {
        grid-column: 2;

        justify-self: start;

        min-height: 2.2rem;

        margin-top: 0.15rem;
        padding: 0 0.85rem;

        font-size: 0.66rem;
    }

    .lilyee-cart-delivery__shipping {
        padding: 0.8rem 0.9rem;
    }


    /* Address form */

    .lilyee-address-form {
        padding: 1rem;

        border-radius: 18px;
    }

    .lilyee-address-form__header {
        margin-bottom: 1rem;
    }

    .lilyee-address-form__grid {
        grid-template-columns: 1fr;

        gap: 0.7rem;
    }

    .lilyee-address-form__field--full {
        grid-column: auto;
    }

    .lilyee-address-form__footer {
        justify-content: stretch;
    }

    .lilyee-address-form__save {
        width: 100%;
        min-height: 2.9rem;
    }


    /* Place order */

    .lilyee-cart-place-order {
        margin-top: 0.8rem;
    }

    .lilyee-cart-place-order__button {
        min-height: 3.35rem;

        font-size: 0.9rem;

        box-shadow: 0 8px 20px rgba(127, 91, 181, 0.16);
    }
}




/* =========================================================
   24. VERY SMALL PHONES — 360px
   ========================================================= */

@media (max-width: 360px) {

    .lilyee-cart-sidebar .cart_totals {
        padding: 0.85rem;
    }

    .lilyee-cart-delivery__card {
        grid-template-columns: 2rem minmax(0, 1fr);

        gap: 0.6rem;
    }

    .lilyee-cart-delivery__location-icon {
        width: 2rem;
        height: 2rem;
    }

    .lilyee-cart-delivery__location-icon .material-symbols-outlined {
        font-size: 1.2rem;
    }

    .lilyee-cart-delivery__details h3 {
        font-size: 0.88rem;
    }

    .lilyee-cart-delivery__address {
        font-size: 0.78rem;
    }

    .lilyee-cart-place-order__button {
        min-height: 3.15rem;
    }
}


/* =========================================================
   25. ACCEPTED PAYMENT METHODS
   ========================================================= */

.lilyee-cart-payments {
    width: 100%;

    margin-top: 0.9rem;
    padding: 0.85rem 0.2rem 0.2rem;

    box-sizing: border-box;
}

.lilyee-cart-payments__title {
    margin-bottom: 0.55rem;

    color: #504e4a;

    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.08em;

    text-transform: uppercase;
}

.lilyee-cart-payments__methods {
    display: flex;

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

    gap: 0.45rem;

    width: 100%;
}

.lilyee-cart-payments__method {
    display: inline-flex;

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

    gap: 0.3rem;

    min-width: 0;

    color: #6f6875;

    font-size: 0.62rem;
    font-weight: 600;

    white-space: nowrap;
}

.lilyee-cart-payments__method .material-symbols-outlined {
    display: inline-flex;

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

    width: 1.65rem;
    height: 1.65rem;

    border-radius: 7px;

    background: #faf7fd;
    color: #80628f;

    font-size: 0.95rem;
}

.lilyee-cart-payments__secure {
    display: flex;

    align-items: center;

    gap: 0.3rem;

    margin-top: 0.65rem;

    color: #8a858c;

    font-size: 0.62rem;
}

.lilyee-cart-payments__secure .material-symbols-outlined {
    color: #80628f;

    font-size: 0.85rem;
}


/* =========================================================
   26. PAYMENT METHODS — MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .lilyee-cart-payments {
        padding-top: 0.7rem;
    }

    .lilyee-cart-payments__methods {
        justify-content: flex-start;

        flex-wrap: wrap;

        gap: 0.55rem 0.75rem;
    }

    .lilyee-cart-payments__method {
        font-size: 0.6rem;
    }

    .lilyee-cart-payments__method .material-symbols-outlined {
        width: 1.55rem;
        height: 1.55rem;

        font-size: 0.88rem;
    }
}


/* =========================================================
   27. CART DETAILS TYPOGRAPHY
   ========================================================= */

.lilyee-cart-details .product-name {
    font-size: 1.1rem;
}

.lilyee-cart-details .shop_table th {
    font-size: 0.85rem;
}


/* =========================================================
   28. TOUCH / ACCESSIBILITY
   ========================================================= */

@media (hover: none) {

    .lilyee-cart-place-order__button:hover,
    .lilyee-cart-coupon button[name="apply_coupon"]:hover,
    .lilyee-cart-delivery__change:hover,
    .lilyee-address-form__save:hover {
        transform: none;
    }
}

/* =========================================================
   LILYEE — PERMANENT FREE SHIPPING
   ========================================================= */

.lilyee-cart-sidebar .cart_totals .lilyee-free-shipping-row th,
.lilyee-cart-sidebar .cart_totals .lilyee-free-shipping-row td {
    padding: 0.85rem 0;
    border: 0 !important;
    vertical-align: middle;
}

.lilyee-cart-sidebar
.cart_totals
.lilyee-free-shipping-row th {
    color: #30204f;
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
}

.lilyee-cart-sidebar
.cart_totals
.lilyee-free-shipping-row td {
    text-align: right;
    white-space: nowrap;
}

/* ₹70 crossed out */

.lilyee-cart-sidebar
.cart_totals
.lilyee-shipping-original {
    margin-right: 0.45rem;

    color: #96909a;
    font-size: 0.92rem;
    font-weight: 500;

    text-decoration-line: line-through;
    text-decoration-thickness: 1.5px;
}

/* ₹0 free */

.lilyee-cart-sidebar
.cart_totals
.lilyee-shipping-free {
    color: #3d9b55;
    font-size: 0.95rem;
    font-weight: 700;
}

/* =========================================================
   LILYEE — AVAILABLE OFFERS
   ========================================================= */

.lilyee-available-offers {
    width: 100%;
    margin-top: 0.75rem;
}


/* =========================================================
   TOGGLE
   ========================================================= */

.lilyee-available-offers__toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0.55rem 0 !important;

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

    background: transparent !important;
    color: #30204f !important;

    font-family: inherit !important;
    font-size: 0.88rem !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;

    text-align: left !important;

    cursor: pointer;
}

.lilyee-available-offers__toggle:hover {
    background: transparent !important;
    color: #30204f !important;
}

.lilyee-available-offers__chevron {
    display: inline-flex !important;

    margin-left: 0.45rem;

    font-size: 0.9rem;
    line-height: 1;

    transition: transform 180ms ease;
}

.lilyee-available-offers__toggle[aria-expanded="true"]
.lilyee-available-offers__chevron {
    transform: rotate(180deg);
}


/* =========================================================
   OFFER LIST
   ========================================================= */

.lilyee-available-offers__list {
    display: flex !important;
    flex-direction: column !important;

    width: 100% !important;

    gap: 0.55rem !important;

    margin-top: 0.35rem !important;
}

.lilyee-available-offers__list[hidden] {
    display: none !important;
}


/* =========================================================
   OFFER CARD
   ========================================================= */

.lilyee-offer {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;

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

    gap: 0.7rem !important;

    margin: 0 !important;
    padding: 0.75rem !important;

    box-sizing: border-box !important;

    border: 1px solid #e8deeb !important;
    border-radius: 12px !important;

    background: #ffffff !important;

    box-shadow: 0 2px 8px rgba(80, 78, 74, 0.035) !important;
}


/* =========================================================
   ICON
   ========================================================= */

.lilyee-offer__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 2rem !important;

    width: 2rem !important;
    height: 2rem !important;

    margin: 0 !important;

    border-radius: 8px !important;

    background: #faf3fc !important;

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


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

.lilyee-offer__content {
    display: flex !important;
    flex: 1 1 auto !important;

    flex-direction: column !important;

    min-width: 0 !important;

    gap: 0.15rem !important;

    margin: 0 !important;
}

.lilyee-offer__content strong {
    display: block !important;

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

    color: #30204f !important;

    font-family: inherit !important;
    font-size: 0.78rem !important;
    font-weight: 650 !important;

    line-height: 1.3 !important;
}

.lilyee-offer__content span {
    display: block !important;

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

    color: #817b81 !important;

    font-family: inherit !important;
    font-size: 0.68rem !important;
    font-weight: 400 !important;

    line-height: 1.3 !important;
}

.lilyee-offer__content b {
    color: #504e4a !important;
    font-weight: 650 !important;
}


/* =========================================================
   APPLY BUTTON
   ========================================================= */

.lilyee-offer__apply {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 auto !important;

    min-width: 58px !important;
    min-height: 32px !important;

    margin: 0 !important;
    padding: 0.4rem 0.65rem !important;

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

    background: #b99ccb !important;
    color: #ffffff !important;

    font-family: inherit !important;
    font-size: 0.68rem !important;
    font-weight: 650 !important;

    line-height: 1 !important;

    cursor: pointer !important;

    transition:
        background 180ms ease,
        transform 180ms ease,
        opacity 180ms ease !important;
}

.lilyee-offer__apply:hover {
    background: #a987b7 !important;
    color: #ffffff !important;

    transform: translateY(-1px);
}


/* =========================================================
   APPLIED COUPON
   ========================================================= */

.lilyee-offer.is-applied {
    border-color: #d9c9df !important;
    background: #faf8fb !important;
}

.lilyee-offer.is-applied .lilyee-offer__apply {
    background: #eee8f0 !important;
    color: #6f6875 !important;

    cursor: default !important;

    opacity: 1 !important;
}

.lilyee-offer.is-applied .lilyee-offer__apply:hover {
    background: #eee8f0 !important;
    color: #6f6875 !important;

    transform: none !important;
}


/* =========================================================
   EMPTY STATE
   ========================================================= */

.lilyee-offers-empty {
    width: 100% !important;

    box-sizing: border-box !important;

    padding: 0.75rem !important;

    border: 1px solid #e8deeb !important;
    border-radius: 10px !important;

    background: #ffffff !important;
    color: #817b81 !important;

    font-size: 0.7rem !important;
    line-height: 1.4 !important;
}


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

@media (max-width: 767px) {

    .lilyee-offer {
        gap: 0.55rem !important;
        padding: 0.7rem !important;
    }

    .lilyee-offer__icon {
        flex-basis: 1.8rem !important;

        width: 1.8rem !important;
        height: 1.8rem !important;

        font-size: 0.9rem !important;
    }

    .lilyee-offer__content strong {
        font-size: 0.72rem !important;
    }

    .lilyee-offer__content span {
        font-size: 0.64rem !important;
    }

    .lilyee-offer__apply {
        min-width: 55px !important;
        min-height: 30px !important;

        padding: 0.38rem 0.55rem !important;

        font-size: 0.63rem !important;
    }

}