/**
 * Cart Enhancements CSS
 * Additional styling for cart modifications
 */

/* 
 * Cart Styles for Ollie Child Theme
 * Custom styles for WooCommerce cart functionality
 */

/* Hide cart items table header */
.wc-block-cart-items thead {
    display: none;
}

.drawer{
	width: calc(100% - 16px) !important;
}

/* Make cart item images full height */
.wc-block-cart-item__image {
    position: relative;
    height: 100%;
    vertical-align: top;
}

.wc-block-cart-item__image a {
    display: block;
    overflow: hidden;
}

.wc-block-cart-item__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-width: 100%;
    max-height: 100%;
}

/* Grid layout for cart items */
.wc-block-cart table.wc-block-cart-items td{
    margin-bottom: 0 !important;
}

.wc-block-cart-items__row {
    display: grid;
    grid-template-columns: 1fr !important;
    align-items: stretch;
    min-height: 200px;
    border-bottom: 1px solid #e5e5e5;
}

/* Ensure desktop layout is preserved */
@media (min-width: 748px) {
    .wc-block-cart-items__row {
        grid-template-columns: 200px 1fr auto !important;
        min-height: 200px !important;
        align-items: stretch !important;
    }
    
    .wc-block-cart-item__product {
        grid-column: 2;
        min-height: 100% !important;
    }
    
    .wc-block-cart-item__total {
        grid-column: 3;
        align-items: flex-end;
        min-height: 100% !important;
    }
    
    .wc-block-cart-item__quantity {
        grid-column: 2;
    }
}

.wc-block-cart-item__image {
    grid-column: 1;
    width: 200px;
    height: 100%;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
	min-height: 250px;
}

.wc-block-cart-item__product {
    grid-column: 2;
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    justify-content: center;
	align-items: flex-start;
    min-height: 100%;
}

.wc-block-cart-item__total {
    grid-column: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 8px;
    min-height: 100%;
}

.wc-block-cart-item__quantity {
    grid-column: 2;
    margin-top: 8px;
    align-self: flex-end;
}

/* Hide quantity selector by default */
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	display: none;
}

/* Show quantity selector when edit mode is active */
.wc-block-cart-item__quantity.edit-mode .wc-block-components-quantity-selector {
    display: flex !important;
    margin-bottom: 0 !important;
}

/* Style for the edit button */
.cart-item-edit-button {
	background: none;
	border: none;
	color: var(--wp--preset--color--main);
	text-decoration: underline;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--small);
	padding: 0;
	display: block;
	transition: color 0.2s ease;
}
.wc-block-cart-item__quantity.enhanced{
	font-size: var(--wp--preset--font-size--small);
}

.cart-item-edit-button:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

/* Hide quantity display when edit mode is active */
.wc-block-cart-item__quantity.edit-mode .cart-item-quantity-display {
	display: none;
}

/* Show quantity display when not in edit mode */
.cart-item-quantity-display {
	display: block;
	color: var(--wp--preset--color--main);
}

/* Move remove button to totals cell */
.wc-block-cart-item__total .cart-item-remove-wrapper {
	text-align: right;
	display: block;
}

.cart-item-remove-button {
	background: none;
	border: none;
	color: var(--wp--preset--color--main);
	text-decoration: underline;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--small);
	padding: 0;
	transition: color 0.2s ease;
}

.cart-item-remove-button:hover {
	color: rgb(222, 76, 76);
}
/* Hide original remove button */
.wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
	display: none !important;
}

/* Let the original WooCommerce quantity selector styling handle the appearance */

/* Additional responsive adjustments for smaller screens */
@media (max-width: 480px) {
	.wc-block-cart-items__row {
		grid-template-columns: 1fr !important;
		gap: 8px;
		padding: 12px 0;
	}
	
	.wc-block-cart-item__image {
		grid-column: 1;
		grid-column-end: 4 !important;
		grid-row: 1;
		width: 100%;
		height: 200px;
	}
	
	.wc-block-cart-item__product {
		grid-column-start: 1 !important;
		grid-column-end: 2 !important;
		grid-row-start: 2 !important;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin-top: 8px;
	}
	
	.wc-block-cart-item__total {
		grid-column: 1;
		grid-row: 1;
		grid-row-start: 3 !important;
		margin-top: 0;
	}
	
	.wc-block-cart-item__quantity {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
	}
	
	.wc-block-components-product-name {
		font-size: 0.85rem;
	}
	
	.cart-item-edit-button,
	.cart-item-remove-button {
		font-size: 0.75rem;
	}
}

/* Simple show/hide transition for quantity selector */
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	transition: opacity 0.2s ease;
}

/* Ensure proper spacing in cart item layout */
.wc-block-cart-item__quantity {
	display: flex;
	flex-direction: column;
}

/* Override any table-based styling */
.wc-block-cart-items__row td {
	display: block;
	border: none;
	padding: 0;
}

.wc-block-cart-items__row {
	border: none;
}



/* Style for quantity display in different states */
.cart-item-quantity-display {
	position: relative;
	padding: 4px 0;
}

.cart-item-quantity-display::before {
	content: "Qty: ";
	font-weight: normal;
	color: var(--wp--preset--color--main);
}
.wc-block-cart__main a{
    text-decoration: none;
}
.wc-block-cart__main .wc-block-cart-items{
    border: 1px solid var(--wp--preset--color--border-light) !important;
    border-radius: 6px;
    overflow: hidden;
	border-spacing: 0;
}
.wc-block-cart__main .wc-block-cart-items tr{
    background: #fff;
}
.wc-block-cart-item__image{
    width: 240px;
    padding: 0 !important;
}

.wc-block-cart__main .wc-block-cart-items td{
    vertical-align: middle;
}

.wc-block-cart__main .wc-block-cart-items  tr:first-child td{
    border-top: none !important;
}

.wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__product{
    padding: 48px 20px 48px 48px !important
    ;
}
.wc-block-cart__main .wc-block-cart-items td{
    padding-right: 48px !important;
}
.wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__image{
    padding-right: 0 !important;
	max-width: 100%;
}
.wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__image a{
    display: flex;
	height: 100%;
}
.wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__image img{
    height: 100%;
    object-fit: cover;
}
.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    vertical-align: middle;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.wc-block-cart-items .wc-block-components-product-badge{
	display: none;
    background: #f3f3f3;
    border: none;
    padding: 4px 8px;
}

.wc-block-cart-items .wc-block-components-product-metadata{
    font-size: var(--wp--preset--font-size--small);
}
.wc-block-cart-items .wc-block-components-product-details__name{
    font-weight: 400 !important;
}

.wc-block-cart-items .wc-block-cart-item__remove-link {

    margin: 0;
    padding: 0;
}


.wc-block-cart-items .wc-block-cart-item__quantity.enhanced {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
}
.wc-block-cart-items .wc-block-components-product-metadata{
    margin-bottom: 0 !important;
}
.wc-block-cart-item__total .wc-block-components-product-badge{
    display: none;
}

.wc-block-cart-item__total .wc-block-components-product-price{
    color: var(--wp--preset--color--primary);
}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{
    padding: 0.8em 0;
}
.cart-item-remove-wrapper .wc-block-cart-item__remove-link{
    display: block !important;
}

.wp-block-woocommerce-cart{
    margin-top: 0 !important;
}
.wc-block-components-sidebar-layout{
    margin-bottom: 0 !important;
}
.wc-block-components-main.wc-block-cart__main.wp-block-woocommerce-cart-items-block{
    padding: 24px;
    flex-grow: 1;
}
.wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block{
    background: #fff;
    padding: 24px 40px;
    border-left: 1px solid var(--wp--preset--color--border-light);

}

.wc-block-cart-items{
    max-width: 700px;
    margin-left: auto !important;
    margin-right: auto !important;
}
.wc-block-components-sidebar{
    max-width: 450px;
}

@media (max-width: 748px) {
	/* Mobile grid layout */
	.wc-block-cart-items__row {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 15px 0;
	}
	
	.wc-block-cart-item__image {
		grid-column: 1;
		grid-column-end: 4 !important;
		grid-row: 1;
		width: 100%;
		height: 200px;
	}
	
	.wc-block-cart-item__product {
		grid-column-start: 1 !important;
		grid-column-end: 2 !important;
		grid-row-start: 2 !important;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin-top: 8px;
	}
	
	.wc-block-cart-item__total {
		grid-column: 1;
		grid-row: 1;
		grid-row-start: 3 !important;
		align-items: flex-start;
		margin-top: 0;
	}
	
	.wc-block-cart-item__quantity {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0;
	}
	
	/* Adjust spacing for mobile */
	.wc-block-cart-item__product {
		gap: 4px;
	}
	
	.wc-block-cart-item__total {
		gap: 4px;
	}
	
	/* Make text smaller on mobile */
	.wc-block-components-product-name {
		font-size: var(--wp--preset--font-size--base);
	}
	
	.cart-item-edit-button,
	.cart-item-remove-button {
		font-size: var(--wp--preset--font-size--small);
	}
	
	.cart-item-quantity-display {
		font-size: var(--wp--preset--font-size--small);
	}
	.wc-block-cart-items__row .wc-block-cart-item__wrap>* {
		margin-bottom: 2px !important;
		margin-top: 0 !important;
	}
	.wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__product {
		padding: 8px 24px !important;
	}
	.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
		padding: 0 4px 16px 24px !important;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
	.wc-block-cart__main .wc-block-cart-items tr {
		padding: 0 !important;
		border-bottom: 1px solid var(--wp--preset--color--border-light);
	}
	.wc-block-cart__main .wc-block-cart-items tr:last-child {
		border-bottom: none !important;
	}
}




/* Cart Drawer */

.drawer .wc-block-components-sidebar-layout > div::empty{
    display: none;
}

.drawer .wc-block-cart-items__row {
	grid-template-columns: 120px 1fr auto !important;
	min-height: 150px !important;
	align-items: stretch !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--border-light);
}
.drawer .wc-block-cart-items__row:last-child {
	border-bottom: none;
} 
    
    
.drawer .wc-block-cart-items__row .wc-block-cart-item__image{
    width: 100% !important;
    grid-column-end: 2 !important;
    min-height: 20px;
}

.drawer .wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__product{
    padding: 0 0 0 24px !important;
}
.drawer .wc-block-components-main.wc-block-cart__main.wp-block-woocommerce-cart-items-block {
    padding: 0;
    flex-grow: 1;
}

.drawer .wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
    background: #fff;
    padding: 0;
    border-left: none;
}

.drawer .wc-block-cart__submit{
    margin-bottom: 0;
}

.drawer .wc-block-cart-items__row .wc-block-cart-item__total{
    padding-right: 12px !important;
}

@media (max-width: 748px) {

	.drawer .wc-block-cart-items__row{
		min-height: 200px;
	}
	.drawer .wc-block-cart__main .wc-block-cart-items td.wc-block-cart-item__product {
		padding-left: 0 !important;
		grid-column-start: 2 !important;
		grid-column-end: 3 !important;
		grid-row-start: 1 !important;
	}
	.drawer .wc-block-cart-items__row .wc-block-cart-item__image {
		width: 100% !important;
		grid-column-end: 2 !important;
		min-height: 150px !important;
		height: auto;
	}
	
	.drawer .wc-block-cart-items__row .wc-block-cart-item__total{
		grid-column-start: 3 !important;
		grid-column-end: 4 !important;
		grid-row-start: 1 !important;
	}
}

@media (min-width: 748px){

body.woocommerce-cart .wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
    display: flex;
    flex-direction: column;
    align-items: stretch;
	min-height: calc( 100vh - 104px);
}

.after-cart-js-content{
    flex-grow: 1;
}
.wp-block-buttons.after-cart-privacy{
    margin-top: auto;
}
}

.drawer .wc-block-cart .wc-block-cart__submit-container--sticky {
    position: relative;
}
.drawer .wc-block-cart .wc-block-cart__submit-container--sticky:before {
    display: none;
}
.drawer .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    margin-bottom: 80px;
}
.drawer .wc-block-cart__submit {
    position: fixed;
    bottom: 0;
    left: 0;
    padding: var(--wp--preset--spacing--small) var(--wp--preset--spacing--medium);
    right: 0;
    background: #fff;
    border-top: 1px solid var(--wp--preset--color--border-light);
}
.wc-block-cart__go_to_cart_button{
    margin-bottom: 12px;
}
.wc-block-cart__go_to_cart_button a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background-color: var(--wp--preset--color--white);
    color: var(--wp--preset--color--primary);
    border: 1px solid var(--wp--preset--color--border-light);
}
.wc-block-cart .wc-block-cart__submit-container a{
    border: 1px solid currentcolor;
}
body.woocommerce-cart .wc-block-cart__go_to_cart_button{
    display: none;
}