/* October 15 follow-ups: consistent buttons, notices, checkout and product cards. */

/* Payment buttons are modestly rounded rectangles. */
body:is(.woocommerce-cart, .page-id-1765) #main .cart_totals .wc-proceed-to-checkout a.checkout-button,
body.single-product #main .ct-product-add-to-cart form.cart .ct-cart-actions button.single_add_to_cart_button.button {
	border: 1px solid #1d1d1f !important;
	border-radius: 5px !important;
	background: #1d1d1f !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
body:is(.woocommerce-cart, .page-id-1765) #main .cart_totals .wc-proceed-to-checkout a.checkout-button:is(:hover, :focus-visible),
body.single-product #main .ct-product-add-to-cart form.cart .ct-cart-actions button.single_add_to_cart_button.button:is(:hover, :focus-visible) {
	border-color: #fa8c16 !important;
	background: #fa8c16 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
body:is(.woocommerce-cart, .page-id-1765) #main .cart_totals .wc-proceed-to-checkout a.checkout-button {
	width: 100% !important;
	min-height: 50px !important;
}
body.single-product #main .ct-product-add-to-cart form.cart .ct-cart-actions button.single_add_to_cart_button.button {
	min-height: 48px !important;
}

/* The cart notice is the reference for all WooCommerce notices. */
body:not(.home) #main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice--success, .woocommerce-notice--error) {
	position: relative !important;
	box-sizing: border-box !important;
	margin: 0 0 18px !important;
	padding: 18px 22px 18px 56px !important;
	border: 1px solid #e5e5e7 !important;
	border-radius: 18px !important;
	background: #f5f5f7 !important;
	box-shadow: none !important;
	color: #1d1d1f !important;
	-webkit-text-fill-color: #1d1d1f !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}
body:not(.home) #main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice--success, .woocommerce-notice--error)::before {
	left: 21px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	color: #fa8c16 !important;
}
body:not(.home) #main :is(.woocommerce-error, .woocommerce-notice--error)::before {
	top: 22px !important; transform: none !important;
}
body:not(.home) #main :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice--success, .woocommerce-notice--error) :is(li, a:not(.button), span, strong) {
	color: #1d1d1f !important;
	-webkit-text-fill-color: #1d1d1f !important;
}
/* Checkout blocks use a different notice element and keep their inline icon. */
body:is(.woocommerce-cart, .woocommerce-checkout) #main .wc-block-components-notice-banner {
	box-sizing: border-box !important;
	gap: 12px !important;
	margin-bottom: 18px !important;
	padding: 18px 22px !important;
	border: 1px solid #e5e5e7 !important;
	border-radius: 18px !important;
	background: #f5f5f7 !important;
	box-shadow: none !important;
	color: #1d1d1f !important;
	-webkit-text-fill-color: #1d1d1f !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}
body:is(.woocommerce-cart, .woocommerce-checkout) #main .wc-block-components-notice-banner svg {
	fill: #fa8c16 !important;
}
body:is(.woocommerce-cart, .woocommerce-checkout) #main .wc-block-components-notice-banner :is(a:not(.button), span, strong) {
	color: #1d1d1f !important;
	-webkit-text-fill-color: #1d1d1f !important;
}
body:not(.home) #main .woocommerce-error li + li { margin-top: 5px !important; }
body:not(.home) #main .woocommerce-error li { list-style: none !important; }
body:not(.home) #main :is(.woocommerce-error, .woocommerce-notice--error) a.button {
	display: inline-flex !important; align-items: center; justify-content: center;
	float: none !important; min-height: 40px !important; margin: 8px 0 0 !important;
	padding: 8px 18px !important; border: 1px solid #1d1d1f !important;
	border-radius: 999px !important; background: #1d1d1f !important;
	color: #fff !important; -webkit-text-fill-color: #fff !important;
	font-size: 13px !important; font-weight: 700 !important; line-height: 1.2 !important;
}
body:not(.home) #main :is(.woocommerce-error, .woocommerce-notice--error) a.button:is(:hover, :focus-visible) {
	border-color: #fa8c16 !important; background: #fa8c16 !important;
	color: #fff !important; -webkit-text-fill-color: #fff !important;
}

/* Free-shipping progress is legible on checkout as it is in the cart. */
body.page-id-1766 #main .fs-free-shipping-notice-and-button-wrapper {
	display: flex !important; align-items: center !important; justify-content: space-between !important;
	gap: 20px !important; color: #1d1d1f !important;
}
body.page-id-1766 #main .fs-free-shipping-notice-text-and-progress-bar-wrapper { flex: 1 1 auto; min-width: 0; }
body.page-id-1766 #main .fs-free-shipping-notice-text,
body.page-id-1766 #main .fs-free-shipping-notice-text .amount {
	color: #1d1d1f !important; font-size: 15px !important; font-weight: 700 !important;
}
body.page-id-1766 #main .fs-free-shipping-notice-progress-bar-wrapper {
	display: flex !important; align-items: center !important; gap: 10px !important; margin-top: 8px !important;
}
body.page-id-1766 #main :is(.fs-free-shipping-notice-opening-value, .fs-free-shipping-notice-closing-value) {
	color: #6e6e73 !important; font-size: 12px !important;
}
body.page-id-1766 #main .fs-free-shipping-notice-progress-bar {
	flex: 1 1 150px; height: 7px !important; overflow: hidden;
	border-radius: 999px !important; background: #d2d2d7 !important;
}
body.page-id-1766 #main .fs-free-shipping-notice-progress-bar > span {
	display: block; height: 100%; border-radius: inherit; background: #fa8c16 !important;
}
body:is(.woocommerce-cart, .page-id-1765, .woocommerce-checkout, .page-id-1766) #main .fs-free-shipping-notice-continue-shopping-button-wrapper a.button.flexible-shipping-free-shipping-button {
	display: inline-flex !important; align-items: center; justify-content: center;
	min-height: 44px !important; padding: 10px 20px !important;
	border: 1px solid #1d1d1f !important; border-radius: 999px !important;
	background: #1d1d1f !important; color: #fff !important; -webkit-text-fill-color: #fff !important;
	font-size: 13px !important; font-weight: 700 !important; text-transform: none !important;
}
body:is(.woocommerce-cart, .page-id-1765, .woocommerce-checkout, .page-id-1766) #main .fs-free-shipping-notice-continue-shopping-button-wrapper a.button.flexible-shipping-free-shipping-button:is(:hover, :focus-visible) {
	border-color: #fa8c16 !important; background: #fa8c16 !important;
	color: #fff !important; -webkit-text-fill-color: #fff !important;
}

/* Checkout follows the current pale panels and white inputs used across the shop. */
body.page-id-1766 #main {
	margin-bottom: clamp(32px, 5vw, 72px) !important;
	padding-bottom: clamp(24px, 3vw, 48px) !important;
}
body.page-id-1766 #main .entry-content.is-layout-constrained {
	box-sizing: border-box; width: calc(100% - 32px) !important;
	max-width: 1600px !important; margin-inline: auto !important;
}
body.page-id-1766 #main #customer_details {
	box-sizing: border-box; min-width: 0;
	padding: clamp(20px, 2.5vw, 32px) !important;
	border: 1px solid #e5e5e7 !important;
	border-radius: 20px !important; background: #fff !important;
}
body.page-id-1766 #main #customer_details :is(h2, h3) {
	color: #1d1d1f !important; font-size: clamp(22px, 2vw, 28px) !important;
	font-weight: 700 !important; line-height: 1.2 !important;
}
body.page-id-1766 #main .woocommerce-checkout .form-row label {
	color: #1d1d1f !important; font-size: 14px !important; font-weight: 600 !important;
}
body.page-id-1766 #main #order_review {
	box-sizing: border-box; min-width: 0; padding: clamp(20px, 2.5vw, 32px) !important;
	border: 1px solid #e5e5e7 !important; border-radius: 20px !important;
	background: #f5f5f7 !important; box-shadow: none !important;
}
body.page-id-1766 #main #order_review table.shop_table,
body.page-id-1766 #main #order_review table.shop_table :is(thead, tbody, tfoot, tr, th, td) {
	background: #f5f5f7 !important; background-color: #f5f5f7 !important;
}
body.page-id-1766 #main #order_review table.shop_table {
	border: 1px solid #dfe0e5 !important; border-radius: 14px !important; overflow: hidden;
}
body.page-id-1766 #main #order_review table.shop_table :is(th, td) {
	border-color: #dfe0e5 !important; color: #1d1d1f !important;
}
body.page-id-1766 #main #order_review #payment { background: transparent !important; }
body.page-id-1766 #main #payment #place_order {
	width: 100% !important; min-height: 50px !important;
	border: 1px solid #1d1d1f !important; border-radius: 5px !important;
	background: #1d1d1f !important; color: #fff !important; -webkit-text-fill-color: #fff !important;
}
body.page-id-1766 #main #payment #place_order:is(:hover, :focus-visible) {
	border-color: #fa8c16 !important; background: #fa8c16 !important;
	color: #fff !important; -webkit-text-fill-color: #fff !important;
}
body.page-id-1766 #main .woocommerce-checkout :is(input.input-text, textarea, select) {
	border: 1px solid #d2d2d7 !important; border-radius: 12px !important;
	background: #fff !important; color: #1d1d1f !important;
}
body.page-id-1766 #main .woocommerce-checkout input.input-text { min-height: 46px !important; }

/* About cards: the portrait caption has its own space below the image. */
@media (max-width: 767px) {
	body.page-id-3472 #main .elementor-element-bc0a40e {
		box-sizing: border-box; min-height: 480px !important;
		padding: 0 16px 24px !important; background-size: auto 74% !important;
		background-position: center 12px !important;
		display: flex !important; flex-direction: column !important;
		justify-content: flex-end !important; align-items: center !important;
	}
	body.page-id-3472 #main .elementor-element-bc0a40e .elementor-element-78d6905 {
		position: relative !important; inset: auto !important; transform: none !important;
		width: 100% !important; max-width: 100% !important;
		padding: 0 8px !important; text-align: center !important;
	}
	body.page-id-3472 #main .elementor-element-bc0a40e .elementor-element-78d6905 p {
		font-size: 15px !important; line-height: 1.4 !important;
	}
	body.page-id-1766 #main .entry-content.is-layout-constrained { width: calc(100% - 24px) !important; }
	body.page-id-1766 #main #order_review { margin-top: 24px !important; }
	body.page-id-1766 #main .fs-free-shipping-notice-and-button-wrapper {
		flex-direction: column !important; align-items: stretch !important; gap: 14px !important;
	}
	body.page-id-1766 #main .fs-free-shipping-notice-continue-shopping-button-wrapper a.button { width: 100% !important; }
}

/* The shared About contact block has deliberate columns and aligned headings. */
body.page-id-3472 #main .elementor-element-c0a79e1 > .elementor-element-aformcss1 {
	display: none !important;
}
body.page-id-3472 #main .elementor-element-37c51f6 {
	column-gap: 0 !important; align-items: stretch !important;
}
body.page-id-3472 #main .elementor-element-37c51f6 > :is(.elementor-element-c0a79e1, .elementor-element-ltfheqq1) {
	box-sizing: border-box; min-width: 0 !important;
}
body.page-id-3472 #main .elementor-element-37c51f6 > .elementor-element-ltfheqq1 {
	padding-left: clamp(28px, 3vw, 44px) !important;
	border-left: 1px solid #dddde2 !important;
	align-self: stretch !important;
	justify-content: center !important;
}
body.page-id-3472 #main .elementor-element-ltfheqq1 :is(h2, h3, p) {
	margin-top: 0 !important; overflow-wrap: anywhere;
}
@media (max-width: 900px) {
	body.page-id-3472 #main .elementor-element-37c51f6 > .elementor-element-ltfheqq1 {
		margin: 24px clamp(20px, 4vw, 42px) 0 !important;
		padding: 24px 0 clamp(26px, 4vw, 42px) !important;
		border-left: 0 !important; border-top: 1px solid #dddde2 !important;
		justify-content: flex-start !important;
	}
}

/* Balance the gallery/summary spacing with the tabs card below. */
body.single-product #main .product-entry-wrapper.is-width-constrained { gap: 24px !important; }
body.single-product #main .woocommerce-tabs.wc-tabs-wrapper { margin-top: 24px !important; }
body.single-product #main #tab-additional_information table.shop_attributes {
	width: 100% !important; max-width: 800px !important; margin: 0 auto !important;
	border: 1px solid #e5e5e7 !important; border-radius: 14px !important;
	border-collapse: separate !important; border-spacing: 0 !important;
	overflow: hidden; background: #f5f5f7 !important;
}
body.single-product #main #tab-additional_information table.shop_attributes :is(tr, th, td) {
	border-color: #e5e5e7 !important; background: #f5f5f7 !important;
	color: #1d1d1f !important; font-size: 15px !important; line-height: 1.45 !important;
}
body.single-product #main #tab-additional_information table.shop_attributes tr + tr :is(th, td) {
	border-top: 1px solid #e5e5e7 !important;
}
body.single-product #main #tab-additional_information table.shop_attributes th {
	width: 35% !important; padding: 13px 18px !important; font-weight: 700 !important;
}
body.single-product #main #tab-additional_information table.shop_attributes td {
	padding: 13px 18px !important; font-weight: 400 !important;
}
body.single-product #main #tab-additional_information table.shop_attributes td p { margin: 0 !important; }
@media (max-width: 767px) {
	body.single-product #main .product-entry-wrapper.is-width-constrained { gap: 16px !important; }
	body.single-product #main .woocommerce-tabs.wc-tabs-wrapper { margin-top: 16px !important; }
	body.single-product #main #tab-additional_information table.shop_attributes th { width: 42% !important; }
}
@media (max-width: 1024px) {
	body.single-product #main .product-entry-wrapper.is-width-constrained > .woocommerce-product-gallery + .summary.entry-summary {
		margin-top: 24px !important;
	}
}
@media (max-width: 767px) {
	body.single-product #main .product-entry-wrapper.is-width-constrained > .woocommerce-product-gallery + .summary.entry-summary {
		margin-top: 16px !important;
	}
}

/* The archive sort control belongs at the far right at every screen width. */
body.woocommerce.archive #main .woo-listing-top {
	box-sizing: border-box !important;
	display: flex !important;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: none !important;
}
body.woocommerce.archive #main .woo-listing-top .woocommerce-result-count {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	margin-right: 0 !important;
}
body.woocommerce.archive #main .woo-listing-top form.woocommerce-ordering {
	flex: 0 0 44px !important;
	margin-left: auto !important;
	margin-right: 0 !important;
}
@media (max-width: 600px) {
	body.woocommerce.archive #main .woo-listing-top { gap: 8px !important; }
	body.woocommerce.archive #main .woo-listing-top .woocommerce-result-count {
		font-size: 11px !important;
		line-height: 1.25 !important;
		white-space: normal !important;
	}
}

/* Give the three-column tablet product cards a little more room to tap. */
@media (min-width: 900px) and (max-width: 1199px) {
	body.woocommerce:not(.single-product) #main ul.products[data-products="type-2"] > li.product > .ct-woo-card-actions > :is(a.button:not(.added), a.added_to_cart) {
		min-width: 120px !important;
		min-height: 46px !important;
		padding: 10px 16px !important;
		font-size: 12px !important;
	}
}
