/**
 * Frontend styles for Sale Events plugin.
 *
 * @package SaleEvents
 */

/* Cart grouping styles */
.sale-events-cart-group {
	margin-bottom: 30px;
	border: 1px solid #CCC9AA;
	border-radius: 0;
	overflow: hidden;
}

.sale-events-cart-group-header {
	background: #CCC9AA;
	padding: 15px 20px;
	border-bottom: 1px solid #444331;
}

.sale-events-cart-group-header h3.sale-events-event-title {
	margin: 0;
	font-size: 1.2em;
	color: #000;
}

.sale-events-event-details {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	font-size: 0.9em;
}

.sale-events-event-details span {
	display: inline-block;
}

.sale-events-event-details strong {
	margin-right: 5px;
}

.sale-events-cart-group table {
	margin: 0;
	border: none;
}

.sale-events-cart-group table thead {
	background: #CCC9AA;
}

/* Ensure cart table doesn't have double borders when grouped */
.woocommerce-cart-form .sale-events-cart-group + .woocommerce-cart-form__contents,
.woocommerce-cart-form .woocommerce-cart-form__contents:first-of-type {
	margin-top: 0;
}

.sale-events-selector {
	margin: 20px 0;
	padding: 20px;
	background: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 4px;
}

.sale-events-location-selector,
.sale-events-datetime-selector {
	margin-bottom: 15px;
}

.sale-events-location-selector label,
.sale-events-datetime-selector label {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
}

.sale-events-select {
	width: 100%;
	max-width: 400px;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
}

.sale-events-message {
	margin-top: 15px;
	padding: 10px;
	background: #fff3cd;
	border: 1px solid #ffc107;
	border-radius: 4px;
	color: #856404;
}

.sale-events-selection-info {
	margin-top: 15px;
	padding: 15px;
	background: #d1ecf1;
	border: 1px solid #bee5eb;
	border-radius: 4px;
}

.sale-events-selection-info p {
	margin: 0 0 10px 0;
	color: #0c5460;
}

.sale-events-clear-selection {
	margin-top: 10px;
}

/* Location archive styles */
.sale-location-archive {
	margin: 0;
	padding: 0 0 6rem;
}

.sale-location-header {
	margin-bottom: 40px;
	padding: 4rem 2rem 2rem;
	background: rgba(255, 255, 255, 0.74);
	border: none;
}

.sale-location-image {
	margin-bottom: 20px;
}

.sale-location-image img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

.sale-location-title {
	margin-top: 0;
	margin-bottom: 15px;
	text-align: center;
	font-weight: 800;
}

.sale-location-address {
	margin-bottom: 15px;
	font-size: 1.1em;
	text-align: center;
}

.sale-location-description {
	margin-top: 15px;
}

.sale-location-events {
	margin: auto;
	margin-top: 40px;
	padding: 0 2rem;
	max-width: var(--global-content-width);
}

.sale-location-events h2 {
	margin-bottom: 20px;
}

.sale-events-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	margin-top: 20px;
}

.sale-event-card {
	padding: 1.5rem;
	background: #EFEDDA;
	border: 1px solid #444331;
	border-radius: 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
	flex-wrap: wrap;
	max-width: 820px;
}

.sale-event-card h3 {
	margin-top: 0;
	margin-bottom: 0 !important;
}

.sale-event-card h3 a {
	text-decoration: none;
	color: #000;
}

.sale-event-card h3 a:hover {
	text-decoration: underline;
}

.sale-event-card .button, .sale-event-card .button:visited {
	background-color: #444331;
	color: #EFEDDA;
}

.sale-event-datetime,
.sale-event-products {
	margin-bottom: 0;
	line-height: 1.2;
}

.sale-event-datetime span {
	white-space: nowrap;
}

.sale-event-card .button {
	margin-top: 0;
}

/* Products grouped by category on Sale Event pages */
.sale-events-products-by-category {
	margin-top: 30px;
}

.sale-events-category-group {
	margin-bottom: 60px;
}

.sale-events-category-title {
	margin: 0 0 15px 0;
	font-size: 1.3em;
}

/* Upcoming sale events on single product page */
.sale-events-upcoming {
	margin-top: 1.5em;
	padding: 1em 0;
	border-top: 1px solid #e0e0e0;
}

.sale-events-upcoming-title {
	margin: 0 0 0.75em 0;
	font-size: 1.1em;
}

.sale-events-upcoming-list {
	margin: 0;
	padding-left: 1.5em;
	list-style: disc;
}

.sale-events-upcoming-list li {
	margin-bottom: 0.5em;
}

.sale-events-upcoming-list a {
	font-weight: 600;
}

.sale-events-upcoming-datetime {
	display: inline-block;
	margin-left: 0.25em;
	font-weight: normal;
	opacity: 0.85;
}

.sale-events-upcoming-empty {
	margin: 0;
	color: #646970;
}

/* View product link on shop/category when Add to cart is removed */
.sale-events-view-product {
	margin-top: 0;
}


.single-sale_event #primary {
	margin: 0;
}

.single-sale_event .entry-content-wrap {
	padding: 0;
}

.single-sale_event .content-container {
	margin: 0;
	padding: 0;
	max-width: 100%;
}

.single-sale_event .entry-header {
	background-color: #CCC9AA;
	padding-top: var(--global-kb-spacing-3xl, 6.5rem);
	padding-bottom: var(--global-kb-spacing-3xl, 6.5rem);
	padding-left: var(--global-kb-spacing-sm, 2rem);
	padding-right: var(--global-kb-spacing-sm, 2rem);

	h1 {
		text-align: center;
	}
}

.single-sale_event .entry-content {
	padding-top: var(--global-kb-spacing-3xl, 6.5rem);
	padding-bottom: var(--global-kb-spacing-3xl, 6.5rem);
	padding-left: var(--global-kb-spacing-sm, 2rem);
	padding-right: var(--global-kb-spacing-sm, 2rem);
	margin: 0;
}

.single-sale_event .sale-events-products {
	max-width: 1660px;
	margin: auto;
}

.sale-events-ordering-closed {
	margin-top: 1.5rem;
	padding: 1rem;
	border: 1px solid #f0b8b8;
	background: #fff1f1;
	color: #6f1d1d;
	max-width: 45ch;
	margin: auto;
	text-align: center;
}

.sale-events-ordering-closed p {
	margin: 0;
}

.sale-events-ordering-closed-cutoff {
	margin-top: 0.5rem !important;
}

li.product {
	border: 1px solid #444331;
	border-radius: 0;
}

.woocommerce ul.products.woo-archive-btn-button li.product .price {
	margin-bottom: 3rem !important;
}

.woocommerce ul.products.woo-archive-btn-button .button:not(.kb-button):not(.specificity-hack) {
	background-color: #444331;
	color: #EFEDDA;
	display: inline-block;
	width: auto;
}

.woocommerce ul.products.woo-archive-action-on-hover li.product .product-action-wrap {
	bottom: 0 !important;
	opacity: 1 !important;
	position: relative !important;
	padding: 0 !important;
}

.woocommerce ul.products.woo-archive-action-on-hover li.product:hover .entry-content-wrap,
.woocommerce ul.products.woo-archive-action-on-hover li.product:focus-within .entry-content-wrap {
	transform: unset !important;
	transition: unset !important;
}

.woocommerce-cart, .woocommerce-checkout {
	.entry-hero .entry-hero-container-inner .hero-section-overlay {
		background-color: #CCC9AA;
	}
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:not(.specificity-hack), #payment #place_order {
	background-color: #444331;
	color: #EFEDDA;
}

#payment #place_order:hover {
	background-color: var(--global-palette-btn-bg-hover);
	color: var(--global-palette-btn-hover);
}


.kadence-woo-cart-form-wrap .cart-summary {
	display: none;
}

.related.products {
	display: none;
}

.woocommerce-page .content-area {
	margin-top: 8rem;
}

.sale-event-order-info p {
	margin-bottom: 0 !important;
}

.woocommerce-order-details {
	max-width: 900px;
}

.woocommerce ul.products li.product a.woocommerce-loop-image-link::before {
	content: '';
	display: block;
	padding-top: 100%;
}

.woocommerce ul.products li.product a img {
	position: absolute;
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
	top: 0;
	left: 0;
}