/**
 * HC WooCommerce Vacation storefront styles.
 * Selectors are deliberately scoped for compatibility with Impreza and other themes.
 */

.hcwcv-vacation-notice {
	--hcwcv-notice-accent: #8a5a00;
	--hcwcv-notice-background: #fff8e5;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	width: 100%;
	margin-block: 0 28px;
	padding: clamp(16px, 2.5vw, 22px);
	border: 1px solid rgba(138, 90, 0, 0.22);
	border-inline-start: 4px solid var(--hcwcv-notice-accent);
	border-radius: 12px;
	background: var(--hcwcv-notice-background);
	box-shadow: 0 8px 28px rgba(47, 35, 14, 0.08);
	color: #342a17;
	font: inherit;
	line-height: 1.65;
	box-sizing: border-box;
}

.hcwcv-vacation-notice::before {
	content: "";
	width: 28px;
	height: 26px;
	margin-block-start: 1px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'%3E%3Cpath fill='%238a5a00' d='M14 0 27.7 23.1A2 2 0 0 1 26 26H2A2 2 0 0 1 .3 23.1L14 0Z'/%3E%3Cpath fill='%23fff' d='M12.75 7h2.5l-.35 11h-1.8L12.75 7Zm.15 13h2.2v2.2h-2.2V20Z'/%3E%3C/svg%3E") center / contain no-repeat;
	flex: 0 0 auto;
	box-sizing: border-box;
}

.hcwcv-vacation-notice__content > :first-child {
	margin-block-start: 0;
}

.hcwcv-vacation-notice__content > :last-child {
	margin-block-end: 0;
}

.hcwcv-vacation-notice a {
	color: inherit;
	font-weight: 600;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

body.hcwcv-purchases-blocked :is(
	.checkout-button,
	#place_order,
	.wc-block-cart__submit-button,
	.wc-block-mini-cart__footer-checkout,
	.wc-block-components-checkout-place-order-button,
	.wc-block-components-express-payment__event-buttons button
) {
	opacity: 0.55 !important;
	cursor: not-allowed !important;
	pointer-events: none !important;
	filter: grayscale(0.2);
}

.hcwcv-disabled-checkout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
}

.hcwcv-checkout-reason {
	margin-block: 10px 0;
	color: inherit;
	font-size: 0.9em;
	line-height: 1.5;
}

@media (max-width: 600px) {
	.hcwcv-vacation-notice {
		gap: 11px;
		margin-block-end: 20px;
		border-radius: 9px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.hcwcv-vacation-notice {
		animation: hcwcv-notice-in 240ms ease-out both;
	}

	@keyframes hcwcv-notice-in {
		from {
			opacity: 0;
			transform: translateY(-5px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
}
