/**
 * WooCommerce product cards and catalog ordering.
 */

/* Our products — price span */
.elementor-widget-the7-woocommerce-product-price .price span {
	color: #ffffff !important;
}

.elementor-widget-the7-woocommerce-product-price.product-tmpl-2 .price span {
	color: #372948 !important;
}

.product-tmpl-container-2 .elementor-widget-the7-woocommerce-product-price.product-tmpl-2 .price span,
.product-tmpl-container-1 .elementor-widget-the7-woocommerce-product-price.product-tmpl-1 .price span,
.product-tmpl-container-2 h4 a,
.product-tmpl-container-1 h4 a,
.product-tmpl-container-2 .product-add-to-cart-btn a.add_to_cart_button,
.product-tmpl-container-1 .product-add-to-cart-btn a.add_to_cart_button {
	transition: color 0.3s ease !important;
}

.product-tmpl-container-2:hover .elementor-widget-the7-woocommerce-product-price.product-tmpl-2 .price span,
.product-tmpl-container-1:hover .elementor-widget-the7-woocommerce-product-price.product-tmpl-1 .price span,
.product-tmpl-container-2:hover h4 a,
.product-tmpl-container-1:hover h4 a {
	color: #A9824E !important;
}

.product-tmpl-container-2:hover .product-add-to-cart-btn a.add_to_cart_button,
.product-tmpl-container-1:hover .product-add-to-cart-btn a.add_to_cart_button {
	background: #A9824E !important;
}

.product-tmpl-container-1 a,
.product-tmpl-container-2 a {
	width: 100%;
}

/* Catalog ordering — same select look in all browsers */
.elementor-widget-the7-product-sorting {
	--icon-spacing: 10px;
}

.the7-wc-catalog-ordering .woocommerce-ordering select.orderby,
.woocommerce-ordering select.orderby {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	box-sizing: border-box;
	padding: 12px 15px !important;
	padding-right: calc(15px + 10px + 14px) !important;
	text-align: left !important;
	text-align-last: left !important;
	background-color: #ffffff;
	border: 1px solid #DDD9D5 !important;
	border-radius: 6px;
	box-shadow: none;
	cursor: pointer;
	line-height: 1.3 !important;
}

.woocommerce-ordering select.orderby::-ms-expand {
	display: none;
}

.woocommerce-ordering select.orderby:focus {
	outline: none;
	border-color: #372948;
	box-shadow: none;
}

/* Replace sort arrows SVG with provided chevron */
.the7-wc-catalog-ordering > svg {
	right: 15px !important;
	left: auto !important;
	width: 14px !important;
	height: 8px !important;
	padding: 0 !important;
	fill: none !important;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M0.75 0.749999L6.75 6.9569L12.75 0.75' stroke='%23372948' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px 8px;
	-webkit-mask-image: none;
	mask-image: none;
}

.the7-wc-catalog-ordering > svg path {
	opacity: 0;
}

/* Checkout — coupon and order review cards */
.wc-coupon-wrap .form-coupon-wrap,
.wc-order-review,
.cart-collaterals,
.wc-side-column {
	border-radius: 10px !important;
	background: #ffffff !important;
}

/* Checkout — apply coupon and place order buttons */
.wc-coupon-wrap .form-coupon-wrap button.button,
.form-row.place-order button,
.form-row.place-order #place_order,
.wc-proceed-to-checkout a.checkout-button,
.coupon .wc-cart-button,
body #place_order {
	border: none;
	border-radius: 50px;
	color: #ffffff;
	background: #AE65A9;
	padding: 17px 34px;
	min-height: 0;
	box-shadow: none;
	transition: 0.3s ease-in-out;
}

.wc-coupon-wrap .form-coupon-wrap button.button:hover,
.form-row.place-order button:hover,
.form-row.place-order #place_order:hover,
.wc-proceed-to-checkout a.checkout-button:hover,
.coupon .wc-cart-button:hover,
body #place_order:hover {
	color: #ffffff;
	background: #A9824E !important;
}

/* Cart / checkout / order received prices — The7 applies heading font (h4) to .amount */
.woocommerce-checkout-review-order .woocommerce-Price-amount,
.woocommerce-checkout-review-order .order-total .amount,
.woocommerce-checkout .woocommerce-Price-amount,
.woocommerce-cart-wrap .woocommerce-Price-amount,
.woocommerce-cart-wrap .order-total .amount,
.woocommerce-cart .woocommerce-Price-amount,
.woocommerce-thankyou-order-details .woocommerce-Price-amount,
.woocommerce-thankyou-order-details li .amount,
.woocommerce-order-overview__total .woocommerce-Price-amount,
.woocommerce-order-overview .amount,
.woocommerce-order-details .woocommerce-Price-amount {
	font-family: var(--spilgute-font-sans);
}

/* Order received — product name + qty on one line, meta below */
.woocommerce-order-details .order_details tr td.product-name,
.woocommerce-order-details .order_details tr th.product-name,
.woocommerce-table--order-details td.woocommerce-table__product-name {
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	row-gap: 0.35em;
	width: 70%;
}

.woocommerce-order-details .order_details tfoot th {
	width: 70%;
}

.woocommerce-order-details .order_details tr td.product-total,
.woocommerce-order-details .order_details tfoot td,
.woocommerce-table--order-details td.woocommerce-table__product-total {
	width: 30%;
}

.woocommerce-order-details td.product-name .wc-item-meta li {
	padding: 0;
}

/* Cart / mini-cart quantity — match product card (.spilgute-pc__qty) */
.woocommerce-cart-wrap .quantity,
.elementor-widget-woocommerce-cart .quantity,
.the7-e-woo-cart-wrapper .product-quantity .quantity,
.shopping-cart-inner .product-quantity .quantity,
.dt-mini-cart-template .product-quantity .quantity {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	float: none;
	box-sizing: border-box;
	min-width: 7.5rem;
	width: auto;
	height: 54px !important;
	margin: 0;
	padding: 0 0.35rem;
	border: 1px solid #DDD9D5 !important;
	border-radius: 6px;
	background: #ffffff !important;
	box-shadow: none;
	text-align: center;
}

.woocommerce-cart-wrap .quantity button.plus,
.woocommerce-cart-wrap .quantity button.minus,
.elementor-widget-woocommerce-cart .quantity button.plus,
.elementor-widget-woocommerce-cart .quantity button.minus,
#page .woocommerce-cart-wrap .quantity button.is-form,
.the7-e-woo-cart-wrapper .product-quantity .quantity button.plus,
.the7-e-woo-cart-wrapper .product-quantity .quantity button.minus,
.shopping-cart-inner .product-quantity .quantity button.plus,
.shopping-cart-inner .product-quantity .quantity button.minus,
#the7-body .the7-e-woo-cart-wrapper .product-quantity .quantity button.is-form,
#page .the7-e-woo-cart-wrapper .product-quantity .quantity button.is-form {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	min-width: 2.25rem;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 4px;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: #372948 !important;
	font-size: 1.15rem;
	line-height: 1;
	font-weight: 400;
	cursor: pointer;
}

.woocommerce-cart-wrap .quantity button.plus:hover,
.woocommerce-cart-wrap .quantity button.minus:hover,
.elementor-widget-woocommerce-cart .quantity button.plus:hover,
.elementor-widget-woocommerce-cart .quantity button.minus:hover,
#page .woocommerce-cart-wrap .quantity button.is-form:hover,
.the7-e-woo-cart-wrapper .product-quantity .quantity button.plus:hover,
.the7-e-woo-cart-wrapper .product-quantity .quantity button.minus:hover,
#the7-body .the7-e-woo-cart-wrapper .product-quantity .quantity button.is-form:hover,
#page .the7-e-woo-cart-wrapper .product-quantity .quantity button.is-form:hover {
	background: #f5f2ef !important;
	background-color: #f5f2ef !important;
	border-color: transparent !important;
	color: #372948 !important;
}

.woocommerce-cart-wrap .quantity button svg,
.elementor-widget-woocommerce-cart .quantity button svg,
.the7-e-woo-cart-wrapper .product-quantity .quantity button svg,
.the7-e-woo-cart-wrapper .product-quantity .quantity button.is-form svg {
	display: block;
	width: 1rem !important;
	height: 1rem !important;
	color: #372948;
	fill: #372948;
}

.woocommerce-cart-wrap .quantity input.qty,
.elementor-widget-woocommerce-cart .quantity input.qty,
.the7-e-woo-cart-wrapper .product-quantity .quantity .qty,
.the7-e-woo-cart-wrapper .product-quantity .quantity input.qty,
.the7-e-woo-cart-wrapper .product-quantity .quantity input[type="number"],
.shopping-cart-inner .product-quantity .quantity .qty {
	display: block !important;
	float: none !important;
	flex: 1 0 auto;
	align-self: center;
	width: 2.5rem !important;
	min-width: 2.5rem !important;
	height: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	outline: none;
	overflow: visible;
	opacity: 1 !important;
	visibility: visible !important;
	background: transparent !important;
	background-color: transparent !important;
	color: #372948 !important;
	-webkit-text-fill-color: #372948 !important;
	caret-color: #372948;
	font-family: var(--spilgute-font-sans) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	text-align: center !important;
	line-height: 54px !important;
	-moz-appearance: textfield !important;
	-webkit-appearance: textfield !important;
	appearance: textfield !important;
}

.woocommerce-cart-wrap .quantity input.qty:focus,
.woocommerce-cart-wrap .quantity input.qty:hover,
.woocommerce-cart-wrap .quantity input.qty:active,
.elementor-widget-woocommerce-cart .quantity input.qty:focus,
.elementor-widget-woocommerce-cart .quantity input.qty:hover,
.elementor-widget-woocommerce-cart .quantity input.qty:active,
.the7-e-woo-cart-wrapper .product-quantity .quantity .qty:focus,
.the7-e-woo-cart-wrapper .product-quantity .quantity .qty:hover,
.the7-e-woo-cart-wrapper .product-quantity .quantity .qty:active {
	outline: none;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	background-color: transparent !important;
}

.woocommerce-cart-wrap .quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart-wrap .quantity input.qty::-webkit-inner-spin-button,
.elementor-widget-woocommerce-cart .quantity input.qty::-webkit-outer-spin-button,
.elementor-widget-woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,
.the7-e-woo-cart-wrapper .product-quantity .quantity input[type="number"]::-webkit-inner-spin-button,
.the7-e-woo-cart-wrapper .product-quantity .quantity input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	display: none;
}

/* Account — links styled as buttons */
.woocommerce-account a.button,
.woocommerce-account a.woocommerce-button,
.woocommerce-account a.woocommerce-Button,
.woocommerce-account a.wc-forward,
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content a.woocommerce-button,
.woocommerce-MyAccount-content a.woocommerce-Button,
.woocommerce-MyAccount-content a.wc-forward,
.woocommerce-MyAccount-content button.button,
.woocommerce-MyAccount-content button.woocommerce-Button,
.woocommerce-MyAccount-content button.woocommerce-button,
.woocommerce-MyAccount-content .woocommerce-Button.button,
.woocommerce-form-login__submit,
button.woocommerce-button.woocommerce-form-login__submit,
form.woocommerce-ResetPassword.lost_reset_password button[type="submit"],
form.woocommerce-ResetPassword.lost_reset_password button.woocommerce-Button,
form.lost_reset_password button.woocommerce-Button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	padding: 17px 30px !important;
	border: none !important;
	border-radius: 50px;
	background: #AE65A9 !important;
	color: #ffffff !important;
	box-shadow: none !important;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 700 !important;
	font-style: normal !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
	cursor: pointer;
	transition: 0.3s ease-in-out;
}

.woocommerce-account a.button:hover,
.woocommerce-account a.button:focus,
.woocommerce-account a.woocommerce-button:hover,
.woocommerce-account a.woocommerce-button:focus,
.woocommerce-account a.woocommerce-Button:hover,
.woocommerce-account a.woocommerce-Button:focus,
.woocommerce-account a.wc-forward:hover,
.woocommerce-account a.wc-forward:focus,
.woocommerce-MyAccount-content a.button:hover,
.woocommerce-MyAccount-content a.button:focus,
.woocommerce-MyAccount-content a.woocommerce-button:hover,
.woocommerce-MyAccount-content a.woocommerce-button:focus,
.woocommerce-MyAccount-content a.woocommerce-Button:hover,
.woocommerce-MyAccount-content a.woocommerce-Button:focus,
.woocommerce-MyAccount-content a.wc-forward:hover,
.woocommerce-MyAccount-content a.wc-forward:focus,
.woocommerce-MyAccount-content button.button:hover,
.woocommerce-MyAccount-content button.button:focus,
.woocommerce-MyAccount-content button.woocommerce-Button:hover,
.woocommerce-MyAccount-content button.woocommerce-Button:focus,
.woocommerce-MyAccount-content button.woocommerce-button:hover,
.woocommerce-MyAccount-content button.woocommerce-button:focus,
.woocommerce-MyAccount-content .woocommerce-Button.button:hover,
.woocommerce-MyAccount-content .woocommerce-Button.button:focus,
.woocommerce-form-login__submit:hover,
.woocommerce-form-login__submit:focus,
button.woocommerce-button.woocommerce-form-login__submit:hover,
button.woocommerce-button.woocommerce-form-login__submit:focus,
form.woocommerce-ResetPassword.lost_reset_password button[type="submit"]:hover,
form.woocommerce-ResetPassword.lost_reset_password button[type="submit"]:focus,
form.woocommerce-ResetPassword.lost_reset_password button.woocommerce-Button:hover,
form.woocommerce-ResetPassword.lost_reset_password button.woocommerce-Button:focus,
form.lost_reset_password button.woocommerce-Button:hover,
form.lost_reset_password button.woocommerce-Button:focus {
	background: #A9824E !important;
	color: #ffffff !important;
}

.woocommerce-info {
	margin-bottom: 40px;
}

.theme-dt-the7 .the7-woo-select2-dropdown .select2-results__option--highlighted[aria-selected],
.woocommerce-MyAccount-content mark {
	color: #ffffff !important;
	background: #AE65A9 !important;
}

/* Museum registration checkout — no shipping */
body.spilgute-museum-checkout .woocommerce-shipping-fields,
body.spilgute-museum-checkout .woocommerce-shipping-totals,
body.spilgute-museum-checkout #ship-to-different-address,
body.spilgute-museum-checkout .woocommerce-checkout-review-order-table .shipping,
body.spilgute-museum-checkout .dpd-terminals,
body.spilgute-museum-checkout .shipping-method-list,
body.spilgute-museum-checkout #shipping_method {
	display: none !important;
}

body.spilgute-museum-checkout .spilgute-museum-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Booking summary block — left column, after order notes */
.spilgute-museum-booking-summary {
	padding: 16px 20px;
	background: #ffffff;
	border: 0;
	border-radius: 8px;
}

.spilgute-museum-booking-summary h4 {
	margin: 0 0 12px;
}

.spilgute-museum-booking-summary__table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: 14px;
	border-bottom: none !important;
}

.spilgute-museum-booking-summary__table th,
.spilgute-museum-booking-summary__table td {
	padding: 5px 8px 5px 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
	vertical-align: top;
	line-height: 1.4;
}

.spilgute-museum-booking-summary__table th {
	width: 140px;
	font-weight: 600;
	color: #372948;
	white-space: nowrap;
}

.spilgute-museum-booking-summary__table td {
	color: #555;
}

.single-product-duk-wrapper .svg-icon-wrapper {
	min-width: 39px;
}

/* Product short description — 3 lines + ellipsis */
.product-short-description,
.product-short-description .elementor-widget-container {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
}

.woocommerce-product-gallery__image a img {
	width: 100% !important;
	object-fit: cover !important;
}

.woocommerce-shipping-methods li,
.woocommerce-shipping-totals li {
	display: flex;
	flex-direction: row;
	gap: 10px;
	align-items: center;
}

.woocommerce-shipping-methods li label,
.woocommerce-shipping-totals li label {
	display: flex !important;
	align-items: center !important;
	flex-direction: row !important;
}

.woocommerce-shipping-methods li .dpd-carrier-icon-image-holder,
.woocommerce-shipping-totals li .dpd-carrier-icon-image-holder {
	width: fit-content !important;
}

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

.woocommerce-table--order-details tr {
	flex-direction: row;
}

@media only screen and (max-width: 640px) {
	.cart-footer .coupon {
		padding-right: 0 !important;
		padding-bottom: 20px !important;
	}

	.woocommerce-cart-wrap .coupon > * {
		margin-top: 0 !important;
	}

	.woocommerce-cart-wrap .cart.shop_table td.actions {
		padding-top: 5px !important;
	}
}

@media only screen and (max-width: 430px) {
	.cart-footer .coupon {
		gap: 20px;
	}

	.coupon .wc-coupon-field {
		width: 100% !important;
	}

	#coupon_code {
		width: 100%;
		margin: 0 !important;
	}

	.dt-wc-btn.wc-cart-button.button {
		width: 100%;
	}
}