/*
 Theme Name:   Dekoro Child
 Theme URI:    https://wordpress.com
 Description:  This is a child theme for Dekoro
 Author:       Goalthemes
 Author URI:   #
 Template:     dekoro
 Version:      1.0.0
 Text Domain:  dekoro-child
*/

/* ---- Mobile header (see headers/mobile/header-mobile.php) ---- */
#goal-header-mobile.cw-mh { background: #fff; padding: 0 !important; box-sizing: border-box; width: 100%; box-shadow: 0 1px 4px rgba(0,0,0,.15); }
.cw-mh-bar { background: linear-gradient(180deg, var(--e-global-color-0b45eed, #060D7D) 0%, var(--e-global-color-a44160c, #D93327) 70%, var(--e-global-color-a44160c, #D93327) 100%); color: #fff; padding: 12px 14px 12px; }
.cw-mh-tagline { margin: 0 0 12px; text-align: center; font-size: 14px; line-height: 1.35; color: #fff; }
.cw-mh-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cw-mh-links { display: flex; align-items: center; gap: 18px; }
.cw-mh-link { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap; }
.cw-mh-link i { font-size: 20px; }
.cw-mh-link:hover, .cw-mh-link:focus, .cw-mh-icon:hover, .cw-mh-icon:focus { color: #fff; opacity: .85; }
.cw-mh-icons { display: flex; align-items: center; gap: 4px; }
.cw-mh-icon { position: relative; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; font-size: 21px; color: #fff; background: none; border: 0; padding: 0; text-decoration: none; }
.cw-mh .btn-showmenu:before { content: none; }
.cw-mh .btn-showmenu, .cw-mh .cw-mh-icon { margin: 0 !important; float: none !important; }
.cw-mh .cw-mh-menu i { font-size: 30px; }
.cw-mh .cw-mh-icon .count { position: absolute; top: -1px; right: -2px; min-width: 16px; height: 16px; line-height: 16px; padding: 0 3px; font-size: 10px; font-weight: 700; border-radius: 8px; text-align: center; background: #fff; color: var(--e-global-color-0b45eed, #060D7D); }
.cw-mh-search { display: none; padding: 8px 14px; background: #fff; }
.cw-mh-search.is-open { display: block; }
.cw-mh-logo { background: #fff; text-align: center; padding: 14px 14px; }
/* Never let a fixed width/height squash the logo: scale proportionally, capped at 82px tall */
html body .cw-mh-logo img { display: inline-block; width: auto !important; height: auto !important; max-height: 82px; max-width: 100%; object-fit: contain; }
.cw-mh .cw-mh-menu, .cw-mh .cw-mh-menu i, .cw-mh .btn-showmenu, .cw-mh .btn-showmenu i { color: #fff !important; }

/* Mobile header search form */
.cw-mh-search .goal-search-form, .cw-mh-search .goal-search-form-inner { width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important; position: static !important; }
.cw-mh-search form { display: flex !important; align-items: stretch; width: 100%; margin: 0; }
.cw-mh-search .main-search { flex: 1 1 auto !important; min-width: 0; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.cw-mh-search .autocompleate-wrapper { width: 100% !important; position: relative; }
.cw-mh-search input.goal-search { display: block; width: 100% !important; height: 44px !important; padding: 0 16px !important; border: 1px solid #c9c9d6 !important; border-right: 0 !important; border-radius: 22px 0 0 22px !important; background: #fff !important; font-size: 16px; box-shadow: none; }
.cw-mh-search button[type="submit"] { flex: 0 0 56px !important; width: 56px !important; height: 44px !important; min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 22px 22px 0 !important; background: var(--e-global-color-0b45eed, #060D7D) !important; color: #fff !important; font-size: 18px; line-height: 44px; }
.cw-mh-search button[type="submit"] { display: flex !important; align-items: center; justify-content: center; text-align: center; max-width: 56px; overflow: hidden; }
.cw-mh-search button[type="submit"] i { position: static !important; margin: 0 !important; padding: 0 !important; transform: none !important; float: none !important; line-height: 1; width: auto; }
.cw-mh .cw-mh-icon, .cw-mh .cw-mh-icons, .cw-mh .cw-mh-row, .cw-mh .cw-mh-bar { overflow: visible !important; }
.cw-mh .cw-mh-icon .count { top: 3px !important; right: -3px !important; height: 16px !important; line-height: 16px !important; border-radius: 8px !important; clip-path: none !important; }
.cw-mh .cw-mh-icon.mini-cart .count { position: absolute !important; top: 2px !important; right: -2px !important; left: auto !important; bottom: auto !important; width: 18px !important; min-width: 18px !important; height: 18px !important; padding: 0 !important; margin: 0 !important; border-radius: 50% !important; line-height: 18px !important; font-size: 11px !important; text-align: center !important; box-sizing: border-box !important; transform: none !important; }
.cw-mh-search button[type="submit"] { overflow: visible !important; -webkit-appearance: none; appearance: none; }
.cw-mh-search button[type="submit"] i { display: block !important; height: 20px !important; width: 20px !important; line-height: 20px !important; font-size: 18px !important; text-align: center; overflow: visible !important; }

/* Mobile shop filter tab: vertically centered on the left edge, filter icon instead of hamburger */
.mobile-sidebar-btn { top: 50% !important; transform: translateY(-50%); left: 0 !important; border-radius: 0 8px 8px 0; border-left: 0; box-shadow: 2px 2px 6px rgba(0,0,0,.15); }
.mobile-sidebar-btn .fa-bars::before { content: "\f0b0"; }
.mobile-sidebar-btn { display: flex !important; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0 !important; box-sizing: border-box; line-height: 1; }
.mobile-sidebar-btn i { display: block; width: 24px; height: 24px; line-height: 24px; text-align: center; margin: 0; padding: 0; font-size: 20px; }

.cw-mh .cw-mh-icon .count.cw-zero { display: none !important; }

/* Product cards: show the whole photo (see inc/product-images.php) */
.product-block .block-image-inner a.product-image { display: block; position: relative; aspect-ratio: 1 / 1; background: #fff; overflow: hidden; }
.product-block .block-image-inner a.product-image img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }

/* Mobile bottom bar removed: its actions are in the header (see inc/mobile-header.php) */
.goal-footer-mobile { display: none !important; }
html body { padding-bottom: 0 !important; }

/* Language switcher (GTranslate): sit at the bottom edge now that the mobile bottom bar is gone */
/* The Custom CSS & JS plugin entries 70014 / 70029 (database, not in git) still lift the switcher and pad the page
   for the removed bottom bar; the extra "html body" specificity makes these win regardless of load order. */
html body #gt_float_wrapper { bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important; margin-bottom: 0 !important; }

/* Shop filter button: the old Custom CSS & JS rule (70029) parks it 118px up, above the language switcher's old
   position. Keep it in the bottom-left corner, directly above the switcher (which now sits at 20px). */
html body a.mobile-sidebar-btn { bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }

/* Mobile menu "My Account / Login & Register" link: global blue, global red on hover */
html body #goal-mobile-menu .navbar-offcanvas a.my-account { color: var(--e-global-color-0b45eed, #060D7D) !important; }
html body #goal-mobile-menu .navbar-offcanvas a.my-account:hover,
html body #goal-mobile-menu .navbar-offcanvas a.my-account:focus,
html body #goal-mobile-menu .navbar-offcanvas a.my-account:active { color: var(--e-global-color-a44160c, #D93327) !important; }

/* Mobile slide-out menu: the Login / Register link now lives in the footer beside Wishlist */
html body #goal-mobile-menu .navbar-offcanvas a.my-account { display: none !important; }

/* Home footer sign-up box is now a Mailchimp (MC4WP) form: style its response message like the old CF7 one */
.mc4wp-form .mc4wp-response, .mc4wp-form .mc4wp-response p { margin: 10px 0 0; color: #fff; font-size: 13px; }
.mc4wp-form .mc4wp-response .mc4wp-alert { background: transparent; border: 0; padding: 0; }

/* Product list view: centre the thumbnail (landscape or portrait) in a square box and centre the image column */
.product-block-list .wrapper-image a.product-image { display: flex; align-items: center; justify-content: center; position: relative; width: 100%; aspect-ratio: 1 / 1; background: #fff; overflow: hidden; border-radius: 16px; }
.product-block-list .wrapper-image a.product-image img { width: 100%; height: 100%; object-fit: contain; object-position: center center; }
@media (max-width: 767px) {
  .product-block-list > .row { display: flex; flex-wrap: wrap; align-items: center; }
  .product-block-list > .row::before, .product-block-list > .row::after { display: none; }
}

/* Product list view: breathing room between the quantity buttons and the description text */
.product-block-list .product-excerpt { margin-top: 20px; }

/* Product list view: centre the title with the details, quantity row and Add To Cart button */
.product-block-list .wrapper-info .top-list-info .name { text-align: center; }

/* Add To Cart buttons (list cards + single product page): 16px text, 12px/24px padding, 48px tall */
html body .cw-final-v17-add-to-cart,
html body .single_add_to_cart_button { box-sizing: border-box !important; font-size: 16px !important; line-height: 22px !important; padding: 12px 24px !important; height: 48px !important; min-height: 48px !important; }

/* Mobile menu sub-panels: the top row shows the parent category's name (instead of "Back"), bold and coloured like the
   desktop menu - New = global red, Pre-Owned = blue. The list under it keeps the default dark text. */
html body #mobile-menu-container .sliding-menu__panel.cw-panel-new .sliding-menu__back { color: var(--e-global-color-a44160c, #D93327) !important; font-weight: 700 !important; background: transparent !important; }
html body #mobile-menu-container .sliding-menu__panel.cw-panel-used .sliding-menu__back { color: #030DA1 !important; font-weight: 700 !important; background: transparent !important; }

/* Mobile slide-out menu: the Sliding Menu plugin turns text white on hover/active (it expects a dark background, but the
   theme makes it transparent, so the text vanished). Keep the text colour and use a light highlight instead. */
html body #mobile-menu-container .sliding-menu__panel li a,
html body #mobile-menu-container .sliding-menu__panel li button { transition: background-color .15s ease; }
html body #mobile-menu-container .sliding-menu__panel li a:hover,
html body #mobile-menu-container .sliding-menu__panel li a:focus,
html body #mobile-menu-container .sliding-menu__panel li a:active,
html body #mobile-menu-container .sliding-menu__panel li button:hover,
html body #mobile-menu-container .sliding-menu__panel li button:focus,
html body #mobile-menu-container .sliding-menu__panel li button:active,
html body #mobile-menu-container .sliding-menu__panel li.active > a { color: #2b2b2b !important; background-color: #f2f2f2 !important; }
/* the header row keeps its red / blue text */
html body #mobile-menu-container .sliding-menu__panel.cw-panel-new .sliding-menu__back:hover,
html body #mobile-menu-container .sliding-menu__panel.cw-panel-new .sliding-menu__back:focus,
html body #mobile-menu-container .sliding-menu__panel.cw-panel-new .sliding-menu__back:active { color: var(--e-global-color-a44160c, #D93327) !important; }
html body #mobile-menu-container .sliding-menu__panel.cw-panel-used .sliding-menu__back:hover,
html body #mobile-menu-container .sliding-menu__panel.cw-panel-used .sliding-menu__back:focus,
html body #mobile-menu-container .sliding-menu__panel.cw-panel-used .sliding-menu__back:active { color: #030DA1 !important; }

/* Shop filters: the "Filter by Color" checkbox list (47 colours) is one short scrolling box. The filter plugin already scrolls
   its own list (<ul>, 550px max); shorten that one instead of wrapping a second scroll area around it. */
html body .wpc-filters-section.wpc-filter-pa_colors .wpc-filter-content { max-height: none !important; overflow: visible !important; padding-right: 0; }
html body .wpc-filters-section.wpc-filter-pa_colors .wpc-filters-ul-list { max-height: 170px !important; overflow-y: auto !important; overflow-x: hidden; padding-right: 8px; scrollbar-width: thin; }
html body .wpc-filters-section.wpc-filter-pa_colors .wpc-filters-ul-list::-webkit-scrollbar { width: 6px; }
html body .wpc-filters-section.wpc-filter-pa_colors .wpc-filters-ul-list::-webkit-scrollbar-thumb { background: #c8c8c8; border-radius: 3px; }

/* Home "Product Categories" tiles: every photo fills the same square box (cropped to fit, no side bars), so the New / Used
   buttons line up in every row. */
.elementor-element-22f1714 .elementor-widget-image { width: 100%; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 16px; overflow: hidden; }
.elementor-element-22f1714 .elementor-widget-image img { width: 100% !important; height: 100% !important; max-width: 100%; object-fit: cover; object-position: center center; border-radius: 0 !important; }
/* ...and give every tile the same width, so a long button label ("Outdoor Furniture - New") can't narrow a column */
.elementor-element-22f1714 .e-con:has(> .elementor-widget-image) { flex: 1 1 0 !important; min-width: 0 !important; }
/* The third row of tiles has a 20px column gap that rows 1-2 don't have; make all rows match */
.elementor-element-22f1714 .e-con:has(> .e-con > .elementor-widget-image) { column-gap: 0 !important; }

/* Home category tiles: responsive grid. The three fixed rows of six dissolve into one grid. There are 18 tiles, so the
   column count is always 6, 3 or 2 (all divide 18) and the last row is never left with just a few tiles. */
.elementor-element-ce66221 { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px 12px; align-items: start; }
.elementor-element-ce66221 > .e-con:has(> .e-con > .elementor-widget-image) { display: contents !important; }
.elementor-element-ce66221 > .elementor-element-fe43f8e { grid-column: 1 / -1; }
@media (max-width: 1199px) {
  .elementor-element-ce66221 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 699px) {
  .elementor-element-ce66221 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 8px; }
}
/* Home category tiles: every red (Used) and blue (New) label button is the same size, whatever its text length */
.elementor-element-ce66221 .elementor-widget-heading { min-height: 58px; display: flex; align-items: center; justify-content: center; text-align: center; }
.elementor-element-ce66221 .elementor-widget-heading .elementor-heading-title { margin: 0; width: 100%; line-height: 1.2; }
/* Grid tiles must fill their grid cell (Elementor sizes these containers for a flex row, so in the grid they collapsed) */
.elementor-element-ce66221 .e-con:has(> .elementor-widget-image) { width: 100% !important; max-width: none !important; min-width: 0 !important; justify-self: stretch !important; align-self: start !important; flex: none !important; }
.elementor-element-ce66221 .e-con:has(> .elementor-widget-image) > .elementor-widget { width: 100% !important; max-width: 100% !important; }

/* Side cart: "Return to Shop" button (empty cart) in the site's navy, text centered; red on hover */
html body .xoo-wsc-container .xoo-wsc-empty-cart a.xoo-wsc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 32px;
	line-height: 1;
	background: var(--e-global-color-0b45eed, #060D7D);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s ease;
}
html body .xoo-wsc-container .xoo-wsc-empty-cart a.xoo-wsc-btn:hover,
html body .xoo-wsc-container .xoo-wsc-empty-cart a.xoo-wsc-btn:focus {
	background: var(--e-global-color-a44160c, #D93327);
	color: #fff;
}

/* Empty cart page: "Return to shop" button. The template puts a stray <br> inside the link, which pushed the text down. */
html body .woocommerce .return-to-shop a.button.wc-backward {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 32px;
	line-height: 1;
	background: var(--e-global-color-0b45eed, #060D7D);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s ease;
}
html body .woocommerce .return-to-shop a.button.wc-backward br { display: none; }
html body .woocommerce .return-to-shop a.button.wc-backward:hover,
html body .woocommerce .return-to-shop a.button.wc-backward:focus {
	background: var(--e-global-color-a44160c, #D93327);
	color: #fff;
}

/* Empty cart page: centered message with a red shopping-cart icon (replaces WooCommerce's yellow box icon), centered button */
html body .woocommerce .wc-empty-cart-message .cart-empty.woocommerce-info {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 1.2em 1.5em;
	text-align: center;
}
html body .woocommerce .wc-empty-cart-message .cart-empty.woocommerce-info::before {
	content: "";
	position: static;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	margin: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D93327'%3E%3Cpath d='M7 18a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm10 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4zM1 2v2h2l3.6 7.6-1.4 2.4A2 2 0 0 0 7 17h12v-2H7.4l1.1-2h7.5a2 2 0 0 0 1.7-1l3.6-6.5A1 1 0 0 0 20.4 4H5.2l-.9-2H1z'/%3E%3C/svg%3E") center / contain no-repeat;
	font-size: 0;
}
html body .woocommerce .return-to-shop { text-align: center; }

/* Cart page alignment fixes */
/* 1) Progress steps (Shopping Cart / Checkout / Order Completed): the big 01/02/03 number was absolutely positioned and overlapped the label.
      Put label and number side by side, centered. */
html body .goal-checkout-step li .inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
html body .goal-checkout-step li .inner .step {
	position: static;
	order: 2;
	width: auto;
	flex: 0 0 auto;
}
html body .goal-checkout-step li .inner .inner-step { order: 1; }
html body .goal-checkout-step li .inner .inner-step br { display: none; }
@media (max-width: 767px) {
	html body .goal-checkout-step li .inner { gap: 6px; }
	html body .goal-checkout-step li .inner .inner-step { font-size: 11px; line-height: 1.2; }
	html body .goal-checkout-step li .inner .step { font-size: 22px; }
}

/* 2) Quantity box: minus, number, plus in one row, vertically centered (was +/- stacked beside the box). */
html body .woocommerce-cart-form .quantity.buttons_added {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 0;
}
html body .woocommerce-cart-form .quantity.buttons_added br,
html body .woocommerce-cart-form .quantity.buttons_added label { display: none; }
html body .woocommerce-cart-form .quantity.buttons_added .minus,
html body .woocommerce-cart-form .quantity.buttons_added .plus {
	position: static;
	width: 36px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 5px;
	line-height: 40px;
	flex: 0 0 auto;
}
html body .woocommerce-cart-form .quantity.buttons_added .minus { order: 1; }
html body .woocommerce-cart-form .quantity.buttons_added input.qty { order: 2; float: none; width: 60px; padding: 0 6px; text-align: center; margin: 0; }
html body .woocommerce-cart-form .quantity.buttons_added .plus { order: 3; }

/* 3) Cart Totals box: centered title, labels left and amounts right, tighter top/bottom padding */
html body .woocommerce .cart_totals .cart_totals_inner { padding: 8px 16px; }
html body .woocommerce .cart_totals .title { text-align: center; padding: 12px 0; height: auto; }
html body .woocommerce .cart_totals table.shop_table th { text-align: left; padding: 12px 0; }
html body .woocommerce .cart_totals table.shop_table td { text-align: right; padding: 12px 0; }

/* Cart: hide the visible "Coupon:" label (the field's placeholder already says "Coupon code"); kept for screen readers */
html body .woocommerce-cart-form .coupon label[for="coupon_code"] {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Cart table (desktop): each heading centered over its values; image and name stay left */
@media (min-width: 768px) {
	html body .woocommerce-cart-form table.shop_table th,
	html body .woocommerce-cart-form table.shop_table td { padding-left: 6px; padding-right: 6px; }
	html body .woocommerce-cart-form table.shop_table th.product-price,
	html body .woocommerce-cart-form table.shop_table th.product-quantity,
	html body .woocommerce-cart-form table.shop_table th.product-subtotal,
	html body .woocommerce-cart-form table.shop_table th.product-remove,
	html body .woocommerce-cart-form table.shop_table td.product-price,
	html body .woocommerce-cart-form table.shop_table td.product-quantity,
	html body .woocommerce-cart-form table.shop_table td.product-subtotal,
	html body .woocommerce-cart-form table.shop_table td.product-remove { text-align: center; }
}

/* Quantity boxes: hide the browser's up/down spinner (the +/- buttons do that job) */
html body .quantity input.qty { -moz-appearance: textfield; appearance: textfield; }
html body .quantity input.qty::-webkit-outer-spin-button,
html body .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; appearance: none; margin: 0; }

/* Cart (desktop): top edge of the Cart Totals card lines up with the top of the table's column headings */
@media (min-width: 992px) {
	html body .woocommerce .wrapper-cart .cart-collaterals { margin-top: 40px; }
}

/* Cart table (desktop): Price values right-justified (heading stays centered); +/- buttons keep their colors on hover/focus (minus was turning yellow) */
@media (min-width: 768px) {
	html body .woocommerce-cart-form table.shop_table th.product-price { text-align: center; }
	html body .woocommerce-cart-form table.shop_table td.product-price { text-align: right; padding-right: 14px; }
}
html body .woocommerce-cart-form .quantity.buttons_added .minus,
html body .woocommerce-cart-form .quantity.buttons_added .minus:hover,
html body .woocommerce-cart-form .quantity.buttons_added .minus:focus,
html body .woocommerce-cart-form .quantity.buttons_added .minus:active { background: #d93327; color: #fff; }
html body .woocommerce-cart-form .quantity.buttons_added .plus,
html body .woocommerce-cart-form .quantity.buttons_added .plus:hover,
html body .woocommerce-cart-form .quantity.buttons_added .plus:focus,
html body .woocommerce-cart-form .quantity.buttons_added .plus:active { background: #060d7d; color: #fff; }

/* Cart table (desktop): every column heading centered */
@media (min-width: 768px) {
	html body .woocommerce-cart-form table.shop_table th { text-align: center; }
}

/* Sale prices: bold red (site red), regular price crossed out in gray. Applies to product pages, product lists, cart and mini carts. */
html body .price ins,
html body .price ins .woocommerce-Price-amount,
html body .price ins .woocommerce-Price-amount bdi,
html body .woocommerce-Price-amount.amount ins,
html body td.product-price ins,
html body td.product-price ins .woocommerce-Price-amount,
html body .xoo-wsc-sm-info ins,
html body .xoo-wsc-sm-info ins .woocommerce-Price-amount {
	color: var(--e-global-color-a44160c, #D93327);
	font-weight: 700;
	text-decoration: none;
	background: transparent;
}
html body .price del,
html body .price del .woocommerce-Price-amount,
html body td.product-price del,
html body td.product-price del .woocommerce-Price-amount {
	color: #8a8a8a;
	font-weight: 400;
	opacity: 1;
}

/* Sale price in the product card details line ("Price: $399.00 $349.00") */
html body .cw-final-v17-price ins,
html body .cw-final-v17-price ins .woocommerce-Price-amount {
	color: var(--e-global-color-a44160c, #D93327);
	font-weight: 700;
	text-decoration: none;
	background: transparent;
}
html body .cw-final-v17-price del,
html body .cw-final-v17-price del .woocommerce-Price-amount { color: #8a8a8a; font-weight: 400; }

/* Sale price stacked under the crossed-out original price (product pages and lists) */
html body .price del,
html body .price ins { display: block; }
html body .price ins { margin-top: 2px; }

/* Sale prices, round 2: the product-card plugin forces its price amounts black/normal with !important, and the list-view
   price column kept the sale price inline. Win with !important + higher specificity. */
html body .cw-final-v17-details .cw-final-v17-price ins,
html body .cw-final-v17-details .cw-final-v17-price ins .woocommerce-Price-amount,
html body .cw-final-v17-details .cw-final-v17-price ins .woocommerce-Price-amount * {
	color: var(--e-global-color-a44160c, #D93327) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
html body .cw-final-v17-details .cw-final-v17-price del,
html body .cw-final-v17-details .cw-final-v17-price del .woocommerce-Price-amount {
	color: #8a8a8a !important;
	font-weight: 400 !important;
}
html body .left-infor .price del,
html body .left-infor .price ins,
html body .price del,
html body .price ins { display: block !important; }

/* List view: more air between the price and the wishlist / quick-view buttons */
html body .left-infor .groups-button { margin-top: 20px !important; }

/* Product card / list icons (wishlist heart, quick view expand): site red instead of the theme's yellow.
   The heart is hollow, and filled once the item is on the wishlist (a second click removes it: woosw_settings button_action_added = remove). */
html body .product-block .woosw-btn,
html body .product-block .woosw-btn:hover,
html body .product-block .woosw-btn:focus,
html body .product-block .woosw-btn.woosw-added,
html body .product-block .view .quickview,
html body .product-block .view .quickview:hover,
html body .product-block .view .quickview:focus,
html body .product-block .view .quickview i,
html body .goal-products-list .groups-button * i,
html body .goal-products-list .groups-button * i:hover {
	color: var(--e-global-color-a44160c, #D93327) !important;
}
html body .product-block .woosw-btn::before {
	content: "" !important;
	display: inline-block;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	font-size: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D93327' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.5 4.5c2 0 3.6 1.1 5.5 3.2 1.9-2.1 3.5-3.2 5.5-3.2 3.6 0 5.6 3.8 4.1 7.2C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body .product-block .woosw-btn.woosw-added::before,
html body .product-block .woosw-btn.woosw-btn-added::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D93327' stroke='%23D93327' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7.5-4.6-9.6-9.3C.9 8.3 2.9 4.5 6.5 4.5c2 0 3.6 1.1 5.5 3.2 1.9-2.1 3.5-3.2 5.5-3.2 3.6 0 5.6 3.8 4.1 7.2C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E");
}
html body .product-block .woosw-btn { position: relative; }
html body .product-block .woosw-btn::before {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: 0;
}

/* The theme spins the heart (and its rotate animation also knocked it off-center) while a wishlist request is running: spin it in place (centered). */
html body .product-block .woosw-btn::before,
html body .product-block .woosw-btn.woosw-adding::before {
	animation: none !important;
	-webkit-animation: none !important;
	content: "" !important;
	font-family: inherit !important;
}
@keyframes cw-heart-spin {
	from { transform: translate(-50%, -50%) rotate(0deg); }
	to   { transform: translate(-50%, -50%) rotate(360deg); }
}
/* While a wishlist request runs the heart spins in place (rotation keeps its translate so it stays centered) */
html body .product-block .woosw-btn.woosw-adding::before {
	animation: cw-heart-spin 1s linear infinite !important;
	-webkit-animation: cw-heart-spin 1s linear infinite !important;
}
html body .product-block .woosw-btn.woosw-adding::after { content: none !important; display: none !important; }

/* Product card hover border: site red instead of the theme's yellow */
html body .product-block-list:hover,
html body .product-block.grid:hover,
html body .product-block:hover {
	border-color: var(--e-global-color-a44160c, #D93327);
}

/* Product page quantity box: the stacked minus button gets the same rounded outer corner as the plus (bottom-right) */
html body .woocommerce .quantity .minus,
html body.woocommerce-page .quantity .minus { border-radius: 0 0 5px 0; }

/* Product page quantity box: rounded left side (the +/- stack on the right already has a rounded outer edge); cart row stays square between its buttons */
html body .woocommerce .quantity input.qty,
html body.woocommerce-page .quantity input.qty { border-radius: 5px 0 0 5px; }
html body .woocommerce-cart-form .quantity.buttons_added input.qty { border-radius: 0; }

/* Grid / list view toggle icons: red (active and hover) instead of the theme's yellow */
html body .display-mode a.change-view.active,
html body .display-mode a.change-view.active i,
html body .display-mode a.change-view:hover,
html body .display-mode a.change-view:hover i,
html body .display-mode a.change-view:focus,
html body .display-mode a.change-view:focus i {
	color: var(--e-global-color-a44160c, #D93327) !important;
}

/* Sale percentage badge ("-13%"): site red with white text */
html body .sale-perc,
html body .woocommerce span.onsale {
	background: var(--e-global-color-a44160c, #D93327) !important;
	color: #fff !important;
}

/* Wishlist popup and /wishlist/ page: site navy and red instead of dark gray, yellow and green */
html body .woosw-popup .woosw-popup-content-top { background: var(--e-global-color-0b45eed, #060D7D) !important; color: #fff; }
html body .woosw-popup .woosw-notice { background: var(--e-global-color-0b45eed, #060D7D) !important; color: #fff; }
html body .woosw-popup a.add_to_cart_button,
html body .woosw-list a.add_to_cart_button,
html body .woosw-list a.button.product_type_simple,
html body .woosw-popup a.button.product_type_simple {
	background: var(--e-global-color-a44160c, #D93327) !important;
	border-color: var(--e-global-color-a44160c, #D93327) !important;
	color: #fff !important;
}
html body .woosw-popup a.add_to_cart_button:hover,
html body .woosw-list a.add_to_cart_button:hover,
html body .woosw-list a.button.product_type_simple:hover,
html body .woosw-popup a.button.product_type_simple:hover {
	background: var(--e-global-color-0b45eed, #060D7D) !important;
	border-color: var(--e-global-color-0b45eed, #060D7D) !important;
	color: #fff !important;
}
html body .woosw-list .woosw-copy button.button,
html body .woosw-list .woosw-copy .button {
	background: var(--e-global-color-0b45eed, #060D7D) !important;
	border-color: var(--e-global-color-0b45eed, #060D7D) !important;
	color: #fff !important;
}
html body .woosw-list .woosw-copy button.button:hover,
html body .woosw-list .woosw-copy .button:hover {
	background: var(--e-global-color-a44160c, #D93327) !important;
	border-color: var(--e-global-color-a44160c, #D93327) !important;
	color: #fff !important;
}
html body .woosw-popup .woosw-popup-content-bot a,
html body .woosw-popup .woosw-popup-content-bot a.woosw-page,
html body .woosw-popup .woosw-popup-content-bot a.woosw-continue {
	color: var(--e-global-color-0b45eed, #060D7D) !important;
	border-bottom-color: var(--e-global-color-0b45eed, #060D7D) !important;
}
html body .woosw-popup .woosw-popup-content-bot a:hover {
	color: var(--e-global-color-a44160c, #D93327) !important;
	border-bottom-color: var(--e-global-color-a44160c, #D93327) !important;
}

/* /wishlist/ page: centered, bigger wishlist name; wider link box so the whole URL is readable */
html body .woosw-list .woosw-name-wrapper { text-align: center; }
html body .woosw-list .woosw-detail-name-wrap {
	justify-content: center;
	font-size: 30px;
	font-weight: 700;
	color: var(--e-global-color-0b45eed, #060D7D);
	margin-bottom: 14px;
}
html body .woosw-list .woosw-copy { flex: 1 1 auto; min-width: 0; }
html body .woosw-list .woosw-copy .woosw-copy-url { flex: 1 1 auto; width: 100%; max-width: 720px; min-width: 260px; }
html body .woosw-list .woosw-copy input.woosw-copy-url,
html body .woosw-list .woosw-copy .woosw-copy-url input { width: 100%; text-overflow: ellipsis; }
html body .woosw-list .woosw-name-wrapper .woosw-detail-name-wrap { width: 100%; font-size: 30px !important; line-height: 1.3; }
html body .woosw-list .woosw-name-wrapper .woosw-detail-name-wrap .woosw-name-text,
html body .woosw-list .woosw-name-wrapper .woosw-detail-name-wrap > span { font-size: inherit !important; }
html body .woosw-list .woosw-name-wrapper .woosw-detail-name-wrap { justify-content: center !important; text-align: center !important; }
html body .woosw-list .woosw-name-wrapper .woosw-detail-name-wrap > * { flex: 0 1 auto; }
html body .woosw-list .woosw-switcher,
html body .woosw-list .woosw-name-wrapper { display: block !important; width: 100% !important; flex: 1 1 100% !important; text-align: center !important; }
html body .woosw-list .woosw-name-wrapper { margin-top: 40px !important; }

/* Wishlist (page and popup): stock text and Add To Cart button centered in their cell */
html body .woosw-list .woosw-item--actions,
html body .woosw-popup .woosw-item--actions,
html body .woosw-list .woosw-item--stock,
html body .woosw-list .woosw-item--atc,
html body .woosw-popup .woosw-item--stock,
html body .woosw-popup .woosw-item--atc { text-align: center !important; }

/* Language selector inside the red header bar (moved there by js/mobile-header.js) */
html body .cw-lang-slot { position: relative; display: flex; align-items: center; z-index: 50; }
html body .cw-lang-slot #gt_float_wrapper {
	position: static !important;
	bottom: auto !important; left: auto !important; right: auto !important; top: auto !important;
	margin: 0 !important;
	z-index: auto !important;
}
html body .cw-lang-slot .gt_float_switcher {
	position: relative;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0;
	width: auto;
}
html body .cw-lang-slot .gt_float_switcher .gt-selected,
html body .cw-lang-slot .gt_float_switcher .gt-selected .gt-current-lang {
	background: transparent !important;
	color: #fff !important;
}
html body .cw-lang-slot .gt_float_switcher .gt-selected .gt-current-lang { padding: 4px 8px; font-size: 15px; font-weight: 600; display: flex; align-items: center; gap: 6px; }
html body .cw-lang-slot .gt_float_switcher .gt-selected .gt-current-lang img { width: 22px; height: auto; }
html body .cw-lang-slot .gt_float_switcher .gt-selected .gt-lang-code { color: #fff !important; }
html body .cw-lang-slot .gt_float_switcher .gt-selected .gt-current-lang .gt_float_arrow,
html body .cw-lang-slot .gt_float_switcher .gt-selected .gt-current-lang svg { fill: #fff; color: #fff; }
/* the language list drops DOWN from the bar (it used to open upward from the bottom-left corner) */
html body .cw-lang-slot .gt_float_switcher .gt_options {
	position: absolute !important;
	top: 100% !important; bottom: auto !important;
	min-width: 170px;
	max-height: 320px;
	margin-top: 6px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
	z-index: 1000000;
}
html body .cw-lang-slot .gt_float_switcher .gt_options a { color: #222 !important; }
html body #goal-header .elementor-element-8f40053 > .e-con-inner { position: relative; }
html body .cw-lang-slot--desk { position: absolute; left: auto; right: 590px; top: calc(50% + 3px); transform: translateY(-50%); margin: 0; z-index: 100001; }
html body .cw-lang-slot--desk .gt_options { left: 0; right: auto; }
html body .cw-lang-slot--mob { position: static; margin-right: 2px; }
html body .cw-lang-slot--mob .gt_options { left: 0; right: auto; }
html body .cw-mh-bar { position: relative; }

html body .cw-lang-slot .gtranslate_wrapper { position: static; display: block; }
/* keep the social icons on one line now that the language selector shares the bar */
/* Header top bar: let the language list drop below the bar and over the logo row; keep Book Appointment / Video Portfolio on one line */
html body #goal-header .elementor-element-8f40053 { position: relative; z-index: 60; overflow: visible !important; }
html body #goal-header .elementor-element-8f40053 > .e-con-inner { overflow: visible !important; }

/* Mobile cart: show the product picture (the theme hid it) and drop the grey pill border around the stacked coupon box */
@media (max-width: 767px) {
	html body .woocommerce-cart-form table.shop_table td.product-thumbnail {
		display: block !important;
		text-align: center;
		padding: 16px 6px 8px;
	}
	html body .woocommerce-cart-form table.shop_table td.product-thumbnail::before { display: none !important; content: none !important; }
	html body .woocommerce-cart-form table.shop_table td.product-thumbnail a { display: inline-block; }
	html body .woocommerce-cart-form table.shop_table td.product-thumbnail img { display: block; width: 140px; max-width: 60%; height: auto; margin: 0 auto; }
	html body .woocommerce-cart-form .coupon { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; padding: 0 0 7px !important; }
}
@media (max-width: 767px) {
	html body .woocommerce-cart-form table.shop_table td.product-thumbnail { text-align: center !important; }
	html body .woocommerce-cart-form table.shop_table td.product-thumbnail a { display: block !important; text-align: center !important; }
	html body .woocommerce-cart-form table.shop_table td.product-thumbnail img { margin-left: auto !important; margin-right: auto !important; float: none !important; }
}
/* the header's logo row sits above the top bar in the stacking order, which hid the open language list; lift the whole top bar above it */
html body #goal-header .elementor-element-8f40053 { z-index: 100000 !important; }
html body #goal-header .elementor-element-8f40053 .cw-lang-slot { z-index: 100001; }
/* GTranslate's switcher box clips its own list (overflow:hidden); the list now hangs below the bar, so let it show */
html body .cw-lang-slot .gt_float_switcher { overflow: visible !important; }
/* language selector chevron: white (it's a grey image, so invert it) */
html body .cw-lang-slot .gt_float_switcher-arrow { filter: brightness(0) invert(1) !important; opacity: 1 !important; }

/* Phone: the selector is the first icon in the red row, flag + chevron only; its list drops down from the bar, right-aligned */
html body .cw-lang-slot--mob .gt-lang-code { display: none !important; }
html body .cw-lang-slot--mob .gt_float_switcher .gt-selected .gt-current-lang { padding: 4px 4px; gap: 3px; }
html body .cw-lang-slot--mob .gt_float_switcher .gt-selected .gt-current-lang img { width: 24px; }
html body .cw-lang-slot--mob .gt_options { right: -40px; left: auto; }
html body .cw-mh-bar { z-index: 50; }
@media (max-width: 767px) {
	html body .cw-mh .cw-mh-links { gap: 12px; }
	html body .cw-mh .cw-mh-icon { width: 34px; }
	html body .cw-mh .cw-mh-icons { gap: 2px; }
}
@media (max-width: 767px) {
	html body .cw-mh .cw-mh-link { font-size: 14px; gap: 5px; }
	html body .cw-mh .cw-mh-links { gap: 9px; }
	html body .cw-mh .cw-mh-icon { width: 32px; }
	html body .cw-mh .cw-mh-menu i { font-size: 28px; }
	html body .cw-lang-slot--mob .gt_float_switcher .gt-selected .gt-current-lang { padding: 4px 2px; }
}
/* phone: flag + chevron sat 3px high compared with the rest of the row */
html body .cw-lang-slot--mob .gt_float_switcher .gt-selected .gt-current-lang { position: relative; top: 3px; }
/* phone: less space under the icon row in the red bar */
html body .cw-mh-bar { padding-bottom: 5px; }

/* Mobile cart: compact "order review" rows like the checkout's Your Order list.
   Picture on the left; name on top; quantity (-/+) and line total underneath; small remove x at the right. */
@media (max-width: 767px) {
	html body .woocommerce-cart-form table.shop_table thead { display: none; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item {
		display: grid !important;
		grid-template-columns: 72px 1fr auto;
		grid-template-areas: "img name remove" "img qty total";
		column-gap: 12px;
		row-gap: 6px;
		align-items: center;
		padding: 14px 0;
		border-bottom: 1px solid #e5e5e5;
	}
	html body .woocommerce-cart-form table.shop_table tr.cart_item td { display: block !important; border: 0 !important; padding: 0 !important; margin: 0 !important; width: auto !important; text-align: left !important; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td::before { display: none !important; content: none !important; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail { grid-area: img; align-self: start; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail img { width: 72px; max-width: none; height: auto; margin: 0 !important; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail a { display: block !important; text-align: left !important; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-name { grid-area: name; font-size: 14px; line-height: 1.35; align-self: start; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove { grid-area: remove; align-self: start; justify-self: end; text-align: right !important; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-price { display: none !important; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity { grid-area: qty; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity .quantity { margin: 0; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal { grid-area: total; justify-self: end; text-align: right !important; font-weight: 700; font-size: 16px; }
}
/* Mobile cart: no zebra striping (every 2nd item had grey cells behind it) */
@media (max-width: 767px) {
	html body .woocommerce-cart-form table.shop_table tr.cart_item,
	html body .woocommerce-cart-form table.shop_table tr.cart_item:nth-child(even),
	html body .woocommerce-cart-form table.shop_table tr.cart_item:nth-child(odd),
	html body .woocommerce-cart-form table.shop_table tr.cart_item td,
	html body .woocommerce-cart-form table.shop_table tr.cart_item:nth-child(even) td,
	html body .woocommerce-cart-form table.shop_table tr.cart_item:nth-child(odd) td { background: transparent !important; }
}

/* Mobile cart: quantity sits right next to the line total; the +/- buttons are stacked beside the number */
@media (max-width: 767px) {
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity { justify-self: end; }
	html body .woocommerce-cart-form tr.cart_item .quantity.buttons_added {
		display: inline-grid !important;
		grid-template-columns: 56px 34px;
		grid-template-rows: 20px 20px;
		gap: 0 !important;
		align-items: stretch;
	}
	html body .woocommerce-cart-form tr.cart_item .quantity.buttons_added input.qty {
		grid-column: 1; grid-row: 1 / span 2;
		width: 56px !important; height: 40px !important;
		border-radius: 5px 0 0 5px !important;
		padding: 0 4px !important; text-align: center; order: 0;
	}
	html body .woocommerce-cart-form tr.cart_item .quantity.buttons_added .plus {
		grid-column: 2; grid-row: 1; order: 0;
		width: 34px !important; height: 20px !important; line-height: 20px !important; font-size: 15px;
		border-radius: 0 5px 0 0 !important; padding: 0 !important;
	}
	html body .woocommerce-cart-form tr.cart_item .quantity.buttons_added .minus {
		grid-column: 2; grid-row: 2; order: 0;
		width: 34px !important; height: 20px !important; line-height: 20px !important; font-size: 15px;
		border-radius: 0 0 5px 0 !important; padding: 0 !important;
	}
}

/* Mobile cart: one line per item - picture, wrapping description, quantity (+/- stacked), line total; remove x in the corner */
@media (max-width: 767px) {
	html body .woocommerce-cart-form table.shop_table tr.cart_item {
		position: relative;
		grid-template-columns: 58px minmax(0, 1fr) auto auto;
		grid-template-areas: "img name qty total";
		column-gap: 10px;
		padding: 22px 0 14px;
		align-items: center;
	}
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-thumbnail img { width: 58px; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-name { font-size: 13px; line-height: 1.3; white-space: normal; overflow-wrap: anywhere; align-self: center; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-quantity { justify-self: end; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal { font-size: 14px; white-space: nowrap; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove { position: absolute; top: 2px; right: 0; grid-area: auto; }
	html body .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove a.remove { transform: scale(.8); transform-origin: top right; }
}

/* WooCommerce notices ("Item removed", "Cart updated", ...): icon in the site red instead of the theme's yellow/green; link in navy */
html body .woocommerce-message::before,
html body .woocommerce-info::before,
html body .woocommerce-error::before,
html body .woocommerce-notice::before,
html body .woocommerce-message a.restore-item,
html body .woocommerce-message a.button { color: var(--e-global-color-a44160c, #D93327) !important; }
html body .woocommerce-message a.restore-item,
html body .woocommerce-message a.wc-forward { color: var(--e-global-color-0b45eed, #060D7D) !important; }

/* Cart table header: no remove X beside the column titles */
html body .woocommerce-cart-form table.shop_table thead th.product-remove > *,
html body .woocommerce-cart-form table.shop_table thead th.product-remove a { display: none !important; }

/* menu label that links to the whole category: bigger touch target, looks like normal menu text */
html body #mobile-menu-container .cw-mm-label { display: inline-block; padding: 14px 8px 14px 0; cursor: pointer; }

/* Filter button inside the sort row (phones/tablets): sits at the left, red funnel */
@media (max-width: 991px) {
html body a.mobile-sidebar-btn.cw-filter-in-row {
	position: static !important;
	float: left;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 34px !important;
	height: 34px !important;
	margin: 0 8px 0 0 !important;
	left: auto !important; right: auto !important; bottom: auto !important; top: auto !important;
	box-shadow: none !important;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	background: #fff;
}
html body a.mobile-sidebar-btn.cw-filter-in-row i,
html body a.mobile-sidebar-btn.cw-filter-in-row .fa,
html body a.mobile-sidebar-btn.cw-filter-in-row svg { color: var(--e-global-color-a44160c, #D93327) !important; fill: var(--e-global-color-a44160c, #D93327) !important; font-size: 18px; }
}

/* Sort row on phones/tablets: [Filter] [sort dropdown ........] [grid][list] on one line */
@media (max-width: 991px) {
	html body .goal-filter .left-inner { display: flex !important; align-items: center; gap: 8px; flex-wrap: nowrap; width: 100%; }
	html body .goal-filter .left-inner > a.mobile-sidebar-btn { float: none !important; flex: 0 0 34px; margin: 0 !important; }
	html body .goal-filter .left-inner > .orderby-wrapper { float: none !important; flex: 1 1 auto; min-width: 0; width: auto !important; }
	html body .goal-filter .left-inner > .orderby-wrapper select,
	html body .goal-filter .left-inner > .orderby-wrapper .woocommerce-ordering,
	html body .goal-filter .left-inner > .orderby-wrapper form { width: 100% !important; max-width: 100%; }
	html body .goal-filter .left-inner > .display-mode { float: none !important; flex: 0 0 auto; margin: 0 !important; }
}
@media (max-width: 991px) { html body a.mobile-sidebar-btn.cw-filter-in-row { transform: none !important; } }
@media (max-width: 991px) { html body p.woocommerce-result-count.cw-count-below { margin: 10px 0 14px; padding: 0; text-align: center; float: none; width: 100%; font-size: 14px; } }

/* the original floating Filter button is replaced by the copy in the sort row on small screens */
@media (max-width: 991px) { html body a.mobile-sidebar-btn:not(.cw-filter-in-row) { display: none !important; } }
/* filter lists with their own scrollbar: native touch scrolling, no chaining into the panel until the list reaches its end */
html body .wpc-filters-section .wpc-filters-ul-list { -webkit-overflow-scrolling: touch; touch-action: pan-y; overscroll-behavior: contain; }
/* menu label (links to the whole category): same height/centering as the other menu rows; the bigger tap area is a pseudo-element */
html body #mobile-menu-container .cw-mm-label { display: inline; padding: 0 !important; position: relative; }
html body #mobile-menu-container .cw-mm-label::after { content: ""; position: absolute; top: -14px; bottom: -14px; left: -4px; right: -8px; }
/* Filter By Color: light gray frame around the scrolling list so it reads as a scroll box */
html body .wpc-filters-section.wpc-filter-pa_colors .wpc-filters-ul-list {
	border: 1px solid #d9d9d9;
	border-radius: 6px;
	padding: 8px 8px 8px 12px;
	background: #fff;
	box-sizing: border-box;
}

/* Shop pagination: First/Prev/Next/Last buttons + "Go to page" box (inc/pagination-controls.php) */
html body .goal-pagination .page-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 0; }
html body .goal-pagination .page-numbers li > .cw-pg-disabled { opacity: .35; cursor: default; pointer-events: none; }
html body .goal-pagination .page-numbers li > .cw-pg-first,
html body .goal-pagination .page-numbers li > .cw-pg-last { font-size: 22px; line-height: 1; padding-bottom: 3px; }
html body .goal-pagination .cw-page-jump { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 14px; font-size: 15px; }
html body .goal-pagination .cw-page-jump label { margin: 0; font-weight: 600; }
html body .goal-pagination .cw-page-jump input[type="number"] { width: 76px; height: 40px; padding: 0 8px; text-align: center; border: 1px solid var(--dekoro-link-color, #222); border-radius: 50px; background: #fff; -moz-appearance: textfield; }
html body .goal-pagination .cw-page-jump button { height: 40px; padding: 0 20px; border: 1px solid var(--dekoro-link-color, #222); border-radius: 50px; background: var(--dekoro-theme-color, #f1c40f); color: var(--dekoro-link-color, #222); font-weight: 600; cursor: pointer; }
html body .goal-pagination .cw-page-jump button:hover { filter: brightness(.95); }
@media (max-width: 575px) {
	html body .goal-pagination .page-numbers li > span,
	html body .goal-pagination .page-numbers li > a { width: 34px; height: 34px; font-size: 14px; margin-right: 3px; }
}

/* List-view product cards: the right-hand price / wishlist / quick-view column is gone. The description column takes its
   width; the wishlist heart and the expand (quick view) button sit side by side in the card's top-left corner, in a strip above the product photo
   (the card gets extra top padding for it). Price in the details gets bigger. */
html body .product-block-list { position: relative; padding-top: 62px !important; }
html body .product-block-list .row > div:last-child { position: static !important; width: 0 !important; flex: 0 0 0 !important; max-width: 0 !important; padding: 0 !important; min-height: 0 !important; overflow: visible; }
html body .product-block-list .left-infor { position: static !important; padding: 0 !important; margin: 0 !important; border: 0 !important; }
html body .product-block-list .left-infor::before { display: none !important; }
html body .product-block-list .left-infor > .price,
html body .product-block-list .left-infor > .cw-final-v17-cart-form { display: none !important; }
html body .product-block-list .left-infor .groups-button { position: static !important; display: block !important; margin: 0 !important; transform: none !important; filter: none !important; }  /* the theme's translateY(0) would make it the containing block */
html body .product-block-list .groups-button .view { position: static !important; }
/* top-left corner of the card (44px buttons, 8px gap) */
html body .product-block-list .groups-button .woosw-btn { position: absolute !important; top: 10px; right: auto !important; left: 10px !important; margin: 0 !important; z-index: 10; }
html body .product-block-list .groups-button .view .quickview { position: absolute !important; top: 10px; right: auto !important; left: 62px !important; z-index: 10; }
@media (max-width: 767px) {
	html body .product-block-list { padding-top: 46px !important; }
	/* 30px buttons, 6px gap */
	html body .product-block-list .groups-button .woosw-btn { top: 8px; left: 8px !important; }
	html body .product-block-list .groups-button .view .quickview { top: 8px; left: 44px !important; }
}
@media (min-width: 768px) {
	html body .product-block-list .row > div:nth-child(2) { width: 75% !important; max-width: 75% !important; flex: 0 0 75% !important; }
}
html body .product-block-list .cw-final-v17-price,
html body .product-block-list .cw-final-v17-price .woocommerce-Price-amount { font-size: 21px !important; }
html body .product-block-list .cw-final-v17-price del,
html body .product-block-list .cw-final-v17-price del .woocommerce-Price-amount { font-size: 17px !important; }

/* Phone header: the language / search / cart / phone / menu icons spread evenly across the space from the Videos link to the right edge (they were bunched at the right) */
@media (max-width: 767px) {
	html body .cw-mh .cw-mh-icons { flex: 1 1 auto; justify-content: space-between; }
}

/* Home hero, PHONES ONLY (max-width 767px): the slideshow shows each slide in full (no cropping), the heading sits over the bottom of the image,
   and the paragraph sits below the image. Desktop and tablet keep the original full-bleed slideshow with the text overlaid. */
@media (max-width: 767px) {
	body.home .elementor-element-fe83161 { height: auto !important; min-height: 0 !important; padding: 0 !important; justify-content: flex-start !important; gap: 0 !important; background: #fff; }
	body.home .elementor-element-fe83161 > .elementor-background-slideshow { position: relative !important; inset: auto !important; top: auto !important; left: auto !important; width: 100% !important; height: auto !important; aspect-ratio: 1920 / 800; flex: 0 0 auto; background: #111; }
	body.home .elementor-element-fe83161 > .elementor-background-slideshow .elementor-background-slideshow__slide__image { background-size: contain !important; background-position: center center !important; background-repeat: no-repeat !important; }
	/* the container's dark overlay should only cover the image, not the paragraph area below it */
	body.home .elementor-element-fe83161::before { bottom: auto !important; height: calc(100vw * 800 / 1920) !important; }
	/* the text block stops being a box: its heading floats over the image, its paragraph flows below it */
	body.home .elementor-element-fe83161 > .elementor-element-54d684d { display: contents !important; }
	body.home .elementor-element-fe83161 .elementor-element-5c44e28 { position: absolute !important; left: 0; right: 0; top: calc(100vw * 800 / 1920 - 8px); transform: translateY(-100%); z-index: 3; width: 100% !important; padding: 0 14px; margin: 0 !important; text-align: center; }
	body.home .elementor-element-fe83161 .elementor-element-5c44e28 .elementor-heading-title { text-shadow: 0 2px 10px rgba(0, 0, 0, .85); }
	body.home .elementor-element-fe83161 .elementor-element-4dff9bb { position: relative; z-index: 1; padding: 20px 18px 24px; margin: 0 !important; }
	body.home .elementor-element-fe83161 .elementor-element-4dff9bb,
	body.home .elementor-element-fe83161 .elementor-element-4dff9bb p,
	body.home .elementor-element-fe83161 .elementor-element-4dff9bb strong,
	body.home .elementor-element-fe83161 .elementor-element-4dff9bb b { color: #2b2b2b !important; text-shadow: none !important; }
	/* slides that are not exactly the box shape (the first one is a little less wide) get a soft blurred copy of the photo behind them instead of black side bars */
	body.home .elementor-element-fe83161 > .elementor-background-slideshow { background: transparent !important; }
	body.home .elementor-element-fe83161 > .elementor-background-slideshow .elementor-background-slideshow__slide__image::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: inherit; background-size: cover; background-position: center center; background-repeat: no-repeat; filter: blur(14px) brightness(.85); transform: scale(1.15); }
}
