/*------------------------------------*\
    WooCommerce – Verge theme
\*------------------------------------*/

.woocommerce-main {
	padding-top: 40px;
	padding-bottom: 80px;
}

.woocommerce-main .woocommerce,
.woocommerce-page .woocommerce {
	font-family: 'Campton', sans-serif;
	color: #1B1C20;
}

/* Headings */
.woocommerce-main .woocommerce h1,
.woocommerce-main .woocommerce h2,
.woocommerce-page .entry-title {
	font-family: 'Campton', sans-serif;
	font-weight: bold;
	color: #EA5632;
	text-align: left;
	font-size: 36px;
	line-height: 113%;
	margin: 0 0 30px;
	padding: 0;
}

.woocommerce-main .woocommerce h3 {
	font-size: 22px;
	color: #687BBB;
	margin: 0 0 16px;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
p.no-comments {
	border-top-color: #EA5632 !important;
	background: #fff !important;
	border-radius: 12px;
	padding: 1em 1.5em 1em 3.5em !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: #EA5632 !important;
}

.woocommerce-error {
	border-top-color: #c0392b !important;
}

.woocommerce-message a,
.woocommerce-info a {
	color: #EA5632;
	font-weight: bold;
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt.disabled,
.woocommerce button.button.alt.disabled {
	color: #fff !important;
	border: 1px solid #EA5632 !important;
	background: #EA5632 !important;
	font-family: 'Campton', sans-serif;
	font-weight: bold;
	padding: 10px 22px !important;
	border-radius: 29px !important;
	font-size: 15px !important;
	text-transform: uppercase;
	line-height: 1.3 !important;
	height: auto !important;
	box-shadow: none !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: #d44828 !important;
	border-color: #d44828 !important;
	color: #fff !important;
}

.woocommerce a.button:disabled,
.woocommerce button.button:disabled,
.woocommerce input.button:disabled,
.woocommerce a.button.disabled,
.woocommerce button.button.disabled {
	opacity: 0.55;
}

/* Forms */
.woocommerce form .form-row label {
	font-weight: 500;
	color: #1B1C20;
	margin-bottom: 6px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row .select2-container .select2-selection--single,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce #coupon_code {
	border: 1px solid #C9CFC3;
	border-radius: 8px;
	background: #fff;
	padding: 10px 14px;
	font-family: 'Campton', sans-serif;
	font-size: 15px;
	color: #1B1C20;
	height: auto;
	min-height: 44px;
	box-shadow: none;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce #coupon_code:focus {
	border-color: #687BBB;
	outline: none;
}

.woocommerce form .form-row .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
}

.woocommerce form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 42px;
}

.woocommerce form .form-row .required {
	color: #EA5632;
}

/* Cart */
.woocommerce-cart table.cart,
.woocommerce table.shop_table {
	border: none;
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}

.woocommerce table.shop_table th {
	background: #687BBB;
	color: #fff;
	font-weight: bold;
	border: none !important;
	padding: 14px 16px !important;
}

.woocommerce table.shop_table td {
	border-color: #e8ebe4 !important;
	padding: 16px !important;
	vertical-align: middle;
}

.woocommerce table.shop_table tbody tr:nth-child(even) td {
	background: #fafafa;
}

.woocommerce-cart table.cart img {
	width: 56px;
	border-radius: 8px;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals {
	margin-top: 30px;
}

.woocommerce-cart .cart_totals {
	background: #fff;
	border-radius: 12px;
	padding: 24px;
}

.woocommerce-cart .cart_totals h2 {
	font-size: 26px;
	text-align: left;
	margin-bottom: 16px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block;
	text-align: center;
	width: 100%;
}

/* Checkout */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
	margin-bottom: 30px;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
	background: #fff;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 24px;
}

.woocommerce-checkout #order_review_heading {
	margin-bottom: 0;
	border-radius: 12px 12px 0 0;
	padding-bottom: 0;
}

.woocommerce-checkout #order_review {
	border-radius: 0 0 12px 12px;
	margin-top: 0;
}

.woocommerce-checkout #payment {
	background: #f7f8f5;
	border-radius: 12px;
	padding: 20px;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom-color: #C9CFC3;
	padding: 0 0 16px;
}

.woocommerce-checkout #payment ul.payment_methods li {
	line-height: 1.5;
	margin-bottom: 10px;
}

.woocommerce-checkout #payment div.payment_box {
	background: #fff;
	border-radius: 8px;
	color: #1B1C20;
}

.woocommerce-checkout #payment div.payment_box::before {
	border-bottom-color: #fff !important;
}

.woocommerce-checkout #payment div.form-row {
	padding: 1em 0 0;
}

/* Order received / thank you */
.woocommerce-order {
	background: #fff;
	border-radius: 12px;
	padding: 30px;
}

.woocommerce-order .woocommerce-thankyou-order-received {
	font-size: 20px;
	font-weight: bold;
	color: #687BBB;
	margin-bottom: 20px;
}

.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 0;
	margin: 0 0 24px;
	list-style: none;
}

.woocommerce-order-overview li,
ul.woocommerce-order-overview.order_details li {
	background: #f7f8f5 !important;
	border-radius: 10px !important;
	padding: 20px 22px !important;
	margin: 0 !important;
	border: none !important;
	flex: 1 1 180px;
	line-height: 1.45;
}

.woocommerce-order-overview li strong {
	display: block;
	color: #1B1C20;
	margin-top: 8px;
	font-size: 16px;
}

/* Order details table – avoid solid blue label block */
.woocommerce-order .woocommerce-table--order-details,
.woocommerce-order table.shop_table {
	background: #fff;
	border: 1px solid #e8ebe4 !important;
	border-radius: 12px;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce-order table.shop_table thead th {
	background: #687BBB !important;
	color: #fff !important;
	padding: 14px 18px !important;
	border: none !important;
}

.woocommerce-order table.shop_table td,
.woocommerce-order table.shop_table tfoot th,
.woocommerce-order table.shop_table tfoot td {
	background: #fff !important;
	color: #1B1C20 !important;
	border-top: 1px solid #e8ebe4 !important;
	border-bottom: none !important;
	padding: 16px 18px !important;
	vertical-align: top;
}

.woocommerce-order table.shop_table tfoot th {
	font-weight: 600;
	text-align: left;
	width: 50%;
}

.woocommerce-order table.shop_table tfoot tr:last-child th,
.woocommerce-order table.shop_table tfoot tr:last-child td {
	background: #f7f8f5 !important;
	font-weight: bold;
}

.woocommerce-order table.shop_table .product-name,
.woocommerce-order table.shop_table .product-total {
	padding: 18px !important;
}

.woocommerce-order .woocommerce-customer-details,
.woocommerce-order .woocommerce-column--billing-address,
.woocommerce-order address {
	background: #f7f8f5;
	border-radius: 12px;
	padding: 20px 22px !important;
	border: none !important;
}

/* My account (light touch) */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fff;
	border-radius: 12px;
	padding: 16px;
	margin-bottom: 24px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid #e8ebe4;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 8px;
	color: #1B1C20;
	font-weight: 500;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	color: #EA5632;
	font-weight: bold;
}

.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border-radius: 12px;
	padding: 24px;
}

/* Quantity */
.woocommerce .quantity .qty {
	border: 1px solid #C9CFC3;
	border-radius: 8px;
	padding: 8px;
	width: 4.5em;
}

/* Remove default Woo breadcrumbs spacing issues */
.woocommerce-breadcrumb {
	margin-bottom: 20px !important;
	color: #687BBB;
	font-size: 14px;
}

.woocommerce-breadcrumb a {
	color: #EA5632;
}

/* Amelia / appointment cart rows */
.woocommerce-cart .product-name a,
.woocommerce-checkout .product-name {
	color: #1B1C20;
	font-weight: 600;
}

.woocommerce-cart .product-name a:hover {
	color: #EA5632;
}

@media (max-width: 767px) {
	.woocommerce-main {
		padding-top: 20px;
		padding-bottom: 50px;
	}

	.woocommerce-main .woocommerce h1,
	.woocommerce-main .woocommerce h2,
	.woocommerce-page .entry-title {
		font-size: 28px;
	}

	.woocommerce table.shop_table_responsive tr td {
		text-align: left !important;
	}

	.woocommerce-cart .cart_totals,
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review,
	.woocommerce-order {
		padding: 18px;
	}
}

/*------------------------------------*\
    WooCommerce Blocks (Cart / Checkout)
\*------------------------------------*/

body.woocommerce-cart .about_page > .wrapper,
body.woocommerce-checkout .about_page > .wrapper,
body.woocommerce-account .about_page > .wrapper {
	padding-top: 30px;
	padding-bottom: 60px;
}

.wc-block-cart,
.wc-block-checkout,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
body.woocommerce-cart,
body.woocommerce-checkout {
	--wc-primary: #EA5632;
	--wc-primary-hover: #d44828;
	--wc-primary-text: #fff;
	--wc-secondary: #687BBB;
	--wc-secondary-text: #fff;
	--wc-accent-color: #EA5632;
	font-family: 'Campton', sans-serif;
	color: #1B1C20;
}

.wc-block-cart .wc-block-cart-items,
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout .wc-block-checkout__main,
.wc-block-checkout .wc-block-checkout__sidebar {
	background: #fff;
	border-radius: 12px;
	padding: 20px !important;
	border: none !important;
}

.wc-block-components-title,
.wc-block-cart h2,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	font-family: 'Campton', sans-serif !important;
	font-weight: bold !important;
	color: #687BBB !important;
	font-size: 22px !important;
}

.wc-block-cart-items__header,
.wc-block-cart-items__header-product,
.wc-block-cart-items__header-total {
	color: #687BBB !important;
	font-weight: bold !important;
	font-size: 13px !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-bottom: 2px solid #EA5632 !important;
}

.wc-block-components-product-name,
.wc-block-cart-item__product a {
	color: #1B1C20 !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	text-decoration: none !important;
}

.wc-block-components-product-metadata,
.wc-block-components-product-details,
.wc-block-components-product-details__name,
.wc-block-components-product-details__value {
	color: #1B1C20 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
}

.wc-block-components-product-price,
.wc-block-formatted-money-amount {
	color: #1B1C20 !important;
	font-weight: 600 !important;
}

.wc-block-cart-item__image,
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image,
.wc-block-components-order-summary-item__image img {
	display: none !important;
}

/* After hiding thumbnail, keep header + row as two columns */
.wc-block-cart-items {
	width: 100% !important;
}

.wc-block-cart-items__header {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	gap: 16px;
}

.wc-block-cart-items__header-image,
.wc-block-cart-items__header-quantity {
	display: none !important;
}

.wc-block-cart-items__header-product {
	flex: 1 1 auto !important;
	text-align: left !important;
}

.wc-block-cart-items__header-total {
	flex: 0 0 auto !important;
	text-align: right !important;
	margin-left: auto !important;
}

.wc-block-cart-items__row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	width: 100% !important;
	gap: 24px;
}

.wc-block-cart-item__image,
.wc-block-cart-item__quantity {
	display: none !important;
}

.wc-block-cart-item__product,
.wc-block-cart-item__wrap {
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
}

.wc-block-cart-item__total {
	flex: 0 0 auto !important;
	margin-left: auto !important;
	text-align: right !important;
	white-space: nowrap;
}

.wc-block-components-product-name {
	white-space: normal !important;
	word-break: normal !important;
}

.wc-block-components-product-metadata {
	max-width: 100% !important;
}

.wc-block-cart-item__remove-link {
	color: #EA5632 !important;
}

.wc-block-components-totals-item__label {
	color: #1B1C20 !important;
	font-weight: 600 !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: #EA5632 !important;
	font-weight: bold !important;
	font-size: 20px !important;
}

.wc-block-components-panel__button {
	color: #687BBB !important;
	font-weight: 600 !important;
}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-components-button.wp-element-button:not(.is-link):not(.wc-block-cart-item__remove-link),
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
	background: #EA5632 !important;
	background-color: #EA5632 !important;
	border: 1px solid #EA5632 !important;
	border-radius: 29px !important;
	color: #fff !important;
	font-family: 'Campton', sans-serif !important;
	font-weight: bold !important;
	font-size: 15px !important;
	text-transform: uppercase !important;
	padding: 12px 24px !important;
	box-shadow: none !important;
	min-height: 48px !important;
}

.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-button.wp-element-button:not(.is-link):hover {
	background: #d44828 !important;
	background-color: #d44828 !important;
	border-color: #d44828 !important;
	color: #fff !important;
}

.wc-block-components-text-input input,
.wc-block-components-textarea textarea,
.wc-block-components-combobox input,
.wc-block-components-totals-coupon__form input {
	border: 1px solid #C9CFC3 !important;
	border-radius: 8px !important;
	font-family: 'Campton', sans-serif !important;
	color: #1B1C20 !important;
	background: #fff !important;
	box-shadow: none !important;
}

.wc-block-components-text-input input:focus {
	border-color: #687BBB !important;
}

.wc-block-components-checkout-step__title {
	font-family: 'Campton', sans-serif !important;
	color: #687BBB !important;
	font-weight: bold !important;
}

@media (max-width: 767px) {
	.wc-block-cart .wc-block-cart-items,
	.wc-block-cart .wc-block-cart__sidebar,
	.wc-block-checkout .wc-block-checkout__main,
	.wc-block-checkout .wc-block-checkout__sidebar {
		padding: 16px !important;
	}
}

/* Footer partner logos – keep sizing on WC pages */
body.woocommerce-cart .worktogether .logo_item,
body.woocommerce-checkout .worktogether .logo_item,
body.woocommerce-account .worktogether .logo_item {
	height: 78px !important;
	width: auto !important;
	max-width: 100% !important;
	max-height: 78px !important;
	object-fit: contain !important;
}

body.woocommerce-cart .worktogether .flex_parent,
body.woocommerce-checkout .worktogether .flex_parent,
body.woocommerce-account .worktogether .flex_parent {
	display: flex !important;
	align-items: center;
}

@media (max-width: 980px) {
	body.woocommerce-cart .worktogether .flex_parent,
	body.woocommerce-checkout .worktogether .flex_parent,
	body.woocommerce-account .worktogether .flex_parent {
		display: block !important;
	}

	body.woocommerce-cart .worktogether .logo_item,
	body.woocommerce-checkout .worktogether .logo_item,
	body.woocommerce-account .worktogether .logo_item {
		margin-bottom: 16px;
	}
}
