/********************************************************/
/*
/*      Cake Custom WooCommerce CSS
/*
/********************************************************/

/******************************/
/* Shared Selectors & Components
/******************************/
.wc-block-components-sidebar {
	top: var(--wp--custom--header-height) !important;
}

.wc-block-components-totals-wrapper {
	padding-block-end: unset !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-order-confirmation-totals) :is(table, tbody) {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-order-confirmation-totals) :is(table, tbody, tr) {
	box-sizing: border-box !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-order-confirmation-totals) thead {
	display: contents !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-discount__coupon-list-item > span {
	padding-block-start: 4px !important;
}

:is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) .wc-block-components-totals-discount__coupon-list-item > button {
	cursor: pointer !important;
}

.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	box-shadow: unset !important;
}

.wc-blocks-components-select .wc-blocks-components-select__expand {
	display: none !important;
}

/******************************/
/* Cart
/******************************/
.wp-block-woocommerce-cart tr {
	display: grid !important;
	grid-template-columns: 15% minmax(0, 1fr) 20% 10% !important;
	column-gap: var(--wp--preset--spacing--1) !important;
	width: 100% !important;
}

.wp-block-woocommerce-cart:has(.wc-block-cart-items__row.is-ticket) :is(thead, tr) {
	grid-template-columns: minmax(0, 1fr) 10% !important;
}

.wp-block-woocommerce-cart :is(.wc-block-cart-items__header > *, .wc-block-cart-items .wc-block-cart-items__row > *) {
	padding: unset !important;
	margin: unset !important;
}

.wc-block-cart-items {
	padding: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--3) !important;
	margin-block: unset !important;
	border: 2px solid var(--wp--custom--default-color--bg) !important;
	border-radius: 2rem !important;
	overflow: clip !important;
}

.wc-block-cart-items__header > :first-child {
	text-align: left !important;
}

.wc-block-cart-items__header > :last-child {
	justify-self: end !important;
	width: max-content !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row {
	padding-block-start: var(--wp--preset--spacing--1) !important;
	padding-block-end: unset !important;
	border-block-start: unset !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-items__row:not(:last-child) {
	padding-block-end: var(--wp--preset--spacing--1) !important;
	border-block-end: 2px solid var(--wp--custom--default-color--bg) !important;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-totals-coupon__form {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--wp--preset--spacing--1-5) !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form > * {
	flex: unset !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form > .wc-block-components-text-input {
	width: 100% !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form > .wc-block-components-text-input label {
	display: none !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form > .wc-block-components-totals-coupon__button {
	padding: unset !important;
	width: max-content !important;
	color: var(--wp--custom--default-color--bg) !important;
	border: unset !important;
	transition: color .3s !important;
}

.wp-block-woocommerce-cart .wc-block-components-totals-coupon__form > .wc-block-components-totals-coupon__button:is(:hover, :focus, :active) {
	color: var(--wp--custom--default-color--focus) !important;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button {
	width: max-content !important;
	font-weight: bold !important;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button > .wc-block-components-panel__button-icon {
	height: 30px !important;
}

.wp-block-woocommerce-cart #validate-error-coupon {
	font-weight: 400 !important;
	color: var(--wp--custom--default-color--focus) !important;
	margin-block-start: var(--wp--preset--spacing--0-50) !important;
}

.wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block .wc-block-cart__totals-title {
	padding: unset !important;
}

.wp-block-woocommerce-cart :is(.wc-block-cart__payment-options, .wc-block-cart-items__header-product) {
	display: none !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row .wc-block-cart-item__product .wc-block-components-sale-badge {
	display: none !important;
}

.wp-block-woocommerce-cart .wc-block-components-sale-badge::before {
	font: inherit !important;
	content: 'Vous ' !important;
	display: inline !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name {
	font-weight: bold !important;
}

.wp-block-woocommerce-cart :is(.wp-block-woocommerce-cart-order-summary-block, .wp-block-woocommerce-cart-order-summary-totals-block) > div > div {
	padding-inline: unset !important;
}

.wp-block-woocommerce-cart-order-summary-block {
	padding: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--3) !important;
	margin-block: unset !important;
	border: 2px solid var(--wp--custom--default-color--bg) !important;
	border-radius: 2rem !important;
	overflow: clip !important;
}

.wc-block-cart .wc-block-cart__submit-container--sticky {
	display: none !important;
}

.wp-block-woocommerce-cart .wc-block-cart__submit-container {
	max-width: 100% !important;
}

.wp-block-woocommerce-cart .wc-block-cart__submit {
	display: flex !important;
	justify-content: center !important;
	margin-block-start: var(--wp--preset--spacing--1-5) !important;
}

.wp-block-woocommerce-cart .wc-block-cart__submit .wc-block-cart__submit-button {
	box-shadow: unset !important;
}

/* Ticket-specific styles */
.wp-block-woocommerce-cart .wc-block-cart-items__row.is-ticket :is(.wc-block-cart-items__header-product, .wc-block-cart-item__image, .wc-block-components-product-details, .wc-block-cart-item__quantity) {
	display: none !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row.is-ticket .wc-block-cart-item__product {
	padding-inline-start: unset !important;
}

.wp-block-woocommerce-cart .wc-block-cart-items__row.is-ticket .wc-block-components-product-name {
	text-decoration: none !important;
	pointer-events: none !important;
}

/******************************/
/* Checkout
/******************************/
.wp-block-woocommerce-checkout-order-summary-block {
	display: flex !important;
	flex-direction: column !important;
	padding: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--3) !important;
	margin-block: unset !important;
	max-height: calc(90svh - var(--wp--custom--header-height)) !important;
	border: 2px solid var(--wp--custom--default-color--bg) !important;
	border-radius: 2rem !important;
	overflow: clip !important;
}

.wp-block-woocommerce-checkout-order-summary-cart-items-block {
	flex-basis: auto !important;
	width: 100% !important;
	padding: unset !important;
	margin: unset !important;
	box-sizing: content-box !important;
	overflow-x: clip !important;
	overflow-y: auto !important;
	scrollbar-color: var(--wp--custom--default-color--bg) transparent !important;
	scrollbar-width: thin !important;
}

.wp-block-woocommerce-checkout-order-summary-cart-items-block:is(.wp-block-woocommerce-checkout-order-summary-cart-items-block) {
	padding-inline-end: var(--wp--preset--spacing--1) !important;
}

.wp-block-woocommerce-checkout-order-summary-totals-block,
.wp-block-woocommerce-checkout-order-summary-totals-block + .wc-block-components-totals-wrapper {
	flex-basis: max-content !important;
}

.wp-block-woocommerce-checkout :is(.wc-block-components-checkout-order-summary__title, .wc-block-components-checkout-order-summary__title-text, .wp-block-woocommerce-checkout-order-summary-cart-items-block, .wc-block-components-order-summary, .wc-block-components-order-summary-item__description) {
	padding: unset !important;
	margin: unset !important;
}

.wp-block-woocommerce-checkout :is(.wc-block-components-checkout-order-summary__content, .wp-block-woocommerce-checkout-order-summary-totals-block) > div > div {
	padding-inline: unset !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__content {
	display: contents !important;
	margin-block-start: var(--wp--preset--spacing--1) !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item {
	column-gap: var(--wp--preset--spacing--1) !important;
	padding-block-start: var(--wp--preset--spacing--1) !important;
	padding-block-end: unset !important;
	border-block-start: unset !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item:not(:last-child) {
	padding-block-end: var(--wp--preset--spacing--1) !important;
	border-block-end: 2px solid var(--wp--custom--default-color--bg) !important;
}

.wp-block-woocommerce-checkout :is(.wc-block-components-order-summary-item__image, .wc-block-components-product-details) {
	display: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-product-metadata {
	font-size: .75em !important;
}

.wp-block-woocommerce-checkout .wc-block-components-order-summary-item__individual-prices span {
	font-weight: 300 !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-product-name {
	font-weight: bold !important;
}

.wp-block-woocommerce-checkout .wc-block-components-product-low-stock-badge {
	display: none !important;
}

.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-price,
.wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon {
	display: none !important;
}

.wc-block-components-checkout-order-summary__title {
	pointer-events: none !important;
}

.wc-block-checkout__form {
	padding: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--3) !important;
	margin-block: unset !important;
	border: 2px solid var(--wp--custom--default-color--bg) !important;
	border-radius: 2rem !important;
	overflow: clip !important;
}

.wp-block-woocommerce-checkout .wc-block-checkout__form > div:has(.wc-block-components-express-payment, .wp-block-woocommerce-checkout-order-summary-block) {
	display: none !important;
}

.wp-block-woocommerce-checkout .back-to-cart {
	display: block !important;
	width: max-content !important;
	margin-block-end: var(--wp--preset--spacing--1) !important;
}

.wc-block-checkout__form:has(> [disabled]) > .back-to-cart {
	opacity: .6 !important;
	pointer-events: none !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-payment-block {
	min-width: auto !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-payment-block > .wc-block-components-checkout-step__container {
	padding-inline: var(--wp--preset--spacing--1) !important;
	border: 2px solid var(--wp--custom--default-color--bg) !important;
	border-radius: .5rem !important;
	overflow: clip !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-payment-block > .wc-block-components-checkout-step__container > :first-child {
	margin-block-start: var(--wp--preset--spacing--1) !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-payment-block > .wc-block-components-checkout-step__container > :last-child {
	margin-block-end: var(--wp--preset--spacing--1) !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control-accordion-content {
	padding: unset !important;
}

.wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option {
	padding-inline: unset !important;
}

.wc-block-checkout__payment-method .wc-block-components-checkout-step__content {
	padding-block-start: unset !important;
}

.wc-block-checkout__payment-method .wc-block-components-checkout-step__description-payments-aligned {
	height: auto !important;
	margin-block: unset !important;
}

.wc-block-components-address-card {
	padding: unset !important;
	padding-inline-start: unset !important;
}

/******************************/
/* Order Confirmation
/******************************/
.wp-block-woocommerce-order-confirmation-totals {
	padding: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--3) !important;
	margin-block: unset !important;
	border: 2px solid var(--wp--custom--default-color--bg) !important;
	border-radius: 2rem !important;
	overflow: clip !important;
}

.wp-block-woocommerce-order-confirmation-totals :is(thead, tbody, tfoot) tr {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding-block-start: var(--wp--preset--spacing--1) !important;
	padding-block-end: unset !important;
	border-block-start: unset !important;
}

.wp-block-woocommerce-order-confirmation-totals tbody tr {
	padding-block-end: var(--wp--preset--spacing--1) !important;
	border-block-end: 2px solid var(--wp--custom--default-color--bg) !important;
}

.wp-block-woocommerce-order-confirmation-totals table :is(th, td) {
	padding-inline: unset !important;
}

.wp-block-woocommerce-order-confirmation-totals tfoot .wc-block-order-confirmation-totals__total {
	font-weight: bold !important;
}

.wp-block-woocommerce-order-confirmation-totals .wc-item-meta {
	display: none !important;
}

.wp-block-woocommerce-order-confirmation-totals-wrapper {
	margin-block-start: var(--wp--preset--spacing--4) !important;
}

.wp-block-woocommerce-order-confirmation-billing-address {
	padding: var(--wp--preset--spacing--1-5) var(--wp--preset--spacing--3) !important;
	margin-block: unset !important;
	border: 2px solid var(--wp--custom--default-color--bg) !important;
	border-radius: 2rem !important;
	overflow: clip !important;
}

.wc-block-order-confirmation-address-wrapper {
	margin-block-start: var(--wp--preset--spacing--4) !important;
}

.wc-block-order-confirmation-order-note {
	padding: unset !important;
	margin-block-start: var(--wp--preset--spacing--1-5) !important;
}

.is-tickets > .wp-block-woocommerce-order-confirmation-totals-wrapper .wc-block-order-confirmation-totals__product > a {
	text-decoration: none !important;
	pointer-events: none !important;
}

/******************************/
/* Product Archive
/******************************/
.product-archive-inner {
	display: flex !important;
	flex-direction: column !important;
}

.product-archive-inner > * {
	margin-block: unset !important;
}

.product-archive-inner .wc-block-breadcrumbs {
	padding-block-start: var(--wp--preset--spacing--3) !important;
	font-weight: 500;
}

.product-archive-inner .wc-block-breadcrumbs * {
	font-weight: inherit;
}

.product-archive-inner .wc-block-breadcrumbs:not(:has(a)) {
	display: none !important;
}

.product-archive-inner .wc-block-breadcrumbs a {
	text-decoration: none !important;
}

.product-archive-inner .product-categories {
	margin-block-start: var(--wp--preset--spacing--3) !important;
}

.product-archive-inner .product-categories .wp-element-button {
	background-color: var(--wp--custom--color--default--bg);
	padding-block: 1rem !important;
	padding-inline: 2.5rem !important;
}

.product-archive-inner .product-categories .wp-element-button::before {
	display: none;
}

/******************************/
/* Notice banner
/******************************/
.wc-block-components-notice-banner.is-info {
	background-color: var(--wp--custom--default-color--bg) !important;
}

.wc-block-components-notice-banner.is-info > svg {
	background-color: var(--wp--custom--default-color--text) !important;
}

/******************************/
/* Responsive
/******************************/
.is-mobile .wc-block-components-form .wc-block-components-checkout-step::after,
.is-small .wc-block-components-form .wc-block-components-checkout-step::after {
	display: none !important;
}

@media (max-width: 1400px) {
	.wc-block-components-sidebar-layout .wc-block-components-main {
		padding-inline-end: var(--wp--preset--spacing--1);
	}
}

@media (max-width: 1200px) {
	.wc-block-components-sidebar-layout {
		flex-direction: column;
		gap: var(--wp--preset--spacing--2);
	}
	
	.wc-block-components-sidebar-layout :is(.wc-block-components-main, .wc-block-components-sidebar) {
		width: 100% !important;
		padding-inline: unset;
	}
}

@media (max-width: 766px) {
	.wp-block-woocommerce-cart .wc-block-cart-item__product {
		grid-column: 1 !important;
	}
	
	.wp-block-woocommerce-cart .wc-block-cart-item__total {
		grid-column: 2 !important;
	}
}

@media (max-width: 600px) {
	.wc-block-cart-items,
	.wc-block-checkout__form,
	.wp-block-woocommerce-cart-order-summary-block,
	.wp-block-woocommerce-checkout-order-summary-block,
	.wp-block-woocommerce-order-confirmation-totals,
	.wp-block-woocommerce-order-confirmation-billing-address {
		padding: var(--wp--preset--spacing--1-5) !important;
		border: unset !important;
		border-radius: unset !important;
	}
	
	.wc-block-cart-items,
	.wp-block-woocommerce-cart-order-summary-block,
	.wp-block-woocommerce-checkout-order-summary-block,
	.wc-block-checkout__form,
	.wp-block-woocommerce-order-confirmation-totals,
	.wp-block-woocommerce-order-confirmation-billing-address {
		padding: unset !important;
	}
	
	.wp-block-woocommerce-cart:has(.wc-block-cart-items__row.is-ticket) :is(thead, tr) {
		grid-template-columns: minmax(0, 1fr) 20% !important;
	}
}

@media (max-width: 450px) {
	.wp-block-woocommerce-cart:has(.wc-block-cart-items__row.is-ticket) :is(thead, tr) {
		grid-template-columns: minmax(0, 1fr) max-content !important;
	}
	
	.wp-block-woocommerce-checkout .wc-block-components-address-card {
		flex-direction: column;
	}
}

@media (max-width: 435px) {
	.wp-block-woocommerce-checkout .back-to-cart {
		justify-self: center;
	}
}

@media (max-width: 400px) {
	.wp-block-woocommerce-cart .wc-block-cart__submit .wc-block-cart__submit-button > .wc-block-components-button__text {
		text-align: center;
	}
}
