/* WooCommerce — m2m theme (account, cart, checkout, mini-cart) */

.woocommerce-m2m {
	font-family: "Dosis", sans-serif;
	font-weight: 300;
	font-size: 14px;
	color: #414042;
	padding-top: 1rem;
	padding-bottom: 2rem;
}

/* Minimum 12px copy (Bootstrap html is 10px — avoid rem for UI text in theme CSS) */
.woocommerce-m2m .woocommerce-mini-cart__empty-message,
.m2m-library-cart-dropdown .woocommerce-mini-cart__empty-message {
	font-size: 14px;
}

.woocommerce-m2m .wc-block-components-validation-error,
.woocommerce-m2m .wc-block-components-notice-banner,
.woocommerce-m2m .wc-block-components-totals-item__description,
.woocommerce-m2m .wc-block-components-checkbox label,
.woocommerce-m2m .wc-block-components-chip .wc-block-components-chip__text,
.woocommerce-m2m .wc-block-components-form .wc-block-components-checkout-step__description {
	font-size: 12px;
}

.woocommerce-m2m .woocommerce-message,
.woocommerce-m2m .woocommerce-info,
.woocommerce-m2m .woocommerce-error {
	margin: 0 0 1rem;
	padding: 0.75rem 1rem;
	border-radius: 0;
}

.woocommerce-m2m .woocommerce-message {
	background: #dff0d8;
	border: 1px solid #d6e9c6;
	color: #468847;
}

.woocommerce-m2m .woocommerce-info {
	background: #d9edf7;
	border: 1px solid #bce8f1;
	color: #31708f;
}

.woocommerce-m2m .woocommerce-error {
	background: #f2dede;
	border: 1px solid #eed3d7;
	color: #980f20;
}

.woocommerce-m2m label {
	font-weight: 400;
}

/* Shared field + button tokens */
.woocommerce-m2m input[type="text"],
.woocommerce-m2m input[type="email"],
.woocommerce-m2m input[type="tel"],
.woocommerce-m2m input[type="password"],
.woocommerce-m2m input[type="number"],
.woocommerce-m2m input[type="url"],
.woocommerce-m2m input[type="search"],
.woocommerce-m2m select,
.woocommerce-m2m textarea,
.woocommerce-m2m .input-text {
	border-radius: 0;
	background: #fff;
	border: 1px solid #ddd;
	color: #414042;
	font-family: "Dosis", sans-serif;
}

/*
 * Uniform 1px grey borders on all WooCommerce fields (account, cart, login, etc.).
 * Checkout is excluded — block checkout keeps its own field styling.
 */
body:not(.woocommerce-checkout) .woocommerce-m2m input[type="text"],
body:not(.woocommerce-checkout) .woocommerce-m2m input[type="email"],
body:not(.woocommerce-checkout) .woocommerce-m2m input[type="tel"],
body:not(.woocommerce-checkout) .woocommerce-m2m input[type="password"],
body:not(.woocommerce-checkout) .woocommerce-m2m input[type="number"],
body:not(.woocommerce-checkout) .woocommerce-m2m input[type="url"],
body:not(.woocommerce-checkout) .woocommerce-m2m input[type="search"],
body:not(.woocommerce-checkout) .woocommerce-m2m select,
body:not(.woocommerce-checkout) .woocommerce-m2m textarea,
body:not(.woocommerce-checkout) .woocommerce-m2m .input-text,
body:not(.woocommerce-checkout) .woocommerce-m2m .woocommerce-Input,
body:not(.woocommerce-checkout) .woocommerce form .form-row input.input-text,
body:not(.woocommerce-checkout) .woocommerce form .form-row textarea.input-text,
body:not(.woocommerce-checkout) .woocommerce form .form-row select,
body:not(.woocommerce-checkout) .woocommerce .password-input input,
body:not(.woocommerce-checkout) .woocommerce-m2m .select2-container--default .select2-selection--single,
body:not(.woocommerce-checkout) .woocommerce-m2m .select2-container--default .select2-selection--multiple {
	border: 1px solid #ddd !important;
	border-width: 1px !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	outline: none;
	background: #fff;
}

body:not(.woocommerce-checkout) .woocommerce-m2m input:focus,
body:not(.woocommerce-checkout) .woocommerce-m2m select:focus,
body:not(.woocommerce-checkout) .woocommerce-m2m textarea:focus,
body:not(.woocommerce-checkout) .woocommerce-m2m .input-text:focus,
body:not(.woocommerce-checkout) .woocommerce-m2m .woocommerce-Input:focus,
body:not(.woocommerce-checkout) .woocommerce form .form-row input.input-text:focus,
body:not(.woocommerce-checkout) .woocommerce form .form-row textarea.input-text:focus,
body:not(.woocommerce-checkout) .woocommerce form .form-row select:focus,
body:not(.woocommerce-checkout) .woocommerce .password-input input:focus {
	border: 1px solid #ddd !important;
	border-width: 1px !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	outline: none;
}

.woocommerce-m2m .button,
.woocommerce-m2m button.button,
.woocommerce-m2m input.button,
.woocommerce-m2m a.button {
	font-family: "Dosis", sans-serif;
	font-weight: 300;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 0;
	background: #fff;
	border: 1px solid #ddd;
	color: #414042;
	text-decoration: none;
}

.woocommerce-m2m a.button:hover,
.woocommerce-m2m a.button:focus,
.woocommerce-m2m button.button:hover,
.woocommerce-m2m button.button:focus,
.woocommerce-m2m input.button:hover,
.woocommerce-m2m input.button:focus {
	background: #ce1b22;
	border-color: #ce1b22;
	color: #fff;
	text-decoration: none;
}

.woocommerce-m2m a.button.alt,
.woocommerce-m2m button.button.alt,
.woocommerce-m2m input.button.alt {
	background: #fff;
	border-color: #ddd;
	color: #414042;
	text-decoration: none;
}

.woocommerce-m2m a.button.alt:hover,
.woocommerce-m2m button.button.alt:hover,
.woocommerce-m2m button.button.alt:focus,
.woocommerce-m2m input.button.alt:hover,
.woocommerce-m2m input.button.alt:focus {
	background: #ce1b22;
	border-color: #ce1b22;
	color: #fff;
	text-decoration: none;
}

/* Cart / checkout product links */
.woocommerce-m2m table.shop_table a:not(.button),
.woocommerce-m2m #order_review a:not(.button) {
	color: #ce1b22;
	text-decoration: none;
}

.woocommerce-m2m .wc-block-checkout__terms a,
.woocommerce-m2m .wc-block-components-checkbox__label a {
	color: #ce1b22;
	text-decoration: underline;
}

.woocommerce-m2m .wc-block-checkout__terms a:hover,
.woocommerce-m2m .wc-block-checkout__terms a:focus,
.woocommerce-m2m .wc-block-components-checkbox__label a:hover,
.woocommerce-m2m .wc-block-components-checkbox__label a:focus {
	color: #a8161c;
}

.woocommerce-m2m table.shop_table a:not(.button):hover,
.woocommerce-m2m table.shop_table a:not(.button):focus,
.woocommerce-m2m #order_review a:not(.button):hover,
.woocommerce-m2m #order_review a:not(.button):focus {
	color: #a8161c;
	text-decoration: underline;
}

/* Tables (cart, orders, account) */
.woocommerce-m2m table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
}

.woocommerce-m2m table.shop_table th,
.woocommerce-m2m table.shop_table td {
	padding: 0.75rem 0.5rem;
	border-bottom: 1px solid #ddd;
	vertical-align: middle;
	font-size: 14px;
}

.woocommerce-m2m table.shop_table thead th {
	font-weight: 600;
	text-transform: uppercase;
	font-size: 14px;
	letter-spacing: 0.04em;
}

.woocommerce-m2m table.shop_table .product-thumbnail {
	width: 100px;
}

.woocommerce-m2m table.shop_table .product-thumbnail img,
.woocommerce-m2m .m2m-cart-licence-thumb {
	max-width: 90px;
	height: auto;
	display: block;
}

.woocommerce-m2m table.shop_table .product-remove a {
	color: #ce1b22;
	font-size: 1.25rem;
	line-height: 1;
	text-decoration: none;
}

.woocommerce-m2m .cart-collaterals,
.woocommerce-m2m .cart_totals {
	margin-top: 1rem;
}

.woocommerce-m2m .quantity .qty {
	text-align: center;
	max-width: 4rem;
}

.woocommerce-m2m .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.woocommerce-m2m .coupon .input-text {
	flex: 1 1 12rem;
	min-width: 0;
	padding: 0.6rem 0.75rem;
}

.woocommerce-m2m #order_review .product-thumbnail img,
.woocommerce-m2m #order_review .m2m-cart-licence-thumb {
	max-width: 70px;
	height: auto;
}

/* My Account */
.woocommerce-account .m2m-account-row {
	margin-top: 1rem;
}

.woocommerce-account .m2m-account-row--login {
	margin-top: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation .list-group-item {
	font-family: "Dosis", sans-serif;
	text-transform: uppercase;
	color: #414042;
	border-color: #ddd;
	font-size: 14px;
}

.woocommerce-account .woocommerce-MyAccount-navigation .list-group-item:hover,
.woocommerce-account .woocommerce-MyAccount-navigation .list-group-item:focus {
	background: #f5f5f5;
	color: #ce1b22;
}

.woocommerce-account .woocommerce-MyAccount-content {
	padding-bottom: 2rem;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: "Dosis", sans-serif;
	font-weight: 400;
	text-transform: uppercase;
}

.woocommerce-account .m2m-account-login-content {
	max-width: 480px;
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-account .woocommerce-form-login .input-text,
.woocommerce-account .woocommerce-form-register .input-text {
	width: 100%;
	max-width: 100%;
	padding: 0.6rem 0.75rem;
	font-size: 16px;
}

.woocommerce-account .woocommerce-form-login label,
.woocommerce-account .woocommerce-form-register label {
	font-family: "Dosis", sans-serif;
	font-size: 14px;
	color: #414042;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme,
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme span {
	font-size: 14px;
}

.woocommerce-account .woocommerce-LostPassword a {
	color: #414042;
	font-size: 14px;
	text-decoration: none;
}

.woocommerce-account .woocommerce-LostPassword a:hover,
.woocommerce-account .woocommerce-LostPassword a:focus {
	color: #ce1b22;
}

.woocommerce-account .woocommerce-customer-details address {
	background: #fff;
	border: 1px solid #ddd;
	padding: 1rem 1.25rem;
}

.woocommerce-account .col2-set,
.woocommerce-account .woocommerce-page .col2-set {
	margin-left: -15px;
	margin-right: -15px;
}

.woocommerce-account .col2-set::before,
.woocommerce-account .col2-set::after {
	content: " ";
	display: table;
}

.woocommerce-account .col2-set::after {
	clear: both;
}

.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2 {
	float: left;
	width: 100%;
	padding: 0 15px 1rem;
	box-sizing: border-box;
}

@media (min-width: 992px) {
	.woocommerce-account .col2-set .col-1,
	.woocommerce-account .col2-set .col-2 {
		width: 50%;
	}
}

/* My Account — edit account & address forms */
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .input-text,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields select,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields textarea {
	width: 100%;
	max-width: 100%;
	padding: 0.6rem 0.75rem;
	font-size: 16px;
	box-sizing: border-box;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields label,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm label {
	font-family: "Dosis", sans-serif;
	font-size: 14px;
	color: #414042;
}

.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"],
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"],
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .button {
	font-family: "Dosis", sans-serif;
	font-weight: 300;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 0;
	background: #fff;
	border: 1px solid #ddd;
	color: #414042;
	padding: 0.6rem 1.25rem;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"]:hover,
.woocommerce-account .woocommerce-MyAccount-content button[name="save_address"]:focus,
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"]:hover,
.woocommerce-account .woocommerce-MyAccount-content button[name="save_account_details"]:focus,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .button:hover,
.woocommerce-account .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .button:focus,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-address-fields .button:focus {
	background: #ce1b22;
	border-color: #ce1b22;
	color: #fff;
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection--single {
	border-radius: 0;
	border: 1px solid #ddd;
	min-height: 2.5rem;
}

.woocommerce-account .woocommerce-MyAccount-content .select2-container .select2-selection__rendered {
	line-height: 2.25rem;
	padding-left: 0.75rem;
	font-family: "Dosis", sans-serif;
	color: #414042;
}

/* Image Bank toolbar mini-cart dropdown */
.m2m-library-cart-dropdown {
	font-family: "Dosis", sans-serif;
	font-size: 14px;
	color: #414042;
}

.m2m-library-cart-dropdown .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.m2m-library-cart-dropdown ul.woocommerce-mini-cart {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 50vh;
	overflow-y: auto;
	flex: 1 1 auto;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart-item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid #eee;
	font-size: 14px;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart-item:last-child {
	border-bottom: 0;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart-item > a:not(.remove) {
	display: flex;
	flex: 1 1 auto;
	align-items: flex-start;
	gap: 0.75rem;
	min-width: 0;
	font-size: 14px;
	line-height: 1.35;
	color: #414042;
	text-decoration: none;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart-item > a:not(.remove):hover,
.m2m-library-cart-dropdown .woocommerce-mini-cart-item > a:not(.remove):focus {
	color: #ce1b22;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart-item img,
.m2m-library-cart-dropdown .m2m-cart-licence-thumb {
	width: 56px;
	height: auto;
	flex: 0 0 56px;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart-item .quantity,
.m2m-library-cart-dropdown .woocommerce-mini-cart-item .amount {
	font-size: 14px;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart-item .quantity {
	flex: 0 0 auto;
	align-self: flex-start;
	white-space: nowrap;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart-item a.remove {
	flex: 0 0 auto;
	color: #ce1b22;
	font-size: 14px;
	line-height: 1;
	width: 14px;
	min-width: 14px;
	height: 14px;
	text-align: center;
	text-decoration: none;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart__total {
	padding: 0.75rem 0 0.5rem;
	margin: 0;
	border-top: 1px solid #ddd;
	font-weight: 600;
	font-size: 14px;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart__buttons {
	margin: 0;
	padding: 0;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart__buttons .button {
	display: block;
	width: 100%;
	margin: 0.35rem 0 0;
	padding: 0.55rem 0.75rem;
	text-align: center;
	font-family: "Dosis", sans-serif;
	font-size: 14px;
	font-weight: 300;
	text-transform: uppercase;
	background: #fff;
	border: 1px solid #ddd;
	color: #414042;
	border-radius: 0;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart__buttons .button:hover,
.m2m-library-cart-dropdown .woocommerce-mini-cart__buttons .button:focus {
	background: #ce1b22;
	border-color: #ce1b22;
	color: #fff;
	text-decoration: none;
}

.m2m-library-cart-dropdown .woocommerce-mini-cart__empty-message {
	margin: 0;
}

/* Empty cart block — hide "New in store" product grid (licences come from Image Bank) */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block hr,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-product-new,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
	display: none !important;
}

/* WooCommerce Blocks — cart / account (not checkout) */
body:not(.woocommerce-checkout) .woocommerce-m2m .wc-block-components-text-input input,
body:not(.woocommerce-checkout) .woocommerce-m2m .wc-block-components-text-input textarea,
body:not(.woocommerce-checkout) .woocommerce-m2m .wc-block-components-combobox .wc-block-components-combobox-control input {
	border-radius: 0 !important;
	background: #fff;
	border: 1px solid #ddd !important;
	border-width: 1px !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	color: #414042;
	font-family: "Dosis", sans-serif;
	padding: 0.6rem 0.75rem;
}

body:not(.woocommerce-checkout) .woocommerce-m2m .wc-block-components-text-input input:focus,
body:not(.woocommerce-checkout) .woocommerce-m2m .wc-block-components-text-input textarea:focus,
body:not(.woocommerce-checkout) .woocommerce-m2m .wc-block-components-combobox .wc-block-components-combobox-control input:focus {
	border: 1px solid #ddd !important;
	border-width: 1px !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
}

.woocommerce-m2m .wc-block-components-button:not(.is-link),
.woocommerce-m2m .wc-block-cart__submit-container .wc-block-components-button,
.woocommerce-m2m .wp-block-button.wc-block-grid__product-add-to-cart .wp-block-button__link,
body.woocommerce-cart a.wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-cart .woocommerce-m2m a.wc-block-cart__submit-button,
body.woocommerce-cart .woocommerce-m2m .wc-block-cart__submit-button,
body.woocommerce-cart .woocommerce-m2m .wc-block-components-totals-coupon__button {
	font-family: "Dosis", sans-serif;
	font-weight: 300;
	font-size: 14px;
	text-transform: uppercase;
	border-radius: 0;
	background: #fff !important;
	border: 1px solid #ddd !important;
	color: #414042 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

body.woocommerce-cart a.wc-block-cart__submit-button,
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-cart .woocommerce-m2m a.wc-block-cart__submit-button,
body.woocommerce-cart .woocommerce-m2m .wc-block-cart__submit-button {
	display: block;
	width: 100%;
	padding: 0.65rem 1.25rem;
	text-align: center;
	box-sizing: border-box;
}

body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-cart .woocommerce-m2m .wc-block-components-totals-coupon__button {
	padding: 0.6rem 1.25rem;
	cursor: pointer;
}

.woocommerce-m2m .wc-block-components-button:not(.is-link):hover,
.woocommerce-m2m .wc-block-components-button:not(.is-link):focus,
.woocommerce-m2m .wc-block-cart__submit-container .wc-block-components-button:hover,
.woocommerce-m2m .wc-block-cart__submit-container .wc-block-components-button:focus,
.woocommerce-m2m .wp-block-button.wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.woocommerce-m2m .wp-block-button.wc-block-grid__product-add-to-cart .wp-block-button__link:focus,
body.woocommerce-cart a.wc-block-cart__submit-button:hover,
body.woocommerce-cart a.wc-block-cart__submit-button:focus,
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-cart .wc-block-cart__submit-button:focus,
body.woocommerce-cart .wc-block-components-totals-coupon__button:hover,
body.woocommerce-cart .wc-block-components-totals-coupon__button:focus,
body.woocommerce-cart .woocommerce-m2m a.wc-block-cart__submit-button:hover,
body.woocommerce-cart .woocommerce-m2m a.wc-block-cart__submit-button:focus,
body.woocommerce-cart .woocommerce-m2m .wc-block-cart__submit-button:hover,
body.woocommerce-cart .woocommerce-m2m .wc-block-cart__submit-button:focus,
body.woocommerce-cart .woocommerce-m2m .wc-block-components-totals-coupon__button:hover,
body.woocommerce-cart .woocommerce-m2m .wc-block-components-totals-coupon__button:focus {
	background: #ce1b22 !important;
	border-color: #ce1b22 !important;
	color: #fff !important;
	text-decoration: none !important;
}

.woocommerce-m2m .wc-block-cart-item__product-name a,
.woocommerce-m2m .wc-block-components-product-name a,
.woocommerce-m2m .wc-block-grid__product-title a {
	color: #ce1b22;
	text-decoration: none;
}

.woocommerce-m2m .wc-block-cart-item__product-name a:hover,
.woocommerce-m2m .wc-block-components-product-name a:hover,
.woocommerce-m2m .wc-block-grid__product-title a:hover {
	color: #a8161c;
	text-decoration: underline;
}

.woocommerce-m2m .wc-block-cart-item__image img,
.woocommerce-m2m .wc-block-cart-items__row .wc-block-cart-item__image img,
body.woocommerce-cart .wc-block-cart-item__image img {
	width: 90px;
	max-width: 90px;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Checkout — order summary thumbs (block default is 48px) */
body.woocommerce-checkout .wc-block-components-order-summary-item__image,
body.woocommerce-checkout .woocommerce-m2m .wc-block-components-order-summary-item__image {
	width: 48px !important;
	max-width: 48px !important;
	flex: 0 0 48px !important;
	margin-top: 0;
	padding-bottom: 0;
	vertical-align: top;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img,
body.woocommerce-checkout .woocommerce-m2m .wc-block-components-order-summary-item__image img {
	width: 48px !important;
	max-width: 48px !important;
	height: auto !important;
	display: block;
	object-fit: cover;
}

body.woocommerce-checkout .wc-block-components-order-summary-item {
	align-items: flex-start;
}

/* Checkout */
.woocommerce-m2m form.checkout .form-row {
	margin-bottom: 1rem;
}

.woocommerce-m2m #order_review {
	background: #fff;
	border: 1px solid #ddd;
	padding: 1rem 1.25rem;
}

@media (max-width: 767px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom: 1.5rem;
	}
}

/* Order received / thank you */
body.woocommerce-order-received .woocommerce-m2m .woocommerce-notice--success {
	margin-bottom: 1.5rem;
	padding: 0.75rem 1rem;
	border: 1px solid #d6e9c6;
	background: #dff0d8;
	color: #468847;
}

/* Order summary strip — horizontal table (classic + block) */
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .wc-block-order-confirmation-summary-list {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	border: 1px solid #ddd;
	background: #fff;
}

body.woocommerce-order-received .woocommerce-order-overview li,
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item {
	margin: 0;
	padding: 0.85rem 1rem;
	border-right: 1px solid #ddd;
	border-bottom: none;
	font-size: 14px;
	color: #414042;
}

body.woocommerce-order-received .woocommerce-order-overview li:last-child,
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item:last-child {
	border-right: 0;
}

body.woocommerce-order-received .woocommerce-order-overview li strong,
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__value {
	display: block;
	margin-top: 0.35rem;
	font-weight: 600;
	color: #414042;
}

body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__key {
	font-weight: 400;
}

/* Bank transfer details */
body.woocommerce-order-received .wc-bacs-bank-details.order_details {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	border: 1px solid #ddd;
	background: #fff;
}

body.woocommerce-order-received .wc-bacs-bank-details.order_details li {
	margin: 0;
	padding: 0.85rem 1rem;
	border-right: 1px solid #ddd;
	font-size: 14px;
}

body.woocommerce-order-received .wc-bacs-bank-details.order_details li:last-child {
	border-right: 0;
}

/* Order line items — thumb + title row, no meta bullets */
body.woocommerce-order-received .m2m-order-line-item {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
}

body.woocommerce-order-received .m2m-order-line-item img,
body.woocommerce-order-received .m2m-order-line-item .m2m-cart-licence-thumb {
	width: 56px;
	height: auto;
	flex: 0 0 56px;
	display: block;
}

body.woocommerce-order-received .m2m-order-line-item__name {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.35;
}

body.woocommerce-order-received .m2m-order-line-item__name a {
	color: #ce1b22;
	text-decoration: none;
}

body.woocommerce-order-received .m2m-order-line-item__name a:hover,
body.woocommerce-order-received .m2m-order-line-item__name a:focus {
	color: #a8161c;
	text-decoration: underline;
}

.m2m-line-item-id {
	display: block;
	margin-top: 0.25rem;
	font-size: 12px;
	color: #777;
	font-weight: 400;
}

.woocommerce-m2m .wc-block-components-product-name + .wc-block-components-product-metadata,
.woocommerce-m2m .wc-block-cart-item__product .wc-block-components-product-metadata,
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata {
	display: block;
	margin-top: 0.35rem;
	font-size: 12px;
	color: #777;
}

body.woocommerce-cart .wc-block-components-product-details,
body.woocommerce-checkout .wc-block-components-product-details,
.woocommerce-m2m .wc-block-components-product-details {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 0.2rem;
	margin: 0;
	padding: 0;
}

body.woocommerce-cart .wc-block-components-product-details > span,
body.woocommerce-checkout .wc-block-components-product-details > span,
.woocommerce-m2m .wc-block-components-product-details > span,
body.woocommerce-cart .wc-block-components-product-details__image,
body.woocommerce-cart .wc-block-components-product-details__image-code,
body.woocommerce-checkout .wc-block-components-product-details__image,
body.woocommerce-checkout .wc-block-components-product-details__image-code {
	display: block !important;
}

body.woocommerce-cart .wc-block-components-product-details [aria-hidden="true"]:not(img):not(.wc-block-cart-item__image):not(.woocommerce-Price-amount):not(:has(img, .woocommerce-Price-amount)),
body.woocommerce-checkout .wc-block-components-product-details [aria-hidden="true"]:not(img):not(.wc-block-cart-item__image):not(.woocommerce-Price-amount):not(:has(img, .woocommerce-Price-amount)),
.woocommerce-m2m .wc-block-components-product-details [aria-hidden="true"]:not(img):not(.wc-block-cart-item__image):not(.woocommerce-Price-amount):not(:has(img, .woocommerce-Price-amount)) {
	display: none !important;
}

.woocommerce-m2m td.product-name dl.variation,
.woocommerce-m2m .woocommerce-checkout-review-order-table td.product-name dl.variation,
.woocommerce-m2m .woocommerce-mini-cart-item dl.variation {
	display: block;
	float: none;
	margin: 0.35rem 0 0;
}

.woocommerce-m2m td.product-name dl.variation dt,
.woocommerce-m2m td.product-name dl.variation dd,
.woocommerce-m2m .woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-m2m .woocommerce-checkout-review-order-table dl.variation dd,
.woocommerce-m2m .woocommerce-mini-cart-item dl.variation dt,
.woocommerce-m2m .woocommerce-mini-cart-item dl.variation dd {
	display: block;
	float: none;
	margin: 0;
}

.woocommerce-m2m td.product-name dl.variation dt,
.woocommerce-m2m .woocommerce-checkout-review-order-table dl.variation dt,
.woocommerce-m2m .woocommerce-mini-cart-item dl.variation dt {
	margin-top: 0.2rem;
}

.woocommerce-m2m td.product-name ul.wc-item-meta,
.woocommerce-m2m .woocommerce-checkout-review-order-table ul.wc-item-meta {
	display: block;
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0;
}

.woocommerce-m2m td.product-name ul.wc-item-meta li,
.woocommerce-m2m .woocommerce-checkout-review-order-table ul.wc-item-meta li {
	display: block;
}

body.woocommerce-order-received .woocommerce-table--order-details .product-name .wc-item-meta,
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-item-meta {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.woocommerce-order-received .woocommerce-table--order-details .product-name .wc-item-meta li,
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-item-meta li {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.woocommerce-order-received .woocommerce-table--order-details .product-name .wc-item-meta p,
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .wc-item-meta p {
	margin: 0;
	display: inline;
}

body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .wc-block-order-confirmation-totals .wp-block-heading {
	font-size: 1.25rem;
	margin: 0 0 1rem;
}

body.woocommerce-order-received .woocommerce-table--order-details,
body.woocommerce-order-received .wc-block-order-confirmation-totals table {
	border: 1px solid #ddd;
	border-collapse: collapse;
	width: 100%;
	margin-bottom: 1.5rem;
}

body.woocommerce-order-received .woocommerce-table--order-details th,
body.woocommerce-order-received .woocommerce-table--order-details td,
body.woocommerce-order-received .wc-block-order-confirmation-totals table th,
body.woocommerce-order-received .wc-block-order-confirmation-totals table td {
	border: 1px solid #ddd;
	padding: 0.85rem 1rem;
	font-size: 14px;
	vertical-align: top;
}

body.woocommerce-order-received .woocommerce-table--order-details thead th,
body.woocommerce-order-received .wc-block-order-confirmation-totals table thead th {
	background: #f7f7f7;
	font-weight: 600;
}

body.woocommerce-order-received .woocommerce-table--order-details .product-quantity,
body.woocommerce-order-received .wc-block-order-confirmation-totals__product .product-quantity {
	display: block;
	margin-top: 0.25rem;
	font-weight: 400;
	color: #777;
}

@media (max-width: 600px) {
	body.woocommerce-order-received .woocommerce-order-overview,
	body.woocommerce-order-received .wc-block-order-confirmation-summary-list,
	body.woocommerce-order-received .wc-bacs-bank-details.order_details {
		grid-template-columns: 1fr;
	}

	body.woocommerce-order-received .woocommerce-order-overview li,
	body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item,
	body.woocommerce-order-received .wc-bacs-bank-details.order_details li {
		border-right: 0;
		border-bottom: 1px solid #ddd;
	}

	body.woocommerce-order-received .woocommerce-order-overview li:last-child,
	body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item:last-child,
	body.woocommerce-order-received .wc-bacs-bank-details.order_details li:last-child {
		border-bottom: 0;
	}
}
