/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

:root {
	--mirabel-top-info-height: 38px;
	/* Same green as the top info strip, reused for checkout card outlines. */
	--mirabel-green: #256864;
	--mirabel-card-border: var(--mirabel-green);
	/* Same content width WooDMart gives `.container`, so the strip lines up
	   with the header and the page below it. */
	--mirabel-container: 1280px;
	/* Одна обводка на весь сайт вместо пятнадцати разных. */
	--mirabel-line: rgba(37, 104, 100, .16);
	/* Две ступени тени вместо десяти, обе в тон зелёной гамме. */
	--mirabel-shadow-sm: 0 2px 10px rgba(6, 30, 29, .06);
	--mirabel-shadow-lg: 0 14px 40px rgba(6, 30, 29, .14);
}

.mirabel-top-info-bar {
	position: relative;
	top: 0;
	z-index: 100002;
	background: #256864;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
}

.mirabel-top-info-inner {
	display: flex;
	min-height: var(--mirabel-top-info-height);
	max-width: var(--mirabel-container);
	margin: 0 auto;
	padding: 0 15px;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	text-align: left;
}

.mirabel-top-info-bar a {
	color: inherit;
}

.mirabel-top-info-delivery {
	margin-right: auto;
}

.mirabel-top-info-meta {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-left: auto;
	white-space: nowrap;
}

.mirabel-top-info-separator {
	opacity: .72;
}

/* Secondary navigation moved out of the main header into the top bar. */
.mirabel-top-info-nav {
	margin: 0 auto;
}

.mirabel-top-info-menu {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.mirabel-top-info-menu > li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mirabel-top-info-menu > li > a {
	display: block;
	color: inherit;
	font-size: 14px;
	font-weight: 500;
	/* Sentence case reads calmer here; the letter spacing only existed to keep
	   the previous all-caps legible, so it goes with it. */
	text-transform: none;
	opacity: .92;
	transition: opacity .15s ease;
}

.mirabel-top-info-menu > li > a:hover,
.mirabel-top-info-menu > li.current-menu-item > a {
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* The mobile menu already lists these pages, so the strip stays compact. */
@media (max-width: 1024px) {
	.mirabel-top-info-nav {
		display: none;
	}
}

.mirabel-top-info-bar--sticky {
	display: none;
}

.whb-clone.whb-sticked .mirabel-top-info-bar--sticky {
	display: block;
}

/* Mirabel structural sections intentionally inherit Woodmart colors and typography. */
body .site-content .mirabel-section {
	margin-bottom: 80px;
}

body.home .site-content .mirabel-section {
	margin-bottom: 60px;
}

.mirabel-section-head,
.mirabel-section-title {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}

.mirabel-section-title {
	display: block;
	text-align: center;
}

.mirabel-section h2,
.mirabel-footer h3 {
	margin-bottom: 0;
}

.mirabel-kicker {
	margin-bottom: 10px;
	color: #a5a5a5;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
}

.mirabel-benefit-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
	text-align: center;
}

.mirabel-benefit-grid article,
.mirabel-review-grid article {
	padding: 28px 18px;
	border: 1px solid var(--mirabel-line);
	background: #fff;
}

.mirabel-benefit-icon {
	display: inline-grid;
	width: 54px;
	height: 54px;
	margin-bottom: 18px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--mirabel-line);
	border-radius: 50%;
	color: var(--wd-primary-color);
	font-size: 28px;
}

.mirabel-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
	text-align: center;
}

.mirabel-review-grid h3 {
	margin-bottom: 4px;
}

.mirabel-stars {
	margin-bottom: 14px;
	color: var(--wd-primary-color);
	letter-spacing: .12em;
}

.mirabel-contact-accordion {
	width: 70%;
	margin: 0 auto;
}

.page-id-5288 .mirabel-contact-accordion {
	width: 100%;
}

body .site-content .mirabel-product-section {
	margin-bottom: 28px;
}

body.home .site-content .mirabel-product-section {
	margin-bottom: 40px;
}

body .site-content .mirabel-product-section + .woocommerce,
body .site-content .mirabel-product-section + .products {
	margin-bottom: 0;
}

.mirabel-product-section-action {
	display: flex;
	justify-content: flex-start;
	margin-top: 30px;
	margin-bottom: 80px !important;
}

body.home .mirabel-product-section-action {
	margin-bottom: 60px !important;
}

.mirabel-section-link {
	display: inline-block;
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	color: #256864;
	font-weight: 600;
	line-height: 1.2;
}

.mirabel-section-link:hover {
	color: #2F7F7B;
}

.mirabel-custom-order-section {
	margin-bottom: 0 !important;
	padding: 0;
	color: #fff;
}

.mirabel-custom-order-section.alignfull {
	width: calc(100vw - var(--wd-scroll-w, 0px));
	max-width: none;
	margin-right: calc(50% - 50vw + var(--wd-scroll-w, 0px) / 2) !important;
	margin-left: calc(50% - 50vw + var(--wd-scroll-w, 0px) / 2) !important;
}

.mirabel-custom-order-section .wp-block-columns {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
	padding-right: 0;
	padding-left: 0;
	gap: 0;
}

.mirabel-custom-order-section h2,
.mirabel-custom-order-section p,
.mirabel-custom-order-section .mirabel-kicker {
	color: #fff;
}

.mirabel-custom-order-section h2 {
	max-width: 520px;
	margin-bottom: 18px;
}

.mirabel-custom-order-section p:not(.mirabel-kicker) {
	max-width: 560px;
	font-size: 18px;
	line-height: 1.6;
}

.mirabel-custom-order-image {
	margin-bottom: 0;
}

.mirabel-custom-order-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mirabel-custom-order-section .wp-block-column:last-child {
	padding: 60px min(8vw, 110px);
}

.mirabel-custom-order-button .wp-block-button__link {
	background: #fff;
	color: #242424;
}

.mirabel-custom-order-button .wp-block-button__link:hover {
	background: #242424;
	color: #fff;
}

.wd-prefooter .mirabel-faq {
	margin-top: 80px;
	margin-bottom: 80px;
}

.mirabel-product-tab-copy {
	max-width: 900px;
}

.mirabel-product-tab-copy h2,
.mirabel-product-tab-copy h3 {
	margin-bottom: 15px;
}

.mirabel-product-tab-copy ul {
	margin-bottom: 0;
}

/* Keep all catalog cards aligned while preserving each bouquet photo in full. */
.wd-product {
	height: 100%;
}

.wd-product .wd-product-wrapper.product-wrapper {
	display: flex;
	height: 100%;
	padding-bottom: 24px !important;
	flex-direction: column;
}

.wd-product .product-element-top {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background-color: #f7f7f7;
}

.wd-product .product-image-link,
.wd-product .wd-product-img-hover {
	width: 100%;
	height: 100%;
}

.wd-product .product-image-link img,
.wd-product .wd-product-img-hover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.wd-product .wd-entities-title {
	min-height: 0;
}

.wd-product .price {
	margin-top: 0 !important;
}

.mirabel-product-notice {
	display: flex;
	margin: 18px 0 20px;
	padding: 18px 20px;
	gap: 12px;
	align-items: flex-start;
	border-radius: var(--wd-brd-radius);
	background: #D4FDF6;
	color: #061E1D;
	font-size: 15px;
	line-height: 1.55;
	text-align: left;
}

.mirabel-product-notice__icon {
	display: inline-flex;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	align-items: center;
	justify-content: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	background: transparent;
	color: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.mirabel-product-notice__text p {
	margin-bottom: 0;
}

/*
 * The gap goes on our own wrapper: the block itself is inside WooDMart's
 * summary column, where the theme resets child margins and the value never
 * reached the element.
 */
.mirabel-single-product-important-info {
	margin-top: 60px;
}

.mirabel-important-info {
	padding: 22px 24px;
	border: 0;
	border-radius: var(--wd-brd-radius);
	background: #fff;
	box-shadow: var(--mirabel-shadow-lg);
}

.mirabel-important-info h3 {
	margin-bottom: 14px;
}

.mirabel-important-info h4 {
	margin: 14px 0 8px;
	font-size: 16px;
}

.mirabel-important-info ul,
.mirabel-important-info p {
	margin-bottom: 8px;
}

.mirabel-important-info :last-child {
	margin-bottom: 0;
}

.mirabel-out-of-stock-request {
	margin-top: 22px;
}

.mirabel-out-of-stock-panel {
	padding: 26px 30px 28px;
	border: 0;
	border-radius: var(--wd-brd-radius);
	background: #D4FDF6;
	box-shadow: var(--mirabel-shadow-sm);
	color: var(--wd-text-color);
}

.mirabel-out-of-stock-panel h3 {
	margin: 0 0 12px;
	color: var(--wd-primary-color);
	font-size: 20px;
	line-height: 1.22;
}

.mirabel-out-of-stock-panel p {
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.55;
}

.mirabel-out-of-stock-trigger {
	display: inline-flex;
	margin: 4px 0 0;
}

.mirabel-out-of-stock-trigger .wp-block-button__link {
	display: inline-flex;
	min-height: var(--btn-accented-height, var(--btn-height, 46px));
	padding: 12px 50px;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: var(--btn-accented-brd-radius, var(--btn-brd-radius, 999px));
	background: var(--btn-accented-bgcolor, var(--wd-primary-color, #28716c));
	box-shadow: var(--btn-accented-box-shadow, none);
	color: #fff !important;
	font-size: 14px;
	font-weight: var(--btn-accented-font-weight, var(--btn-font-weight, 600));
	line-height: 1.2;
	text-transform: none;
}

.mirabel-out-of-stock-trigger .wp-block-button__link:hover,
.mirabel-out-of-stock-trigger .wp-block-button__link:focus {
	background: var(--btn-accented-bgcolor-hover, var(--wd-primary-color, #28716c));
	box-shadow: var(--btn-accented-box-shadow-hover, none);
	color: #fff !important;
}

.product-grid-item.product-type-variable .wd-swatches-product,
.product-grid-item.product-type-variable .wd-grid-swatches,
.product-grid-item.product_type_variable .wd-swatches-product,
.product-grid-item.product_type_variable .wd-grid-swatches {
	display: none !important;
}

.product-grid-item .product-labels .out-of-stock.product-label {
	display: flex;
	width: 68px;
	height: 68px;
	min-width: 68px;
	min-height: 68px;
	padding: 0 7px;
	align-items: center;
	justify-content: center;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.08;
	text-align: center;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

.product-grid-item .product-element-top .wd-add-btn:has(.mirabel-variable-options-loop),
.product-grid-item .product-element-top .wd-add-btn-wrap:has(.mirabel-variable-options-loop) {
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

.product-grid-item .mirabel-variable-options-loop {
	display: flex !important;
	width: 100% !important;
	min-height: 42px;
	padding: 9px 14px !important;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	border-radius: 0 !important;
	background: rgba(37, 104, 100, .86) !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	opacity: 1 !important;
	visibility: visible !important;
}

.product-grid-item .wd-add-btn-replace > a.mirabel-variable-options-loop::before,
.product-grid-item .wd-add-btn-replace > a.mirabel-variable-options-loop::after,
.product-grid-item .mirabel-variable-options-loop .wd-button-icon,
.product-grid-item .mirabel-variable-options-loop .wd-tooltip-label,
.product-grid-item .mirabel-variable-options-loop svg,
.product-grid-item .mirabel-variable-options-loop i {
	display: none !important;
	content: none !important;
	opacity: 0 !important;
	transform: none !important;
}

.product-grid-item .wd-add-btn-replace > a.mirabel-variable-options-loop .wd-action-text {
	position: relative !important;
	display: flex !important;
	width: 100% !important;
	min-height: inherit !important;
	padding: 0 !important;
	margin: 0 !important;
	align-items: center !important;
	justify-content: center !important;
	color: #fff !important;
	font-size: inherit !important;
	line-height: inherit !important;
	text-align: center !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: translateY(0) translateZ(0) !important;
	transition: color .15s ease !important;
}

.product-grid-item .wd-add-btn-replace > a.mirabel-variable-options-loop .wd-action-text::after {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	content: "";
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .15s ease;
}

@media (hover: hover) and (pointer: fine) {
	.product-grid-item:hover .mirabel-variable-options-loop {
		background: #4FB3AD !important;
	}

	.product-grid-item:hover .wd-add-btn-replace > a.mirabel-variable-options-loop .wd-action-text {
		color: transparent !important;
		transform: translateY(0) translateZ(0) !important;
	}

	.product-grid-item:hover .wd-add-btn-replace > a.mirabel-variable-options-loop .wd-action-text::after {
		content: "ОБЕРІТЬ ВАРІАНТИ";
		opacity: 1;
		visibility: visible;
	}
}

/*
 * Only the blocks themselves look like cards now. The two WooCommerce wrappers
 * are plain, so nothing is a card inside a card and no width is lost to a
 * second set of padding.
 */
/* The theme heading sits outside the card; the block prints its own inside. */
.woocommerce-checkout .woocommerce-billing-fields > h3 {
	display: none;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	margin-bottom: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout .mirabel-checkout-section {
	margin-bottom: 22px;
	padding: 26px;
	border: 1px solid var(--mirabel-card-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 22px;
	margin-top: 6px;
	margin-bottom: 24px;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
	float: none;
	width: 100%;
	margin: 0;
}

.woocommerce-checkout .woocommerce-billing-fields > .mirabel-checkout-section {
	clear: both;
}

.woocommerce-checkout .mirabel-shipping-section .mirabel-delivery-extra-section {
	margin: 18px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout .mirabel-checkout-section > h3,
.woocommerce-checkout #order_review_heading {
	margin: 0 0 22px;
	padding: 0 !important;
	color: var(--wd-title-color, #061E1D);
	font-size: 24px;
	font-weight: 500;
	letter-spacing: .04em;
	line-height: 1.25;
}

.woocommerce-checkout .mirabel-checkout-section > h3 {
	margin-bottom: 18px;
	color: #061E1D;
	font-size: 20px;
	letter-spacing: .01em;
}

.woocommerce-checkout #coderockz_woo_delivery_delivery_selection_field {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.woocommerce-checkout #coderockz-woo-delivery-public-delivery-details {
	display: none;
}

.woocommerce-checkout #coderockz_woo_delivery_delivery_date_section,
.woocommerce-checkout #coderockz_woo_delivery_delivery_time_section,
.woocommerce-checkout #coderockz_woo_delivery_pickup_date_section,
.woocommerce-checkout #coderockz_woo_delivery_pickup_time_section {
	margin-bottom: 0;
}

.woocommerce-checkout #coderockz_woo_delivery_setting_wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.woocommerce-checkout .form-row label {
	margin-bottom: 8px;
	color: rgba(15, 40, 39, .72);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
}

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

.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	min-height: 48px;
	border: 1px solid var(--mirabel-line);
	border-radius: 8px;
	background-color: #fff;
	box-shadow: none;
	color: var(--wd-text-color, #061E1D);
	font-size: 15px;
}

.woocommerce-checkout input.input-text::placeholder,
.woocommerce-checkout textarea::placeholder {
	color: rgba(35, 51, 49, .42);
	opacity: 1;
}

.woocommerce-checkout input[data-mirabel-phone-mask="1"] {
	font-variant-numeric: tabular-nums;
	letter-spacing: .02em;
}

.woocommerce-checkout textarea {
	min-height: 116px;
	padding-top: 14px;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--open .select2-selection--single {
	border-color: var(--wd-primary-color, #256864);
	box-shadow: 0 0 0 3px rgba(37, 104, 100, .1);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding-right: 36px;
	padding-left: 16px;
	line-height: 48px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 48px;
}

.woocommerce-checkout .mirabel-recipient-extra,
.woocommerce-checkout .mirabel-card-extra {
	display: none;
}

.woocommerce-checkout .mirabel-recipient-section.is-open .mirabel-recipient-extra {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 18px;
}

.woocommerce-checkout .mirabel-recipient-section.is-open .mirabel-recipient-extra .form-row {
	float: none;
	width: 100%;
	margin: 0;
}

.woocommerce-checkout .mirabel-card-section.is-open .mirabel-card-extra {
	display: block;
	margin-top: 18px;
}

.woocommerce-checkout .mirabel-checkout-section .optional {
	display: none;
}

.woocommerce-checkout .mirabel-checkout-note,
.woocommerce-checkout .mirabel-pickup-info {
	margin: 4px 0 0;
	padding: 14px 16px;
	border-radius: 8px;
	background: rgba(79, 179, 173, .09);
	color: #256864;
	font-size: 14px;
	line-height: 1.5;
}

.woocommerce-checkout .mirabel-pickup-info {
	display: grid;
	gap: 4px;
}

.woocommerce-checkout .mirabel-pickup-info[hidden] {
	display: none;
}

.woocommerce-checkout .mirabel-shipping-section .mirabel-delivery-extra-section > h3 {
	margin-top: 4px;
	margin-bottom: 14px;
	color: rgba(15, 40, 39, .78);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0;
}

.woocommerce-checkout .mirabel-toggle-field label.checkbox,
.woocommerce-checkout label.checkbox,
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout #shipping_method label,
.woocommerce-checkout .wc_payment_method label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.woocommerce-checkout input[type="checkbox"],
.woocommerce-checkout input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--wd-primary-color, #256864);
}

.woocommerce-checkout #shipping_method {
	display: grid;
	gap: 10px;
	margin: 0;
}

.woocommerce-checkout .checkout-order-review .woocommerce-shipping-totals {
	display: none;
}

.woocommerce-checkout .mirabel-checkout-shipping-summary th,
.woocommerce-checkout .mirabel-checkout-shipping-summary td {
	padding-top: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--mirabel-line);
}

.woocommerce-checkout .mirabel-checkout-shipping-summary th {
	color: var(--wd-title-color, #061E1D);
	font-weight: 500;
}

.woocommerce-checkout .mirabel-checkout-shipping-summary td {
	text-align: right;
}

.woocommerce-checkout .mirabel-checkout-shipping-line {
	display: inline-flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 10px;
	color: var(--wd-title-color, #061E1D);
	font-size: 14px;
	line-height: 1.3;
}

.woocommerce-checkout .mirabel-checkout-shipping-cost {
	color: #256864;
	font-weight: 600;
	white-space: nowrap;
}

.woocommerce-checkout #shipping_method li,
.woocommerce-checkout .wc_payment_method {
	padding: 14px 16px;
	border: 1px solid var(--mirabel-line);
	border-radius: 8px;
	background: #fff;
}

.woocommerce-checkout #shipping_method li:has(input:checked),
.woocommerce-checkout .wc_payment_method:has(input:checked) {
	border-color: var(--wd-primary-color, #256864);
	background: rgba(79, 179, 173, .08);
}

.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals .woocommerce-shipping-calculator {
	display: none !important;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 22px;
	align-items: center;
	column-gap: 10px;
	margin: 0;
	text-align: left;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods label {
	grid-column: 1;
	margin: 0;
	color: var(--wd-title-color, #061E1D);
	font-size: 14px;
	line-height: 1.25;
	white-space: nowrap;
	overflow-wrap: normal;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-methods input.shipping_method {
	grid-column: 2;
	grid-row: 1;
	justify-self: end;
	margin: 0;
}

.woocommerce-cart .cart_totals .woocommerce-shipping-totals td {
	text-align: right;
}

.woocommerce-cart .shop_table .product-price,
.woocommerce-cart .shop_table .product-subtotal,
.woocommerce-cart .shop_table .product-price .amount,
.woocommerce-cart .shop_table .product-subtotal .amount,
.woocommerce-cart .shop_table .product-price .mirabel-cart-line-price,
.woocommerce-cart .shop_table .product-subtotal .mirabel-cart-line-price {
	white-space: nowrap;
}

.woocommerce-cart .shop_table .product-price {
	min-width: 112px;
}

.woocommerce-cart .shop_table .product-subtotal {
	min-width: 138px;
}

.woocommerce-checkout .mirabel-payment-host .payment_methods {
	margin-bottom: 0;
}

.woocommerce-checkout .mirabel-payment-host .payment_methods li:last-child {
	margin-bottom: 0;
}

/*
 * With one payment method there is nothing to choose, so the row stops looking
 * like a card and the section reads as a single flat block.
 */
.woocommerce-checkout .mirabel-payment-host .payment_methods.mirabel-single-payment-method .wc_payment_method {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.woocommerce-checkout .mirabel-payment-host .payment_methods.mirabel-single-payment-method .wc_payment_method label {
	margin-bottom: 0;
}

.woocommerce-checkout .mirabel-payment-host .payment_box {
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #5c716f;
	font-size: 14px;
	line-height: 1.5;
}

.woocommerce-checkout .mirabel-payment-host .payment_box::before {
	display: none;
}

.woocommerce-checkout .mirabel-payment-host .payment_box p:last-child {
	margin-bottom: 0;
}

.woocommerce-checkout .mirabel-payment-host .payment_methods.mirabel-single-payment-method input[name="payment_method"] {
	display: none;
}

.woocommerce-checkout-review-order .order-total th,
.woocommerce-checkout-review-order .order-total td {
	color: var(--wd-title-color, #061E1D);
	font-size: 18px;
}

/*
 * Order summary line.
 *
 * The row is one grid: a tall photo on the left, the title on the first line
 * and the quantity, price and remove button together on the second. The price
 * used to live in WooCommerce's own `product-total` cell, which pushed the
 * quantity onto its own line on narrow screens.
 */
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item .product-total {
	display: none;
}

/* The `Проміжний підсумок` heading labelled the column that is now hidden. */
.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
	display: none;
}

/* The cart is no longer a step of the flow, so it is dropped from the steps. */
.woocommerce-checkout .wd-checkout-steps .step-cart {
	display: none;
}

/*
 * Order summary block.
 *
 * There used to be two nested boxes: the grey panel and a white card inside it.
 * The inner card's right edge, with its shadow, read as a stray vertical line
 * next to the amounts. The summary is now one mint block, so only the
 * horizontal separators between rows remain.
 */
/*
 * WoodMart paints the panel and its scalloped top and bottom edges from
 * `--bgcolor-gray-200`, and its rule carries an ID selector, so plain class
 * overrides lose to it. Redefining the variable on the block recolours the
 * panel and both scalloped strips in one place.
 */
.woocommerce-checkout .checkout-order-review {
	--bgcolor-gray-200: #D4FDF6;
}

/*
 * The white box inside the panel is WoodMart's `.wd-table-wrapper`. Its right
 * edge, with the shadow, is what read as a stray vertical line beside the
 * amounts. The summary is now a single block.
 */
.woocommerce-checkout .checkout-order-review > .woocommerce-checkout-review-order .wd-table-wrapper {
	padding-right: 0;
	padding-left: 0;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order {
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

/*
 * Compact spacing in the order summary.
 *
 * The block is sticky, so on a laptop the confirm button fell below the fold
 * as soon as the order had two items. The review container no longer draws a
 * card, so its own inset is not needed, and the row padding is trimmed.
 */
.woocommerce-checkout .checkout-order-review .woocommerce-checkout-review-order {
	margin-bottom: 12px;
	padding: 0;
}

.woocommerce-checkout .checkout-order-review #order_review_heading,
.woocommerce-checkout .checkout-order-review > h3 {
	margin-bottom: 14px;
}

.woocommerce-checkout .checkout-order-review .wd-table-wrapper {
	margin-bottom: 12px;
	padding-top: 0;
	padding-bottom: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item .product-name {
	padding: 10px 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	padding-top: 11px;
	padding-bottom: 11px;
}

.woocommerce-checkout .woocommerce-checkout-review-order .cart_item .product-name {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	grid-template-areas:
		"media title"
		"media meta";
	align-items: start;
	column-gap: 14px;
	row-gap: 10px;
	font-size: 14px;
	vertical-align: middle;
}

.woocommerce-checkout .mirabel-checkout-item-media {
	display: block;
	grid-area: media;
	align-self: start;
	line-height: 0;
}

.woocommerce-checkout .mirabel-checkout-item-link {
	color: inherit;
	text-decoration: none;
}

.woocommerce-checkout .mirabel-checkout-item-link:hover,
.woocommerce-checkout .mirabel-checkout-item-link:focus {
	color: var(--wd-primary-color, #256864);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.woocommerce-checkout .mirabel-checkout-item-thumb {
	display: block;
	width: 88px;
	height: 88px;
	border-radius: 8px;
	object-fit: cover;
	background: rgba(79, 179, 173, .08);
}

.woocommerce-checkout .mirabel-checkout-item-title {
	display: block;
	grid-area: title;
	align-self: start;
	color: var(--wd-title-color, #061E1D);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
}

.woocommerce-checkout .mirabel-checkout-item-meta {
	display: flex;
	grid-area: meta;
	align-items: center;
	gap: 10px;
	flex-wrap: nowrap;
}

.woocommerce-checkout .mirabel-checkout-item-price {
	margin-left: auto;
	color: var(--wd-title-color, #061E1D);
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

.woocommerce-checkout .mirabel-checkout-item-quantity {
	display: inline-flex;
	flex: 0 0 auto;
	margin: 0;
	align-items: center;
	color: rgba(15, 40, 39, .62);
	font-size: 14px;
	white-space: nowrap;
}

/* Remove item button next to the quantity control in the order summary. */
.woocommerce-checkout .mirabel-checkout-item-remove {
	display: inline-flex;
	width: 22px;
	height: 22px;
	/* Theme button styles impose a 42px min-height on every button element. */
	min-height: 22px;
	flex: 0 0 22px;
	align-self: center;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: rgba(15, 40, 39, .45);
	font-size: 19px;
	line-height: 1;
	cursor: pointer;
	vertical-align: middle;
	transition: color .15s ease, background-color .15s ease;
}

.woocommerce-checkout .mirabel-checkout-item-remove:hover,
.woocommerce-checkout .mirabel-checkout-item-remove:focus {
	background: rgba(15, 40, 39, .06);
	color: #256864;
}

.woocommerce-checkout .mirabel-checkout-item-remove.is-busy {
	opacity: .5;
	cursor: default;
}

.woocommerce-checkout .mirabel-checkout-item-quantity .quantity {
	display: inline-flex;
	width: auto;
	min-width: 68px;
	height: 30px;
	margin: 0;
	border: 1px solid var(--mirabel-line);
	border-radius: 999px;
	background: #fff;
	overflow: hidden;
}

.woocommerce-checkout .mirabel-checkout-item-quantity .quantity input.qty {
	width: 28px;
	height: 30px;
	min-height: 30px;
	padding: 0;
	border: 0;
	border-right: 1px solid var(--mirabel-line);
	border-left: 1px solid var(--mirabel-line);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--wd-title-color, #061E1D);
	font-size: 14px;
	text-align: center;
}

.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .minus,
.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .plus {
	width: 20px;
	min-height: 30px;
	color: #256864;
	font-size: 15px;
}

/*
 * The button fills with green on hover, so the glyph has to turn white. Focus
 * is deliberately left out: after a click the button keeps focus while the
 * pointer moves away, the background goes back to white, and a white glyph on
 * white made the plus disappear.
 */
.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .minus:hover,
.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .plus:hover,
.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .minus:active,
.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .plus:active {
	color: #fff;
}

/* Keyboard focus stays visible without hiding the glyph. */
.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .minus:focus-visible,
.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .plus:focus-visible {
	outline: 2px solid rgba(37, 104, 100, .4);
	outline-offset: -2px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total .amount,
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart-subtotal td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	white-space: nowrap;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
	min-width: 116px;
	text-align: right;
	vertical-align: middle;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item {
	vertical-align: middle;
}

.woocommerce-cart .mirabel-cart-line-price,
.woocommerce-checkout .mirabel-cart-line-price,
.cart-widget-side .mirabel-cart-line-price {
	display: inline-flex;
	align-items: baseline;
	justify-content: flex-end;
	gap: 6px;
	white-space: nowrap;
}

.woocommerce-cart .mirabel-cart-line-price del,
.woocommerce-checkout .mirabel-cart-line-price del,
.cart-widget-side .mirabel-cart-line-price del {
	color: rgba(15, 40, 39, .36);
	font-weight: 400;
	text-decoration-thickness: 1px;
}

.woocommerce-cart .mirabel-cart-line-price ins,
.woocommerce-checkout .mirabel-cart-line-price ins,
.cart-widget-side .mirabel-cart-line-price ins {
	color: #256864;
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-checkout .mirabel-checkout-item-price .mirabel-cart-line-price {
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	line-height: 1.2;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total .mirabel-cart-line-price del {
	font-size: 12px;
}

.woocommerce-cart .shop_table .product-price .mirabel-cart-line-price,
.woocommerce-cart .shop_table .product-subtotal .mirabel-cart-line-price {
	flex-direction: column;
	gap: 3px;
	line-height: 1.15;
}

.woocommerce-cart .shop_table .product-price .mirabel-cart-line-price {
	align-items: flex-start;
}

.woocommerce-cart .shop_table .product-subtotal .mirabel-cart-line-price {
	align-items: flex-end;
}

.woocommerce-cart .shop_table .product-price .mirabel-cart-line-price del,
.woocommerce-cart .shop_table .product-subtotal .mirabel-cart-line-price del {
	font-size: 13px;
	line-height: 1.1;
}

.woocommerce-cart .shop_table .product-price .mirabel-cart-line-price ins,
.woocommerce-cart .shop_table .product-subtotal .mirabel-cart-line-price ins {
	font-size: 16px;
	line-height: 1.15;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
	font-size: 13px;
	line-height: 1.45;
}

.woocommerce-checkout .woocommerce-privacy-policy-text p {
	margin-bottom: 14px;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout .woocommerce-form-coupon .button,
.woocommerce-checkout .checkout_coupon .button {
	min-height: var(--btn-accented-height, var(--btn-height, 46px));
	padding: var(--btn-accented-padding, var(--btn-padding, 12px 28px));
	border: 0;
	border-radius: var(--btn-accented-brd-radius, var(--btn-brd-radius, 999px));
	background: var(--btn-accented-bgcolor, var(--wd-primary-color, #256864));
	box-shadow: var(--btn-accented-box-shadow, none);
	color: #fff !important;
	font-size: var(--btn-accented-font-size, var(--btn-font-size, 14px));
	font-weight: var(--btn-accented-font-weight, var(--btn-font-weight, 600));
	text-transform: none;
}

.woocommerce-checkout #place_order:hover,
.woocommerce-checkout #place_order:focus,
.woocommerce-checkout .woocommerce-form-coupon .button:hover,
.woocommerce-checkout .checkout_coupon .button:hover {
	background: var(--btn-accented-bgcolor-hover, #4FB3AD);
	color: #fff !important;
}

/*
 * Mini cart line: the name takes its own row, then the quantity control and the
 * price share the next one with the price hard right. Stacking the price under
 * the control left a ragged left edge and made the line taller than it needed
 * to be.
 *
 * The price carries the `quantity` class too, so the control is addressed as
 * `div.quantity` to keep the two apart.
 */
.cart-widget-side .woocommerce-mini-cart-item .cart-info,
.wd-dropdown-cart .woocommerce-mini-cart-item .cart-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 12px;
	row-gap: 10px;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-info > .wd-entities-title,
.wd-dropdown-cart .woocommerce-mini-cart-item .cart-info > .wd-entities-title {
	flex: 0 0 100%;
	margin-bottom: 0;
}

.cart-widget-side .woocommerce-mini-cart-item div.quantity,
.wd-dropdown-cart .woocommerce-mini-cart-item div.quantity {
	margin: 0;
}

.cart-widget-side .woocommerce-mini-cart-item .mirabel-mini-cart-price,
.wd-dropdown-cart .woocommerce-mini-cart-item .mirabel-mini-cart-price {
	margin: 0 0 0 auto;
	color: #256864;
	font-weight: 500;
	white-space: nowrap;
}

.cart-widget-side .woocommerce-mini-cart__buttons .btn-cart,
.wd-dropdown-cart .woocommerce-mini-cart__buttons .btn-cart {
	border: 0 !important;
	border-radius: var(--btn-accented-brd-radius, 999px) !important;
	background: #4FB3AD !important;
	color: #fff !important;
	font-size: var(--btn-accented-font-size, var(--btn-font-size, 14px));
	font-weight: 600;
	text-transform: uppercase;
}

.cart-widget-side .woocommerce-mini-cart__buttons .btn-cart:hover,
.cart-widget-side .woocommerce-mini-cart__buttons .btn-cart:focus,
.wd-dropdown-cart .woocommerce-mini-cart__buttons .btn-cart:hover,
.wd-dropdown-cart .woocommerce-mini-cart__buttons .btn-cart:focus {
	background: #256864 !important;
	color: #fff !important;
}

.cart-widget-side .woocommerce-mini-cart__buttons .checkout,
.wd-dropdown-cart .woocommerce-mini-cart__buttons .checkout {
	color: #fff !important;
}

@media (min-width: 1025px) {
	.woocommerce-checkout form.checkout > .checkout-order-review,
	.woocommerce-checkout form.checkout > .woocommerce-checkout-review-order {
		position: sticky !important;
		top: 112px;
		align-self: flex-start;
		max-height: none;
		overflow: visible;
	}
}

@media (max-width: 767px) {
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-additional-fields,
	.woocommerce-checkout .woocommerce-checkout-review-order,
	.woocommerce-checkout .mirabel-checkout-section {
		padding: 20px;
	}

	body.woocommerce-checkout {
		overflow-x: hidden;
	}

	form.woocommerce-checkout > .checkout-order-review {
		padding: 18px 12px !important;
	}

	.woocommerce-checkout .checkout-order-review,
	.woocommerce-checkout .woocommerce-checkout-review-order,
	.woocommerce-checkout .woocommerce-checkout-review-order .wd-table-wrapper,
	.woocommerce-checkout .woocommerce-checkout-review-order-table {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order {
		padding: 16px;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order .wd-table-wrapper {
		margin-bottom: 16px;
		padding: 0 !important;
		overflow: visible;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table,
	.woocommerce-checkout .woocommerce-checkout-review-order-table thead,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tr,
	.woocommerce-checkout .woocommerce-checkout-review-order-table th,
	.woocommerce-checkout .woocommerce-checkout-review-order-table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
		display: none;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		padding: 14px 0;
		border-bottom: 1px solid var(--mirabel-line);
	}

	/* Same two-line layout as on desktop, with a smaller photo. */
	.woocommerce-checkout .woocommerce-checkout-review-order .cart_item .product-name {
		grid-template-columns: 72px minmax(0, 1fr);
		column-gap: 12px;
		row-gap: 8px;
		min-width: 0;
		padding: 0;
	}

	.woocommerce-checkout .mirabel-checkout-item-thumb {
		width: 72px;
		height: 72px;
	}

	.woocommerce-checkout .mirabel-checkout-item-title {
		font-size: 14px;
		line-height: 1.3;
		word-break: normal;
		overflow-wrap: anywhere;
	}

	.woocommerce-checkout .mirabel-checkout-item-meta {
		gap: 8px;
	}

	.woocommerce-checkout .mirabel-checkout-item-price {
		font-size: 14px;
	}

	.woocommerce-checkout .mirabel-checkout-item-quantity .quantity {
		height: 28px;
		min-width: 78px;
	}

	.woocommerce-checkout .mirabel-checkout-item-quantity .quantity input.qty {
		width: 30px;
		height: 28px;
		min-height: 28px;
		font-size: 13px;
	}

	.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .minus,
	.woocommerce-checkout .mirabel-checkout-item-quantity .quantity .plus {
		width: 22px;
		min-height: 28px;
		font-size: 14px;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
		grid-column: 2;
		min-width: 82px;
		padding: 0;
		text-align: right;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total .mirabel-cart-line-price {
		align-items: flex-end;
		font-size: 14px;
		line-height: 1.2;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total .mirabel-cart-line-price del {
		font-size: 12px;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 14px 0;
		border-bottom: 1px solid var(--mirabel-line);
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr:last-child {
		border-bottom: 0;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
	.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
		width: auto;
		padding: 0;
		border: 0;
	}

	.woocommerce-checkout-review-order .order-total th,
	.woocommerce-checkout-review-order .order-total td {
		font-size: 18px;
	}

	.woocommerce-checkout-review-order .order-total td .amount {
		font-size: 24px;
	}

	.woocommerce-checkout .woocommerce-privacy-policy-text {
		font-size: 12px;
	}

	.woocommerce-checkout #place_order {
		width: 100%;
	}

	.woocommerce-checkout #coderockz_woo_delivery_setting_wrapper {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout .mirabel-recipient-section.is-open .mirabel-recipient-extra {
		grid-template-columns: 1fr;
	}

	.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.woocommerce-checkout .woocommerce-billing-fields > h3,
	.woocommerce-checkout .woocommerce-additional-fields > h3,
	.woocommerce-checkout .mirabel-checkout-section > h3,
	.woocommerce-checkout #order_review_heading {
		font-size: 20px;
	}
}

@media (max-width: 767px) {
	.product-grid-item .product-element-top .wd-add-btn:has(.mirabel-variable-options-loop),
	.product-grid-item .product-element-top .wd-add-btn-wrap:has(.mirabel-variable-options-loop) {
		right: 0 !important;
		left: 0 !important;
	}

	.product-grid-item .mirabel-variable-options-loop {
		min-height: 40px;
		padding: 8px 10px !important;
		font-size: 13px;
	}
}

.mirabel-mega-menu {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px 48px;
	width: 100%;
	padding: 32px 36px;
}

.mirabel-mega-menu > * {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	min-width: 0;
}

.mirabel-mega-menu h3 {
	margin-bottom: 3px;
	font-size: 18px;
	line-height: 1.25;
}

.mirabel-mega-menu a {
	color: var(--color-gray-500);
	font-size: 14px;
	line-height: 1.35;
	white-space: nowrap;
}

.mirabel-mega-menu a:hover {
	color: var(--wd-primary-color);
}

.mirabel-mega-services {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 42px 58px 50px;
	gap: 56px;
}

.mirabel-mega-services h3 {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.25;
	text-transform: none;
}

.mirabel-mega-services .mirabel-mega-panel h3,
.mirabel-mega-categories .mirabel-mega-panel h3 {
	margin-bottom: 4px !important;
}

.mirabel-mega-services a {
	font-size: 14px;
}

.mirabel-mega-categories {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mirabel-mega-categories .mirabel-mega-panel ul {
	display: block;
}

.mirabel-side-menu-panel {
	display: flex;
	min-width: 835px;
	padding: 28px 34px 34px;
	flex-direction: column;
	gap: 14px;
}

.mirabel-side-menu-image {
	margin: 0;
}

.mirabel-side-menu-image img {
	display: block;
	width: 170px;
	height: 170px;
	object-fit: cover;
	object-position: center;
}

.mirabel-side-menu-panel .mirabel-mega-panel {
	display: block;
}

.mirabel-side-menu-panel .mirabel-mega-panel ul {
	display: block;
}

.mirabel-side-menu-panel .mirabel-mega-panel h3 {
	margin-bottom: 5px;
	font-size: 18px;
	line-height: 1.25;
}

.mirabel-side-menu-panel .mirabel-mega-panel a {
	font-size: 14px;
	line-height: 1.35;
	white-space: nowrap;
}

body:not(.whb-sticked) .whb-main-header:not(.whb-clone) .mirabel-sticky-categories-menu,
.whb-main-header:not(.whb-clone) .mirabel-sticky-categories-menu {
	display: none !important;
}

.whb-clone .mirabel-sticky-categories-menu {
	display: flex !important;
}

.wd-nav-vertical > li[class*="mirabel-side-icon-"] > a {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wd-nav-vertical > li[class*="mirabel-side-icon-"] > a::before {
	display: inline-flex;
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	align-items: center;
	justify-content: center;
	color: #061E1D;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
}

.wd-nav-vertical > li.mirabel-side-icon-window > a::before {
	content: "▦";
}

.wd-nav-vertical > li.mirabel-side-icon-bouquet > a::before,
.wd-nav-vertical > li.mirabel-side-icon-flower > a::before {
	content: "✿";
}

.wd-nav-vertical > li.mirabel-side-icon-basket > a::before,
.wd-nav-vertical > li.mirabel-side-icon-basket-flower > a::before {
	content: "◴";
}

.wd-nav-vertical > li.mirabel-side-icon-box > a::before,
.wd-nav-vertical > li.mirabel-side-icon-box-flower > a::before {
	content: "□";
}

.wd-nav-vertical > li.mirabel-side-icon-star > a::before,
.wd-nav-vertical > li.mirabel-side-icon-spark > a::before {
	content: "✦";
}

.wd-nav-vertical > li.mirabel-side-icon-heart > a::before {
	content: "♡";
}

.wd-nav-vertical > li.mirabel-side-icon-balloon > a::before {
	content: "○";
}

.wd-nav-vertical > li.mirabel-side-icon-gift > a::before {
	content: "▧";
}

.mobile-nav {
	z-index: 100050 !important;
	width: 100vw !important;
	max-width: 100vw !important;
}

/* The common overlay is raised for cart/login panels. Keep the open mobile menu above it. */
.mobile-nav.wd-side-hidden.wd-opened {
	z-index: 100101 !important;
}

.mobile-nav .wd-search-form,
.mobile-nav .wd-nav-mob-tab,
.mobile-nav .mobile-categories-menu {
	display: none !important;
}

.mobile-nav .mobile-pages-menu {
	display: block !important;
}

.mobile-nav .mobile-pages-menu:not(.wd-active) {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

.mobile-nav .wd-nav-mobile {
	padding: 28px 28px 38px;
}

.mobile-nav .wd-nav-mobile > li {
	border-bottom: 0 !important;
}

.mobile-nav .wd-nav-mobile > li > a {
	min-height: 0;
	padding: 9px 34px 9px 0;
	color: var(--wd-title-color);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
}

.mobile-nav .wd-nav-mobile > li.mirabel-mobile-menu-heading > a {
	padding-top: 0;
	color: var(--mirabel-green);
	font-size: 18px;
	font-weight: 600;
}

.mobile-nav .wd-nav-mobile .wd-nav-opener {
	top: 0;
	right: 0;
	width: 34px;
	height: 44px;
	color: var(--wd-title-color);
}

.mobile-nav .wd-nav-mobile .wd-sub-menu {
	display: none;
	margin: 0 0 8px;
	padding: 0 0 0 18px;
}

.mobile-nav .wd-nav-mobile li.wd-opened > .wd-sub-menu {
	display: block;
}

.mobile-nav .wd-nav-mobile .wd-sub-menu a {
	padding: 7px 0;
	color: var(--color-gray-500);
	font-size: 16px;
	line-height: 1.35;
}

.mobile-nav .mirabel-mobile-info > a {
	padding-block: 4px !important;
	color: var(--wd-title-color) !important;
	background: transparent !important;
	box-shadow: none !important;
	pointer-events: none;
}

.mobile-nav .mirabel-mobile-phone {
	margin-top: 26px;
	padding-top: 18px;
	border-top: 0 !important;
}

.mobile-nav .mirabel-mobile-phone > a {
	font-size: 24px !important;
	font-weight: 500;
	/*
	 * The info items above are plain text and switch pointer events off. The
	 * phone is a real tel: link and has to stay tappable.
	 */
	pointer-events: auto;
	cursor: pointer;
}

.mobile-nav .mirabel-mobile-hours {
	padding-bottom: 18px;
}

.mobile-nav .mirabel-mobile-hours > a {
	font-size: 16px !important;
}

.mobile-nav .mirabel-mobile-button > a {
	display: flex;
	justify-content: center;
	margin: 16px 0 28px;
	padding: 17px 24px !important;
	border: 1px solid var(--wd-primary-color);
	border-radius: 999px;
	background: var(--wd-primary-color) !important;
	box-shadow: 0 10px 24px rgba(79, 179, 173, .18);
	color: #fff !important;
	font-size: 19px !important;
	line-height: 1.2;
}

.mobile-nav .mobile-pages-menu > li.menu-item-wishlist > a,
.mobile-nav .mobile-pages-menu > li.menu-item-compare > a,
.mobile-nav .mobile-pages-menu > li.menu-item-account > a {
	font-size: 16px;
}

.mirabel-mobile-close {
	position: absolute;
	top: 16px;
	right: 18px;
	z-index: 2;
	display: inline-flex;
	width: 42px;
	height: 42px;
	padding: 0 0 3px;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .08);
	color: var(--wd-title-color);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 34px;
	line-height: 1;
}

.mirabel-mobile-close:hover {
	background: #fff;
	color: #e86fa2;
}

.footer-container .main-footer.wd-entry-content {
	width: 100%;
	max-width: none;
	padding-right: 0;
	padding-left: 0;
}

.mirabel-footer-inner {
	max-width: 1222px;
	margin: 0 auto;
	padding: 0 15px;
}

.mirabel-footer-grid.wp-block-columns {
	display: grid !important;
	grid-template-columns: 1.35fr 1.45fr 1fr 1.25fr 1.35fr;
	gap: 48px;
	align-items: flex-start !important;
	margin-bottom: 42px;
}

.mirabel-footer-grid .wp-block-column {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.mirabel-footer-brand {
	max-width: 270px;
}

.mirabel-footer-grid h3 {
	margin-bottom: 18px;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2;
}

.mirabel-footer-grid p {
	margin-bottom: 10px;
	color: #061E1D;
	font-size: 18px;
	line-height: 1.45;
}

.mirabel-footer-contact p {
	font-size: 16px;
	overflow-wrap: anywhere;
}

.mirabel-footer-logo {
	margin: 0 0 22px;
	line-height: 0;
}

.mirabel-footer-logo img {
	width: 255px;
	max-width: 100%;
	height: auto;
}

.mirabel-footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mirabel-footer-links li {
	margin-bottom: 9px;
	line-height: 1.25;
}

.mirabel-footer-links a,
.mirabel-footer-bottom a {
	color: #111;
	text-decoration: none;
}

.mirabel-footer-links a:hover,
.mirabel-footer-bottom a:hover {
	color: var(--wd-primary-color);
}

/*
 * Dropdown and mega menu links had no hover state at all and sat at a lighter
 * grey than the rest of the site. They now match the footer links: same idle
 * colour, same brand green on hover.
 */
.wd-dropdown-menu .wd-sub-menu a,
.wd-dropdown-menu .sub-menu a,
.mirabel-mega-panel a,
.mirabel-mega-categories a,
.mirabel-side-menu-panel a {
	color: #111;
	transition: color .2s ease;
}

.wd-dropdown-menu .wd-sub-menu a:hover,
.wd-dropdown-menu .wd-sub-menu a:focus-visible,
.wd-dropdown-menu .sub-menu a:hover,
.wd-dropdown-menu .sub-menu a:focus-visible,
.mirabel-mega-panel a:hover,
.mirabel-mega-panel a:focus-visible,
.mirabel-mega-categories a:hover,
.mirabel-mega-categories a:focus-visible,
.mirabel-side-menu-panel a:hover,
.mirabel-side-menu-panel a:focus-visible {
	color: var(--wd-primary-color);
}

.mirabel-footer-socials {
	display: flex;
	gap: 14px;
	margin-top: 20px;
	align-items: center;
}

.mirabel-footer-socials .wp-block-image {
	margin: 0;
	line-height: 0;
}

.mirabel-footer-socials a {
	display: inline-flex;
	width: auto;
	height: auto;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	transition: transform .25s ease, opacity .25s ease;
}

.mirabel-footer-socials a:hover {
	transform: translateY(-2px);
	opacity: .78;
}

.mirabel-footer-socials img {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.mirabel-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 26px 0;
	border-top: 1px solid var(--mirabel-line);
	color: #8d9998;
}

.mirabel-footer-bottom p {
	margin-bottom: 0;
	color: inherit;
	font-size: 16px;
	line-height: 1.4;
}

.mirabel-footer-bottom a {
	color: #8d9998;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wd-show-sidebar-btn,
.wd-sidebar-opener,
.wd-toolbar-sidebar,
.wd-show-sidebar-btn .wd-tools-text,
.wd-sidebar-opener .wd-tools-text,
.wd-toolbar-sidebar .wd-tools-text,
.wd-show-sidebar-btn a,
.wd-sidebar-opener a,
.wd-toolbar-sidebar a {
	text-decoration: none !important;
}

@media (min-width: 1025px) {
	.woocommerce.archive .wd-sidebar.sidebar-container,
	.post-type-archive-product .wd-sidebar.sidebar-container,
	.tax-product_cat .wd-sidebar.sidebar-container {
		position: sticky;
		top: 124px;
		align-self: flex-start;
		overflow: visible;
	}

	.woocommerce.archive .wd-sidebar.sidebar-container .widget-area,
	.woocommerce.archive .wd-sidebar.sidebar-container .wd-scroll,
	.woocommerce.archive .wd-sidebar.sidebar-container .wd-scroll-content,
	.post-type-archive-product .wd-sidebar.sidebar-container .widget-area,
	.post-type-archive-product .wd-sidebar.sidebar-container .wd-scroll,
	.post-type-archive-product .wd-sidebar.sidebar-container .wd-scroll-content,
	.tax-product_cat .wd-sidebar.sidebar-container .widget-area,
	.tax-product_cat .wd-sidebar.sidebar-container .wd-scroll,
	.tax-product_cat .wd-sidebar.sidebar-container .wd-scroll-content {
		max-width: 100%;
		overflow-x: hidden !important;
	}

}

@media (max-width: 1024px) {
	body.mirabel-filter-open .wd-sidebar.sidebar-container {
		position: fixed !important;
		top: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 100003 !important;
		display: flex !important;
		width: min(86vw, 360px) !important;
		max-width: min(86vw, 360px) !important;
		height: 100vh !important;
		flex-direction: column;
		background: #fff;
		box-shadow: var(--mirabel-shadow-lg);
		opacity: 1 !important;
		visibility: visible !important;
		transform: translate3d(0, 0, 0) !important;
		pointer-events: auto !important;
	}

	body.mirabel-filter-open .wd-sidebar.sidebar-container .wd-heading {
		display: flex !important;
		min-height: 56px;
		padding: 0 20px;
		align-items: center;
		justify-content: flex-end;
		border-bottom: 1px solid var(--mirabel-line);
	}

	body.mirabel-filter-open .wd-sidebar.sidebar-container .widget-area {
		flex: 1 1 auto;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.mirabel-filter-open .wd-sidebar.sidebar-container .wd-scroll-content {
		max-height: none !important;
		padding: 24px 20px;
	}

	body.mirabel-filter-open .wd-close-side {
		z-index: 100002 !important;
	}
}

.mirabel-about-page,
.mirabel-info-page,
.mirabel-legal-page {
	margin-bottom: 80px;
}

.mirabel-about-intro,
.mirabel-page-hero,
.mirabel-about-benefits,
.mirabel-about-contacts,
.mirabel-text-section {
	margin-bottom: 80px;
}

.page-id-5212 .mirabel-about-page > * {
	margin-bottom: 80px;
}

.page-id-5212 .mirabel-about-page > *:last-child {
	margin-bottom: 0;
}

.mirabel-about-intro {
	gap: 70px;
	align-items: center !important;
}

.mirabel-about-intro .wp-block-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center;
	border-radius: var(--wd-brd-radius);
}

.mirabel-page-hero {
	padding: 70px 48px;
	background: rgba(79, 179, 173, .08);
	text-align: center;
}

.mirabel-page-hero h1,
.mirabel-about-intro h1,
.mirabel-about-benefits h2,
.mirabel-about-contacts h2,
.mirabel-text-section h2 {
	margin-bottom: 18px;
}

.page-id-5212 .mirabel-about-intro h1,
.page-id-5212 .mirabel-about-benefits h2,
.page-id-5212 .mirabel-about-contacts h2,
.page-id-5212 .wp-block-wd-title.wd-679835ad {
	margin-bottom: 40px;
	color: #061e1d;
	font-size: 32px;
	font-weight: 400;
	line-height: 1.25;
	text-align: center;
}

.page-id-5212 .mirabel-about-benefits h2,
.page-id-5212 .mirabel-about-contacts h2,
.page-id-5212 .wp-block-wd-title.wd-679835ad {
	max-width: 100%;
}

.page-id-5212 .mirabel-about-intro .is-vertically-aligned-center {
	text-align: left;
}

.page-id-5212 .mirabel-about-intro h1 {
	text-align: left;
}

.page-id-5212 .wp-block-wd-title.wd-679835ad {
	margin-bottom: 10px;
}

.page-id-5212 .wp-block-wd-paragraph.wd-81731b7c {
	margin-bottom: 40px;
	font-size: 18px;
	line-height: 1.5;
}

.mirabel-page-hero .mirabel-hero-text {
	max-width: 760px;
	margin-inline: auto;
	font-size: 18px;
}

.mirabel-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 30px;
	/*
	 * Gutenberg's constrained layout lets each card size itself to its content
	 * and centres it, which staggered the cards into a staircase. Only the
	 * About page had this corrected; the rule now covers every card grid.
	 */
	justify-items: stretch;
}

.mirabel-card-grid > .mirabel-info-card {
	width: 100%;
	max-width: 100%;
	margin: 0;
}

/* Contact cards line up on one baseline and share a 20px gap. */
.mirabel-about-contacts .mirabel-card-grid {
	gap: 20px;
	grid-auto-rows: 1fr;
}

.mirabel-info-card {
	padding: 28px 24px;
	border: 1px solid var(--mirabel-line);
	background: #fff;
	box-shadow: var(--mirabel-shadow-sm);
	border-radius: var(--wd-brd-radius);
}

.mirabel-info-card-icon {
	display: inline-flex;
	width: 44px;
	height: 44px;
	margin-bottom: 18px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(79, 179, 173, .12);
	color: var(--wd-primary-color);
	font-size: 22px;
	line-height: 1;
}

.mirabel-info-card h3 {
	margin-bottom: 10px;
	font-size: 20px;
}

.page-id-5212 .mirabel-about-benefits .mirabel-card-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 0;
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card {
	width: 100%;
	max-width: none;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding: 28px 18px;
	text-align: center;
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card-icon {
	width: 82px;
	height: 82px;
	margin: 0 auto 18px;
	border: 0;
	background: transparent;
	color: transparent;
	font-size: 0;
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card-icon::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card:nth-child(1) .mirabel-info-card-icon::before {
	background-image: url("/wp-content/uploads/2026/07/avtorski-kviti.png");
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card:nth-child(2) .mirabel-info-card-icon::before {
	background-image: url("/wp-content/uploads/2026/07/kviti-vrazhaut.png");
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card:nth-child(3) .mirabel-info-card-icon::before {
	background-image: url("/wp-content/uploads/2026/07/turbota.png");
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card:nth-child(4) .mirabel-info-card-icon::before {
	background-image: url("/wp-content/uploads/2026/07/dostavka-shvidko.png");
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card:nth-child(5) .mirabel-info-card-icon::before {
	background-image: url("/wp-content/uploads/2026/07/kviti-vrazhaut.png");
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card-icon::before {
	content: none;
	display: none;
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card h3 {
	font-size: 16px;
	line-height: 1.35;
}

.page-id-5212 .mirabel-about-benefits .mirabel-info-card p {
	font-size: 14px;
	line-height: 1.55;
}

.page-id-5212 .mirabel-about-contacts .mirabel-card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	justify-items: stretch;
	margin-top: 0;
}

.page-id-5212 .mirabel-about-contacts .mirabel-info-card {
	width: 100%;
	max-width: none;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	text-align: left;
}

.page-id-5212 .mirabel-about-contacts .mirabel-info-card-icon {
	display: none;
}

.page-id-5212 .mirabel-about-contacts .mirabel-info-card h3 {
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
}

.page-id-5212 .mirabel-about-contacts .mirabel-info-card p {
	margin-bottom: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.55;
}

.page-id-5212 .mirabel-about-contacts .mirabel-info-card a,
.page-id-5212 .mirabel-about-contacts .mirabel-info-card strong {
	color: #256864;
	font-weight: 600;
}

.mirabel-info-card p:last-child,
.mirabel-text-section p:last-child,
.mirabel-text-section ul:last-child {
	margin-bottom: 0;
}

.mirabel-text-section {
	padding: 34px 38px;
	border: 1px solid var(--mirabel-line);
	background: #fff;
}

.mirabel-text-section ul {
	padding-left: 20px;
}

.mirabel-text-section li {
	margin-bottom: 8px;
}

.mirabel-review-link {
	margin-top: 28px;
	text-align: left;
}

.mirabel-review-empty,
.mirabel-review-message {
	padding: 22px 24px;
	border: 1px solid var(--mirabel-line);
	background: #fff;
}

.mirabel-reviews-carousel {
	position: relative;
	padding-inline: 56px;
}

.mirabel-instagram-shell {
	position: relative;
	padding-inline: 56px;
}

.mirabel-reviews-track {
	display: flex;
	align-items: stretch;
	gap: 24px;
	overflow-x: auto;
	padding-bottom: 0;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.mirabel-reviews-track::-webkit-scrollbar,
.mirabel-instagram-carousel::-webkit-scrollbar {
	display: none;
}

.mirabel-reviews-track > * {
	flex: 0 0 calc((100% - 48px) / 3);
	min-width: 280px;
	scroll-snap-align: start;
}

.mirabel-review-card {
	display: flex;
	height: 100%;
	padding: 28px 24px;
	border: 1px solid #2F7F7B;
	background: #D4FDF6;
	box-shadow: none;
	flex-direction: column;
	gap: 18px;
	border-radius: var(--wd-brd-radius);
}

.mirabel-reviews-track .mirabel-review-card {
	height: 306px;
	min-height: 306px;
}

.mirabel-reviews-track .mirabel-review-card.is-expanded {
	height: auto;
}

.mirabel-review-card-head {
	display: flex;
	align-items: center;
	gap: 14px;
}

.mirabel-review-card-head h3,
.mirabel-review-form h3 {
	margin-bottom: 4px;
}

.mirabel-review-avatar {
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	object-fit: cover;
}

.mirabel-review-avatar-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #256864;
	color: #fff;
	font-weight: 700;
	line-height: 1;
}

.mirabel-review-stars {
	color: var(--wd-primary-color);
	font-size: 15px;
	letter-spacing: .08em;
}

.mirabel-review-text {
	display: -webkit-box;
	overflow: hidden;
	line-height: 1.55;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.mirabel-review-card.is-expanded .mirabel-review-text {
	display: block;
	overflow: visible;
	-webkit-line-clamp: unset;
}

.mirabel-review-text p:last-child {
	margin-bottom: 0;
}

.mirabel-review-toggle {
	display: none;
	align-self: flex-start;
	padding: 0 0 3px;
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	color: #2F7F7B;
	font-weight: 600;
	line-height: 1.2;
}

.mirabel-review-toggle:hover {
	background: transparent !important;
	box-shadow: none !important;
	color: #256864;
}

.mirabel-review-card.is-collapsible .mirabel-review-toggle {
	display: inline-flex;
}

.mirabel-review-product {
	margin-top: auto;
	color: #256864;
	font-weight: 600;
}

.mirabel-review-product:hover {
	color: #2F7F7B;
}

.mirabel-carousel-btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	width: 42px;
	height: 42px;
	padding: 0 0 2px;
	align-items: center;
	justify-content: center;
	border: 1px solid #256864;
	border-radius: 50%;
	background: #fff;
	color: var(--wd-title-color);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 26px;
	line-height: 1;
	transform: translateY(-50%);
}

.mirabel-carousel-prev {
	left: 0;
}

.mirabel-carousel-next {
	right: 0;
}

.mirabel-carousel-btn:hover {
	color: #D4FDF6;
        background:#256864;
}

.mirabel-instagram-carousel {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: flex-start !important;
	gap: 24px;
	overflow-x: auto;
	overflow-y: visible !important;
	padding-bottom: 0;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.mirabel-instagram-shell {
	overflow-y: visible !important;
}

.mirabel-instagram-carousel .wp-block-image,
.mirabel-instagram-carousel figure.wp-block-image {
	flex: 0 0 calc((100% - 72px) / 4);
	width: calc((100% - 72px) / 4) !important;
	max-width: none !important;
	min-width: 210px;
	margin: 0 !important;
	scroll-snap-align: start;
}

.mirabel-instagram-carousel img,
.mirabel-service-image img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center;
}

.mirabel-instagram-lightbox-link {
	display: block;
	height: 100%;
	cursor: zoom-in;
}

.mirabel-instagram-lightbox-link img {
	display: block;
}

.mirabel-instagram-feed-section {
	overflow: hidden;
	width: calc(100vw - var(--wd-scroll-w, 0px));
	max-width: none;
	margin-right: calc(50% - 50vw + var(--wd-scroll-w, 0px) / 2) !important;
	margin-left: calc(50% - 50vw + var(--wd-scroll-w, 0px) / 2) !important;
	margin-top: 40px !important;
	margin-bottom: 80px !important;
}

.wd-prefooter .mirabel-instagram-feed-section {
	margin-top: 40px !important;
	margin-bottom: 80px !important;
}

.mirabel-instagram-feed-section .mirabel-section-title {
	margin-bottom: 30px;
}

.mirabel-instagram-feed {
	/* Shared by the track gap and the marquee keyframe offset below. */
	--mirabel-instagram-gap: 10px;
	width: 100%;
	overflow: hidden;
}

.mirabel-instagram-feed__track {
	display: flex;
	width: max-content;
	gap: var(--mirabel-instagram-gap);
	will-change: transform;
	animation: mirabel-instagram-marquee var(--mirabel-instagram-speed, 34s) linear infinite;
}

.mirabel-instagram-feed:hover .mirabel-instagram-feed__track {
	animation-play-state: paused;
}

.mirabel-instagram-feed__item {
	display: block;
	flex: 0 0 clamp(152px, 15vw, 240px);
	width: clamp(152px, 15vw, 240px);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--wd-brd-radius);
	background: #EAF6F4;
}

.mirabel-instagram-feed__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform .3s ease;
}

.mirabel-instagram-feed__item:hover .mirabel-instagram-feed__image {
	transform: scale(1.04);
}

.mirabel-instagram-feed__link {
	max-width: 1222px;
	margin: 16px auto 0;
	padding: 0 15px;
	color: #061E1D;
	text-align: left;
}

.mirabel-instagram-feed__link span {
	color: #061E1D !important;
}

.mirabel-instagram-feed__link a {
	display: inline-block;
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	color: #256864;
	font-weight: 600;
	text-decoration: none;
}

.mirabel-instagram-feed__link a:hover {
	color: #2F7F7B;
}

@keyframes mirabel-instagram-marquee {
	from {
		transform: translate3d(0, 0, 0);
	}

	to {
		transform: translate3d(calc(-50% - var(--mirabel-instagram-gap, 10px) / 2), 0, 0);
	}
}

.mirabel-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	padding: 36px 82px;
	align-items: center;
	justify-content: center;
	background: rgba(16, 24, 23, .84);
}

.mirabel-lightbox.is-open {
	display: flex;
}

body.mirabel-lightbox-open {
	overflow: hidden;
}

.cart-widget-side.wd-side-hidden.wd-opened,
.login-form-side.wd-side-hidden.wd-opened,
.wd-side-hidden.wd-opened.wd-login-side,
.wd-side-hidden.wd-opened.wd-account-side {
	z-index: 100100 !important;
}

body .wd-close-side.wd-close-side-opened {
	z-index: 100090 !important;
}

@media (max-width: 1024px) {
	body.mirabel-filter-open .wd-close-side.wd-close-side-opened {
		z-index: 100090 !important;
	}

	body.mirabel-filter-open .wd-sidebar.sidebar-container {
		z-index: 100110 !important;
	}
}

.woocommerce-wishlist .wd-page-title-bg,
.woocommerce-compare .wd-page-title-bg,
.woocommerce-cart .wd-page-title-bg,
.woocommerce-checkout .wd-page-title-bg,
.woocommerce-account .wd-page-title-bg,
.woodmart-wishlist-page .wd-page-title-bg,
.wd-wishlist-content ~ .wd-page-title-bg,
.wd-compare-table ~ .wd-page-title-bg,
body[class*="wishlist"] .wd-page-title-bg,
body[class*="compare"] .wd-page-title-bg,
body[class*="account"] .wd-page-title-bg,
.page-id-11 .wd-page-title-bg,
.page-id-265 .wd-page-title-bg,
.page-id-37412 .wd-page-title-bg,
.page-id-267 .wd-page-title-bg,
.page-id-36890 .wd-page-title-bg,
.page-id-36968 .wd-page-title-bg {
	display: none !important;
	background-image: none !important;
}

.woocommerce-wishlist .wd-page-title,
.woocommerce-compare .wd-page-title,
.woocommerce-cart .wd-page-title,
.woocommerce-checkout .wd-page-title,
.woocommerce-account .wd-page-title,
.woodmart-wishlist-page .wd-page-title,
body[class*="wishlist"] .wd-page-title,
body[class*="compare"] .wd-page-title,
body[class*="account"] .wd-page-title,
.page-id-11 .wd-page-title,
.page-id-265 .wd-page-title,
.page-id-37412 .wd-page-title,
.page-id-267 .wd-page-title {
	background: transparent !important;
	background-image: none !important;
}

.woocommerce-cart .wd-page-title,
.woocommerce-checkout .wd-page-title {
	padding-top: 34px !important;
	padding-bottom: 42px !important;
}

.woocommerce-cart .wd-page-title .container,
.woocommerce-checkout .wd-page-title .container {
	align-items: center !important;
	text-align: center !important;
}

.woocommerce-cart .wd-checkout-steps,
.woocommerce-checkout .wd-checkout-steps {
	justify-content: center !important;
	flex-wrap: nowrap;
	gap: 8px 12px;
	color: rgba(37, 104, 100, .44) !important;
	font-size: clamp(18px, 2.2vw, 30px);
	font-weight: 400;
	line-height: 1.2;
	text-transform: none;
}

.woocommerce-cart .wd-checkout-steps li,
.woocommerce-checkout .wd-checkout-steps li {
	color: inherit !important;
}

.woocommerce-cart .wd-checkout-steps li > :is(a, span),
.woocommerce-checkout .wd-checkout-steps li > :is(a, span) {
	color: inherit !important;
	opacity: 1 !important;
	text-shadow: none !important;
}

.woocommerce-cart .wd-checkout-steps .step-active > :is(a, span),
.woocommerce-checkout .wd-checkout-steps .step-active > :is(a, span) {
	color: #256864 !important;
	text-decoration: underline 2px solid #256864 !important;
	text-underline-offset: 6px;
}

.woocommerce-cart .wd-checkout-steps .step-inactive > :is(a, span),
.woocommerce-checkout .wd-checkout-steps .step-inactive > :is(a, span) {
	color: rgba(37, 104, 100, .42) !important;
	font-size: .78em;
	text-decoration: none !important;
}

.woocommerce-cart .wd-checkout-steps li:not(:last-child):after,
.woocommerce-checkout .wd-checkout-steps li:not(:last-child):after {
	color: rgba(37, 104, 100, .3) !important;
	font-size: .72em;
	opacity: 1 !important;
}

.woocommerce-wishlist .page-title,
.woocommerce-compare .page-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title,
.woocommerce-account .page-title,
body[class*="wishlist"] .page-title,
body[class*="compare"] .page-title,
body[class*="account"] .page-title,
.page-id-11 .page-title,
.page-id-265 .page-title,
.page-id-37412 .page-title,
.page-id-267 .page-title {
	background: transparent !important;
	background-image: none !important;
}

.page-id-11 .wd-page-title::before,
.page-id-11 .wd-page-title::after,
.page-id-265 .wd-page-title::before,
.page-id-265 .wd-page-title::after,
.page-id-37412 .wd-page-title::before,
.page-id-267 .wd-page-title::before,
.page-id-37412 .wd-page-title::after,
.page-id-267 .wd-page-title::after,
.woocommerce-cart .wd-page-title::before,
.woocommerce-cart .wd-page-title::after,
.woocommerce-checkout .wd-page-title::before,
.woocommerce-checkout .wd-page-title::after {
	display: none !important;
	background: transparent !important;
}

.woocommerce-cart .wd-page-title,
.woocommerce-checkout .wd-page-title,
.page-id-11 .wd-page-title,
.page-id-265 .wd-page-title,
.page-id-37412 .wd-page-title,
.page-id-267 .wd-page-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title,
.page-id-11 .page-title,
.page-id-265 .page-title,
.page-id-37412 .page-title,
.page-id-267 .page-title {
	color: #256864 !important;
	text-shadow: none !important;
}

.woocommerce-cart .wd-page-title h1,
.woocommerce-checkout .wd-page-title h1,
.page-id-11 .wd-page-title h1,
.page-id-265 .wd-page-title h1,
.page-id-37412 .wd-page-title h1,
.page-id-267 .wd-page-title h1,
.woocommerce-cart .page-title h1,
.woocommerce-checkout .page-title h1,
.page-id-11 .page-title h1,
.page-id-265 .page-title h1,
.page-id-37412 .page-title h1,
.page-id-267 .page-title h1,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.page-id-11 .entry-title,
.page-id-265 .entry-title,
.page-id-37412 .entry-title,
.page-id-267 .entry-title,
.woocommerce-cart .title,
.woocommerce-checkout .title,
.page-id-11 .title,
.page-id-265 .title,
.page-id-37412 .title,
.page-id-267 .title {
	color: #256864 !important;
	text-shadow: none !important;
}

.woocommerce-cart .breadcrumbs,
.woocommerce-checkout .breadcrumbs,
.page-id-11 .breadcrumbs,
.page-id-265 .breadcrumbs,
.page-id-37412 .breadcrumbs,
.page-id-267 .breadcrumbs,
.woocommerce-cart .breadcrumbs a,
.woocommerce-checkout .breadcrumbs a,
.page-id-11 .breadcrumbs a,
.page-id-265 .breadcrumbs a,
.page-id-37412 .breadcrumbs a,
.page-id-267 .breadcrumbs a,
.woocommerce-cart .breadcrumbs span,
.woocommerce-checkout .breadcrumbs span,
.page-id-11 .breadcrumbs span,
.page-id-265 .breadcrumbs span,
.page-id-37412 .breadcrumbs span,
.page-id-267 .breadcrumbs span,
.woocommerce-cart .wd-breadcrumbs,
.woocommerce-checkout .wd-breadcrumbs,
.page-id-11 .wd-breadcrumbs,
.page-id-265 .wd-breadcrumbs,
.page-id-37412 .wd-breadcrumbs,
.page-id-267 .wd-breadcrumbs,
.woocommerce-cart .wd-breadcrumbs a,
.woocommerce-checkout .wd-breadcrumbs a,
.page-id-11 .wd-breadcrumbs a,
.page-id-265 .wd-breadcrumbs a,
.page-id-37412 .wd-breadcrumbs a,
.page-id-267 .wd-breadcrumbs a,
.woocommerce-cart .wd-breadcrumbs span,
.woocommerce-checkout .wd-breadcrumbs span,
.page-id-11 .wd-breadcrumbs span,
.page-id-265 .wd-breadcrumbs span,
.page-id-37412 .wd-breadcrumbs span,
.page-id-267 .wd-breadcrumbs span,
.woocommerce-cart .woocommerce-breadcrumb,
.woocommerce-checkout .woocommerce-breadcrumb,
.page-id-11 .woocommerce-breadcrumb,
.page-id-265 .woocommerce-breadcrumb,
.page-id-37412 .woocommerce-breadcrumb,
.page-id-267 .woocommerce-breadcrumb,
.woocommerce-cart .woocommerce-breadcrumb a,
.woocommerce-checkout .woocommerce-breadcrumb a,
.page-id-11 .woocommerce-breadcrumb a,
.page-id-265 .woocommerce-breadcrumb a,
.page-id-37412 .woocommerce-breadcrumb a,
.page-id-267 .woocommerce-breadcrumb a {
	color: #061E1D !important;
	text-shadow: none !important;
}

.woocommerce-cart .breadcrumbs .current,
.woocommerce-checkout .breadcrumbs .current,
.page-id-11 .breadcrumbs .current,
.page-id-265 .breadcrumbs .current,
.page-id-37412 .breadcrumbs .current,
.page-id-267 .breadcrumbs .current,
.woocommerce-cart .wd-breadcrumbs .current,
.woocommerce-checkout .wd-breadcrumbs .current,
.page-id-11 .wd-breadcrumbs .current,
.page-id-265 .wd-breadcrumbs .current,
.page-id-37412 .wd-breadcrumbs .current,
.page-id-267 .wd-breadcrumbs .current {
	color: #256864 !important;
}

.widget_price_filter .price_slider_amount .button,
.widget_price_filter .price_slider_amount .button:hover,
.widget_price_filter .price_slider_amount .button:focus,
.page-id-11 .woocommerce-form-login .button,
.page-id-11 .woocommerce-form-login .button:hover,
.page-id-11 .woocommerce-form-login .button:focus,
.page-id-11 .woocommerce-form-register .button,
.page-id-11 .woocommerce-form-register .button:hover,
.page-id-11 .woocommerce-form-register .button:focus,
.login-form-side .woocommerce-form-login .button,
.login-form-side .woocommerce-form-login .button:hover,
.login-form-side .woocommerce-form-login .button:focus,
.wd-login-side .woocommerce-form-login .button,
.wd-login-side .woocommerce-form-login .button:hover,
.wd-login-side .woocommerce-form-login .button:focus,
.woocommerce-account .woocommerce-button.button,
.woocommerce-account .woocommerce-button.button:hover,
.woocommerce-account .woocommerce-button.button:focus {
	color: #fff !important;
}

.mirabel-lightbox__figure {
	margin: 0;
}

.mirabel-lightbox__image {
	display: block;
	max-width: min(92vw, 1180px);
	max-height: 86vh;
	object-fit: contain;
	box-shadow: var(--mirabel-shadow-lg);
}

.mirabel-lightbox__close,
.mirabel-lightbox__nav {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 50%;
	background: rgba(255, 255, 255, .94);
	color: var(--wd-title-color);
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1;
}

.mirabel-lightbox__close:hover,
.mirabel-lightbox__nav:hover {
	background: #fff;
	color: #4FB3AD;
}

.mirabel-lightbox__close {
	top: 24px;
	right: 24px;
	width: 44px;
	height: 44px;
	padding: 0 0 4px;
	font-size: 32px;
}

.mirabel-lightbox__nav {
	top: 50%;
	width: 48px;
	height: 48px;
	padding: 0 0 3px;
	font-size: 32px;
	transform: translateY(-50%);
}

.mirabel-lightbox__prev {
	left: 24px;
}

.mirabel-lightbox__next {
	right: 24px;
}

.mirabel-service-image img {
	aspect-ratio: 16 / 9;
}

.mirabel-reviews-list {
	display: grid;
	gap: 24px;
	margin-bottom: 30px;
}

.mirabel-review-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 36px;
}

.mirabel-review-pagination a {
	display: inline-flex;
	min-width: 42px;
	height: 42px;
	padding-inline: 12px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--mirabel-line);
	color: var(--wd-title-color);
}

.mirabel-review-pagination a.is-active,
.mirabel-review-pagination a:hover {
	border-color: var(--wd-primary-color);
	color: var(--wd-primary-color);
}

.mirabel-review-form {
	display: grid;
	gap: 18px 20px;
	padding: 32px 28px;
	border: 1px solid var(--mirabel-line);
	background: #fff;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mirabel-review-form h3 {
	grid-column: 1 / -1;
}

.mirabel-review-form label {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mirabel-rating-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.mirabel-rating-input {
	display: inline-flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	gap: 4px;
}

.mirabel-rating-input input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.mirabel-rating-input label {
	display: inline-block;
	color: rgba(129, 129, 129, .45);
	cursor: pointer;
	font-size: 24px;
	line-height: 1;
}

.mirabel-rating-input label:hover,
.mirabel-rating-input label:hover ~ label,
.mirabel-rating-input input:checked ~ label {
	color: var(--wd-primary-color);
}

.mirabel-review-form-wide {
	grid-column: 1 / -1;
}

.mirabel-review-form .button {
	grid-column: 1 / -1;
	justify-self: flex-start;
}

.mirabel-review-form :is(input, select, textarea) {
	width: 100%;
}

/* Layout refinements for the shared reviews form and account actions. */
@media (min-width: 1025px) {
	.mirabel-review-form {
		grid-template-columns: 360px minmax(0, 420px);
		column-gap: 80px;
		justify-content: start;
		align-items: start;
	}

	.mirabel-review-form .mirabel-rating-field,
	.mirabel-review-form .mirabel-review-name-field {
		align-self: start;
	}

	.mirabel-review-form .mirabel-review-name-field {
		max-width: 420px;
	}
}

.mirabel-review-form button[type="submit"] {
	min-height: var(--btn-accented-height, var(--btn-height, 42px));
	padding: var(--btn-accented-padding, var(--btn-padding, 5px 20px));
	border: 0;
	border-radius: var(--btn-accented-brd-radius, var(--btn-brd-radius, 0));
	background: var(--btn-accented-bgcolor, var(--wd-primary-color, #28716c));
	box-shadow: var(--btn-accented-box-shadow, none);
	color: #fff !important;
	font-family: var(--btn-accented-font-family, var(--btn-font-family, inherit));
	font-size: var(--btn-accented-font-size, var(--btn-font-size, 13px));
	font-style: var(--btn-accented-font-style, var(--btn-font-style, unset));
	font-weight: var(--btn-accented-font-weight, var(--btn-font-weight, 600));
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition: all .2s ease;
}

.mirabel-review-form button[type="submit"]:hover,
.mirabel-review-form button[type="submit"]:focus {
	background: var(--btn-accented-bgcolor-hover, var(--wd-primary-color, #28716c));
	box-shadow: var(--btn-accented-box-shadow-hover, none);
	color: #fff !important;
}

.woocommerce-account :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-form-login .button, .woocommerce-form-register .button, .wd-login-form .button, .wd-register-tabs .wd-switch-to-register) {
	min-height: var(--btn-accented-height, var(--btn-height, 42px));
	padding: var(--btn-accented-padding, var(--btn-padding, 5px 20px));
	border: 0;
	border-radius: var(--btn-accented-brd-radius, var(--btn-brd-radius, 0));
	background-color: var(--btn-accented-bgcolor, var(--wd-primary-color, #28716c)) !important;
	box-shadow: var(--btn-accented-box-shadow, none);
	color: #fff !important;
	font-family: var(--btn-accented-font-family, var(--btn-font-family, inherit));
	font-size: var(--btn-accented-font-size, var(--btn-font-size, 13px));
	font-style: var(--btn-accented-font-style, var(--btn-font-style, unset));
	font-weight: var(--btn-accented-font-weight, var(--btn-font-weight, 600));
	line-height: 1;
	text-transform: var(--btn-accented-transform, var(--btn-transform, uppercase));
}

.woocommerce-account .wd-register-tabs .wd-switch-to-register {
	width: 100%;
	max-width: 460px;
}

@media (min-width: 768px) {
	.woocommerce-account form.woocommerce-form-register {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 24px;
		row-gap: 18px;
		align-items: start;
	}

	.woocommerce-account form.woocommerce-form-register > .form-row {
		width: 100%;
		margin: 0;
	}

	.woocommerce-account form.woocommerce-form-register > .woocommerce-privacy-policy-text,
	.woocommerce-account form.woocommerce-form-register > p:has(.woocommerce-form-register__submit),
	.woocommerce-account form.woocommerce-form-register > p:has(button[name="register"]) {
		grid-column: 1 / -1;
	}
}

.woocommerce-account :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-form-login .button, .woocommerce-form-register .button, .wd-login-form .button):hover,
.woocommerce-account :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit, .woocommerce-form-login .button, .woocommerce-form-register .button, .wd-login-form .button):focus,
.woocommerce-account .wd-register-tabs .wd-switch-to-register:hover {
	background-color: var(--btn-accented-bgcolor-hover, var(--wd-primary-color, #28716c)) !important;
	box-shadow: var(--btn-accented-box-shadow-hover, none);
	color: #fff !important;
}

.woocommerce-account .wd-register-tabs .wd-switch-to-register:focus:not(:hover) {
	background-color: var(--btn-accented-bgcolor, var(--wd-primary-color, #28716c)) !important;
	box-shadow: var(--btn-accented-box-shadow, none);
	color: #fff !important;
}

/* Contact Form 7 popup for author bouquet requests. */
.mirabel-request-form {
	color: var(--wd-text-color);
}

.mirabel-request-form h2 {
	margin: 0 0 24px;
	color: var(--wd-primary-color);
	font-size: 32px;
	text-align: center;
}

.mirabel-request-form p {
	margin: 0 0 18px;
}

.mirabel-request-form label {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: var(--wd-title-color);
	font-weight: 600;
}

.mirabel-request-form :is(input, textarea) {
	width: 100%;
	border: 1px solid var(--mirabel-line);
	border-radius: 0;
	padding: 14px 16px;
	background: #fff;
}

.mirabel-request-form textarea {
	min-height: 140px;
	resize: vertical;
}

.mirabel-request-form .wpcf7-submit {
	width: 100%;
	min-height: var(--btn-accented-height, var(--btn-height, 42px));
	padding: var(--btn-accented-padding, var(--btn-padding, 5px 20px));
	border: 0;
	border-radius: var(--btn-accented-brd-radius, var(--btn-brd-radius, 0));
	background: var(--btn-accented-bgcolor, var(--wd-primary-color));
	box-shadow: var(--btn-accented-box-shadow, none);
	color: #fff !important;
	font-weight: var(--btn-accented-font-weight, var(--btn-font-weight, 600));
	text-transform: var(--btn-accented-transform, var(--btn-transform, uppercase));
	cursor: pointer;
}

.mirabel-request-form .wpcf7-submit:hover,
.mirabel-request-form .wpcf7-submit:focus {
	background: var(--btn-accented-bgcolor-hover, var(--wd-primary-color));
	box-shadow: var(--btn-accented-box-shadow-hover, none);
	color: #fff !important;
}

.mirabel-request-form .wpcf7-spinner {
	margin-left: 8px;
}

.page-id-36890 .wd-page-title,
.page-id-36890 .wd-sidebar,
.page-id-36890 .wd-toolbar-sidebar,
.page-id-36968 .wd-page-title,
.page-id-36968 .wd-sidebar,
.page-id-36968 .wd-toolbar-sidebar {
	display: none !important;
}

.page-id-36890 .wd-content-layout,
.page-id-36968 .wd-content-layout {
	--wd-col-lg: 12 !important;
	--wd-col-md: 12 !important;
	--wd-col-sm: 12 !important;
}

.page-id-36890 .content-layout-wrapper.container,
.page-id-36968 .content-layout-wrapper.container {
	max-width: 1222px;
}

.page-id-36890 .wd-prefooter .mirabel-faq {
	margin-top: 40px;
}

.mirabel-service-highlights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 28px 0;
}

.mirabel-service-highlights > * {
	padding: 24px 20px;
	border: 1px solid var(--mirabel-line);
	background: #fff;
}

.mirabel-mega-panel h3 {
	margin-bottom: 16px;
}

.mirabel-mega-menu ul,
.mirabel-mega-panel ul {
	margin: 0;
	padding-left: 0;
	list-style: none;
}

.mirabel-mega-menu li,
.mirabel-mega-panel li {
	margin-bottom: 6px;
}

.menu-item-36879 .mirabel-mega-panel ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 32px;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery .wd-carousel-item,
.single-product .woocommerce-product-gallery figure {
	overflow: hidden;
	background: #f7f7f7;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery .wd-product-detail-slider > .wd-carousel-wrap > .wd-carousel-item {
	aspect-ratio: 4 / 5;
}

.single-product .woocommerce-product-gallery :is(.woocommerce-product-gallery__image a, .woocommerce-product-gallery__image img, .wd-carousel-item img) {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.single-product .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-item,
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	aspect-ratio: 1;
	overflow: hidden;
	background: #f7f7f7;
}

.single-product .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-wrap,
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	gap: 12px;
}

.single-product .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-item,
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	margin-right: 12px;
}

.single-product .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-item:last-child,
.single-product .woocommerce-product-gallery .flex-control-thumbs li:last-child {
	margin-right: 0;
}

.single-product .woocommerce-product-gallery :is(.wd-gallery-thumb .wd-carousel-item img, .flex-control-thumbs img) {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.single-product .related-and-upsells {
	margin-top: 80px;
}

.single-product .related-products > h2,
.single-product .related-products .title,
.single-product .related-products .wd-el-title,
.single-product .related-and-upsells .title,
.single-product .related-and-upsells .wd-el-title {
	margin-bottom: 40px;
}

@media (max-width: 1024px) {
	.mirabel-benefit-grid,
	.mirabel-review-grid,
	.mirabel-footer-grid,
	.mirabel-mega-menu {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mirabel-footer-grid.wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 36px 48px;
	}

	.mirabel-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-id-5212 .mirabel-about-benefits .mirabel-card-grid,
	.page-id-5212 .mirabel-about-contacts .mirabel-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mirabel-about-intro {
		gap: 40px;
	}

	.mirabel-contact-accordion {
		width: 85%;
	}

	.mirabel-reviews-track > * {
		flex-basis: calc((100% - 24px) / 2);
	}

	.mirabel-service-highlights {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mirabel-review-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 576px) {
	.mirabel-top-info-inner {
		min-height: auto;
		padding-top: 8px;
		padding-bottom: 8px;
		flex-wrap: wrap;
		gap: 6px 16px;
		justify-content: center;
		font-size: 13px;
		text-align: center;
	}

	.mirabel-top-info-delivery,
	.mirabel-top-info-meta {
		margin-right: 0;
		margin-left: 0;
	}

	.mirabel-top-info-meta {
		gap: 10px;
	}

	.mirabel-section {
		margin-bottom: 80px;
	}

	.mirabel-section-head,
	.mirabel-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.mirabel-review-grid,
	.mirabel-footer-grid,
	.mirabel-mega-menu {
		grid-template-columns: 1fr;
	}

	.mirabel-footer {
		padding-top: 42px;
	}

	.mirabel-footer-grid.wp-block-columns {
		grid-template-columns: 1fr;
		gap: 30px;
		margin-bottom: 34px;
	}

	.mirabel-footer-logo img {
		width: 220px;
	}

	.mirabel-footer-grid h3 {
		margin-bottom: 14px;
		font-size: 20px;
	}

	.mirabel-footer-grid p,
	.mirabel-footer-links a {
		font-size: 16px;
	}

	.mirabel-card-grid {
		grid-template-columns: 1fr;
	}

	.mirabel-about-page,
	.mirabel-info-page,
	.mirabel-legal-page,
	.mirabel-about-intro,
	.mirabel-page-hero,
	.mirabel-about-benefits,
	.mirabel-about-contacts,
	.mirabel-text-section {
		margin-bottom: 60px;
	}

	.mirabel-page-hero,
	.mirabel-text-section,
	.mirabel-info-card {
		padding: 28px 22px;
	}

	.mirabel-benefit-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.page-id-5212 .mirabel-about-page > *,
	.page-id-5212 .mirabel-about-intro,
	.page-id-5212 .mirabel-about-benefits,
	.page-id-5212 .mirabel-about-contacts {
		max-width: 100%;
		margin-bottom: 60px;
	}

	.page-id-5212 .mirabel-about-page {
		overflow-x: hidden;
	}

	.page-id-5212 .mirabel-about-intro h1,
	.page-id-5212 .mirabel-about-benefits h2,
	.page-id-5212 .mirabel-about-contacts h2,
	.page-id-5212 .wp-block-wd-title.wd-679835ad {
		max-width: 330px;
		margin-inline: auto;
		padding-inline: 8px;
		margin-bottom: 32px;
		font-size: 20px;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.page-id-5212 .wp-block-wd-title.wd-679835ad {
		margin-bottom: 10px;
	}

	.page-id-5212 .mirabel-about-intro h1 {
		max-width: 100%;
		margin-inline: 0;
		padding-inline: 0;
		text-align: left;
	}

	.page-id-5212 .wp-block-wd-paragraph.wd-81731b7c {
		margin-bottom: 32px;
	}

	.page-id-5212 .mirabel-about-benefits .mirabel-card-grid,
	.page-id-5212 .mirabel-about-contacts .mirabel-card-grid {
		width: 100%;
		max-width: 100%;
	}

	.page-id-5212 .mirabel-about-benefits .mirabel-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.page-id-5212 .mirabel-about-contacts .mirabel-card-grid {
		grid-template-columns: 1fr;
	}

	.page-id-5212 .mirabel-about-benefits .mirabel-info-card,
	.page-id-5212 .mirabel-about-contacts .mirabel-info-card {
		min-width: 0;
		padding-right: 18px;
		padding-left: 18px;
		overflow-wrap: break-word;
	}

	.page-id-5212 .mirabel-about-contacts .mirabel-info-card {
		padding-right: 0;
		padding-left: 0;
	}

	.page-id-5212 .mirabel-about-intro p,
	.page-id-5212 .mirabel-info-card p,
	.page-id-5212 .mirabel-info-card h3 {
		white-space: normal;
		overflow-wrap: break-word;
	}

	.mirabel-contact-accordion {
		width: 100%;
	}

	body .site-content .mirabel-product-section .mirabel-section-title {
		text-align: center;
	}

	.mirabel-product-section-action {
		margin-bottom: 80px !important;
	}

	.mirabel-reviews-carousel {
		padding-inline: 42px;
	}

	.mirabel-instagram-shell {
		padding-inline: 42px;
	}

	.mirabel-reviews-track > * {
		flex-basis: 100%;
		min-width: 0;
	}

	.mirabel-instagram-carousel .wp-block-image,
	.mirabel-instagram-carousel figure.wp-block-image {
		flex-basis: 100%;
		width: 100% !important;
		min-width: 0;
	}

	.mirabel-lightbox {
		padding: 70px 18px 28px;
	}

	.mirabel-lightbox__image {
		max-width: 100%;
		max-height: 78vh;
	}

	.mirabel-lightbox__close {
		top: 18px;
		right: 18px;
	}

	.mirabel-lightbox__prev {
		left: 18px;
	}

	.mirabel-lightbox__next {
		right: 18px;
	}

	.mirabel-review-form,
	.mirabel-service-highlights {
		grid-template-columns: 1fr;
	}

	.mirabel-rating-input label {
		font-size: 28px;
	}

	.mirabel-custom-order-section {
		padding: 0;
	}

	.mirabel-custom-order-section .wp-block-columns {
		gap: 0;
	}

	.mirabel-custom-order-section .wp-block-column:last-child {
		padding: 30px 20px 42px;
	}

	.mirabel-custom-order-section p:not(.mirabel-kicker) {
		font-size: 16px;
	}
}

.mirabel-cat-white .wd-entities-title,
.mirabel-cat-white .wd-entities-title a,
.mirabel-cat-white .category-title,
.mirabel-cat-white .category-title a,
.mirabel-cat-white .more-products,
.mirabel-cat-white .wd-cat-count,
.mirabel-cat-white .category-count,
.mirabel-cat-white .count {
	color: #fff !important;
}

.wd-fabab23c .wd-cats,
.wd-fabab23c .products {
	align-items: stretch;
}

.wd-fabab23c .category-grid-item .wrapp-category,
.wd-fabab23c .category-grid-item .wd-cat-inner {
	aspect-ratio: 1 / 1;
	height: auto;
	min-height: 0;
	position: relative;
	overflow: hidden;
}

.wd-fabab23c .category-grid-item .wrapp-category::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	height: 58%;
	pointer-events: none;
	background: linear-gradient(to top, rgba(37, 104, 100, .9), rgba(37, 104, 100, .64) 42%, rgba(37, 104, 100, .2) 78%, rgba(37, 104, 100, 0));
	transition: opacity .25s ease;
}

.wd-fabab23c .category-grid-item:hover .wrapp-category::after {
	opacity: 1;
}

.wd-fabab23c .category-grid-item .hover-mask {
	z-index: 5;
	background: transparent !important;
}

.wd-fabab23c .wd-cat-thumb,
.wd-fabab23c .category-image-wrapp,
.wd-fabab23c .wd-cat-image,
.wd-fabab23c .category-image {
	height: 100%;
}

.wd-fabab23c .wd-cat-image img,
.wd-fabab23c .category-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.wd-fabab23c .wd-entities-title,
.wd-fabab23c .category-title {
	text-align: center;
}

body.home .wd-9cf6d4ac,
body.home .wd-fabab23c {
	margin-bottom: 60px;
}

body.home .wd-954214e7 {
	margin-bottom: 40px;
}

.mirabel-single-product-sku {
	margin-bottom: 8px;
	color: var(--color-gray-500);
	font-size: 14px;
	line-height: 1.4;
	text-align: left;
}

.mirabel-single-product-sku span {
	color: var(--color-gray-700);
}

/* Catalog mode: notice shown instead of the add to cart button. */
.mirabel-catalog-mode-notice {
	margin: 18px 0 20px;
	padding: 20px 22px;
	border-radius: var(--wd-brd-radius);
	background: #D4FDF6;
	color: #061E1D;
	font-size: 15px;
	line-height: 1.55;
	text-align: left;
}

.mirabel-catalog-mode-notice--page {
	margin-bottom: 30px;
}

.mirabel-catalog-mode-notice__text {
	margin: 0;
}

.mirabel-catalog-mode-notice__phone {
	display: inline-block;
	margin-top: 14px;
	padding: 11px 26px;
	border-radius: 999px;
	background: #256864;
	color: #fff !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: opacity .15s ease;
}

.mirabel-catalog-mode-notice__phone:hover,
.mirabel-catalog-mode-notice__phone:focus {
	color: #fff !important;
	opacity: .88;
	text-decoration: none;
}

/*
 * Catalog mode card button.
 *
 * WoodMart's card button slides the label out on hover and slides a cart icon
 * in. There is nothing to add to the cart in catalog mode, so the swap is
 * disabled and the label simply stays in place.
 */
.wd-add-btn-replace > a.mirabel-catalog-mode-loop-button::before,
.wd-add-btn-replace > a.mirabel-catalog-mode-loop-button::after {
	content: none;
}

.wd-add-btn-replace > a.mirabel-catalog-mode-loop-button:hover > span {
	transform: none;
}

/* SKU on product cards in shop, category archives and product carousels. */
.mirabel-loop-product-sku {
	margin-top: 2px;
	margin-bottom: 4px;
	color: var(--color-gray-500);
	font-size: 12px;
	line-height: 1.4;
}

.mirabel-loop-product-sku span {
	color: var(--color-gray-700);
}

.wd-product.text-center .mirabel-loop-product-sku,
.products.title-center .mirabel-loop-product-sku {
	text-align: center;
}

@media (max-width: 767px) {
	.single-product .wd-gallery-thumb {
		--mirabel-product-thumb-gap: 12px;
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.single-product .wd-gallery-thumb .wd-carousel {
		--wd-gap: var(--mirabel-product-thumb-gap) !important;
		--wd-gap-sm: var(--mirabel-product-thumb-gap) !important;
		--wd-col-sm: 3 !important;
	}

	.single-product .wd-gallery-thumb .wd-carousel-wrap {
		gap: var(--mirabel-product-thumb-gap) !important;
		column-gap: var(--mirabel-product-thumb-gap) !important;
		align-items: stretch;
		margin-right: 0 !important;
	}

	.single-product .wd-gallery-thumb .wd-carousel-item {
		flex: 0 0 calc((100% - (var(--mirabel-product-thumb-gap) * 2)) / 3) !important;
		width: calc((100% - (var(--mirabel-product-thumb-gap) * 2)) / 3) !important;
		max-width: calc((100% - (var(--mirabel-product-thumb-gap) * 2)) / 3) !important;
		min-width: 0 !important;
		margin-right: 0 !important;
		padding: 0 !important;
		overflow: hidden;
	}

	.single-product .wd-gallery-thumb img {
		aspect-ratio: 1 / 1;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.single-product .wd-gallery-thumb .wd-btn-arrow {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		background-color: rgba(255, 255, 255, .94);
		box-shadow: 0 4px 16px rgba(0, 0, 0, .16);
		color: #061E1D;
	}

	.single-product .wd-gallery-thumb .wd-btn-arrow:before {
		font-size: 16px;
	}

	.single-product .cart-widget-side.wd-side-hidden.wd-opened {
		z-index: 100002;
	}

	.single-product .cart-widget-side.wd-side-hidden.wd-opened ~ .wd-close-side {
		z-index: 100001;
	}

	.wd-fabab23c .category-grid-item .wrapp-category,
	.wd-fabab23c .category-grid-item .wd-cat-inner {
		position: relative;
		overflow: hidden;
	}

	.wd-fabab23c .category-grid-item .hover-mask {
		position: absolute !important;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 3;
		display: flex !important;
		min-height: 58px;
		padding: 18px 8px 10px;
		align-items: flex-end;
		justify-content: center;
		background: linear-gradient(to top, rgba(37, 104, 100, .62), rgba(37, 104, 100, 0));
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
	}

	.wd-fabab23c .category-grid-item .wd-entities-title,
	.wd-fabab23c .category-grid-item .wd-entities-title a,
	.wd-fabab23c .category-grid-item .category-title,
	.wd-fabab23c .category-grid-item .category-title a {
		display: block;
		visibility: visible;
		opacity: 1;
		color: #fff !important;
		text-shadow: 0 2px 8px rgba(0, 0, 0, .55);
	}

	.wd-fabab23c .category-grid-item .wd-entities-title,
	.wd-fabab23c .category-grid-item .category-title {
		font-size: 15px;
		line-height: 1.2;
		margin: 0;
		text-align: center;
	}

	.wd-fabab23c .category-grid-item .wd-cat-count,
	.wd-fabab23c .category-grid-item .more-products,
	.wd-fabab23c .category-grid-item .category-count,
	.wd-fabab23c .category-grid-item .count {
		display: none !important;
	}

	.page-id-5212 .mirabel-about-benefits .mirabel-card-grid {
		grid-template-columns: 1fr;
	}
}

/* ------------------------------------------------------------------
 * Checkout upsells
 * ------------------------------------------------------------------ */

.woocommerce-checkout .mirabel-upsell-group + .mirabel-upsell-group {
	margin-top: 22px;
}

.woocommerce-checkout .mirabel-upsell-group-title {
	margin: 0 0 12px;
	color: var(--wd-title-color, #061E1D);
	font-size: 15px;
	font-weight: 600;
}

/*
 * Carousel track. The number of cards in view is a variable so the desktop and
 * mobile counts live in one place.
 */
.woocommerce-checkout .mirabel-upsell-carousel {
	--mirabel-upsell-per-view: 2;
	--mirabel-upsell-gap: 14px;
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
}

.woocommerce-checkout .mirabel-upsell-list {
	display: flex;
	gap: var(--mirabel-upsell-gap);
	flex: 1 1 auto;
	min-width: 0;
	scroll-snap-type: x mandatory;
	overflow-x: auto;
	scrollbar-width: none;
	/* Finger swiping on touch screens, and never blocks vertical page scroll. */
	touch-action: pan-x;
	-webkit-overflow-scrolling: touch;
}

.woocommerce-checkout .mirabel-upsell-list::-webkit-scrollbar {
	display: none;
}

.woocommerce-checkout .mirabel-upsell-nav {
	display: flex;
	width: 30px;
	height: 30px;
	min-height: 30px;
	flex: 0 0 30px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid var(--mirabel-line);
	border-radius: 50%;
	background: #fff;
	color: #256864;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.woocommerce-checkout .mirabel-upsell-nav:disabled {
	opacity: .35;
	cursor: default;
}

.woocommerce-checkout .mirabel-upsell-card {
	display: flex;
	flex-direction: column;
	flex: 0 0 calc((100% - (var(--mirabel-upsell-per-view) - 1) * var(--mirabel-upsell-gap)) / var(--mirabel-upsell-per-view));
	scroll-snap-align: start;
	padding: 10px;
	gap: 6px;
	border: 1px solid var(--mirabel-line);
	border-radius: var(--wd-brd-radius);
	background: #fff;
	text-align: center;
}

.woocommerce-checkout .mirabel-upsell-card.is-busy {
	opacity: .6;
}

.woocommerce-checkout .mirabel-upsell-media {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	cursor: zoom-in;
	overflow: hidden;
}

.woocommerce-checkout .mirabel-upsell-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.woocommerce-checkout .mirabel-upsell-name {
	color: var(--wd-title-color, #061E1D);
	font-size: 13px;
	line-height: 1.3;
}

.woocommerce-checkout .mirabel-upsell-price {
	color: #256864;
	font-size: 14px;
	font-weight: 600;
}

.woocommerce-checkout .mirabel-upsell-add {
	min-height: 34px;
	margin-top: auto;
	padding: 6px 12px;
	border: 0;
	border-radius: 999px;
	background: #256864;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.woocommerce-checkout .mirabel-upsell-add:hover {
	opacity: .9;
}

.woocommerce-checkout .mirabel-upsell-added-text {
	display: none;
}

.woocommerce-checkout .mirabel-upsell-card.is-added .mirabel-upsell-add {
	background: #D4FDF6;
	color: #061E1D;
	cursor: default;
}

.woocommerce-checkout .mirabel-upsell-card.is-added .mirabel-upsell-add-text {
	display: none;
}

.woocommerce-checkout .mirabel-upsell-card.is-added .mirabel-upsell-added-text {
	display: inline;
}

/* Photo preview shown in place, so the filled in form is never lost. */
.mirabel-upsell-preview {
	position: fixed;
	inset: 0;
	z-index: 100010;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.mirabel-upsell-preview__overlay {
	position: absolute;
	inset: 0;
	background: rgba(6, 30, 29, .55);
}

/*
 * Hover zoom on the product page.
 *
 * The slot crops the photo with `object-fit: cover`, the zoom library does not
 * crop at all. When the file is too small to cover the slot the two disagree
 * and the picture looks doubled. `mirabel-product-gallery.js` marks those
 * slides, and here the zoom layer is pinned to the slot with the same crop, so
 * the layer sits exactly on the photo instead of beside it.
 *
 * Slides whose file does cover the slot are never marked, so zoom keeps
 * panning normally there.
 */
.woocommerce-product-gallery__image.mirabel-zoom-locked .zoomImg {
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	object-position: center;
}

.mirabel-upsell-preview__box {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
	width: min(640px, 100%);
	max-height: 90vh;
	gap: 20px;
	padding: 22px;
	border-radius: var(--wd-brd-radius);
	background: #fff;
	overflow: auto;
}

.mirabel-upsell-preview__image {
	width: 100%;
	height: auto;
	border-radius: 8px;
	object-fit: cover;
}

.mirabel-upsell-preview__title {
	margin: 0 0 8px;
	font-size: 18px;
}

.mirabel-upsell-preview__price {
	margin-bottom: 10px;
	color: #256864;
	font-size: 18px;
	font-weight: 600;
}

.mirabel-upsell-preview__text {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.5;
}

/* Compact counter on the left, the add button beside it on the same line. */
.mirabel-upsell-preview__qty {
	margin-bottom: 0;
	flex: 0 0 auto;
}

.woocommerce-checkout .mirabel-upsell-preview__qty .quantity {
	height: 32px;
	min-width: 86px;
}

.woocommerce-checkout .mirabel-upsell-preview__qty .quantity .minus,
.woocommerce-checkout .mirabel-upsell-preview__qty .quantity .plus {
	width: 27px;
	min-width: 27px;
	min-height: 32px;
	font-size: 15px;
}

.woocommerce-checkout .mirabel-upsell-preview__qty .quantity input.qty {
	width: 30px;
	height: 32px;
	min-height: 32px;
	font-size: 14px;
}

.mirabel-upsell-preview__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.mirabel-upsell-preview__add {
	min-height: 40px;
	padding: 10px 24px;
	border: 0;
	border-radius: 999px;
	background: #256864;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

.mirabel-upsell-preview__close {
	position: absolute;
	top: 8px;
	right: 10px;
	width: 30px;
	min-height: 30px;
	padding: 0;
	border: 0;
	background: transparent;
	color: rgba(15, 40, 39, .55);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

body.mirabel-upsell-preview-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.woocommerce-checkout .mirabel-upsell-carousel {
		--mirabel-upsell-per-view: 2;
	}
}

@media (max-width: 575px) {
	.woocommerce-checkout .mirabel-upsell-carousel {
		--mirabel-upsell-per-view: 2;
	}

	/*
	 * On a phone the two arrows plus their gaps would eat about a third of the
	 * available width, so they sit over the track instead and the cards get the
	 * full width. Swiping still works as usual.
	 */
	.woocommerce-checkout .mirabel-upsell-carousel {
		display: block;
		position: relative;
	}

	.woocommerce-checkout .mirabel-upsell-nav {
		position: absolute;
		top: calc(50% - 15px);
		z-index: 2;
		box-shadow: 0 2px 8px rgba(6, 30, 29, .18);
	}

	.woocommerce-checkout .mirabel-upsell-prev {
		left: -8px;
	}

	.woocommerce-checkout .mirabel-upsell-next {
		right: -8px;
	}

	.mirabel-upsell-preview__box {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
}
