/* Farmacia Favero – restyle layer (Stitch "Clinical Heart & Care") */

body.ff-restyle {
	--ff-teal: #10847e;
	--ff-accent: #0d6e69;
	--ff-header: #0d5854;
	--ff-dark: #0b504c;
	--ff-deep: #083c39;
	--ff-light: #a8ded9;
	--ff-mint: #d4f0ed;
	--ff-soft: #e6f4f3;
	--ff-surface: #f4f8f8;
	--ff-bg: #f8fafb;
	--ff-border: #deebea;
	--ff-ink: #0f172a;
	--ff-text: #475569;
	--ff-muted: #64748b;
	--ff-radius: 8px;
	--ff-radius-lg: 16px;
	--ff-radius-xl: 24px;
	--ff-shadow-1: 0 1px 3px rgba(16, 132, 126, .04), 0 4px 12px rgba(14, 91, 86, .03);
	--ff-shadow-2: 0 12px 24px -4px rgba(16, 132, 126, .12), 0 8px 16px -4px rgba(0, 0, 0, .04);
	--ff-container: 1280px;

	--site_width: var(--ff-container);
	--awb-color4: var(--ff-teal);
	--awb-color7: var(--ff-dark);
	--awb-color8: var(--ff-deep);
	--awb-custom_color_8: var(--ff-teal);
	--primary_color: var(--ff-teal);
	--link_color: var(--ff-teal);
	--bg_color: var(--ff-bg);
	--content_bg_color: var(--ff-bg);
	--body_typography-font-family: Inter, sans-serif;
	--body_typography-font-size: 16px;
	--body_typography-font-weight: 400;
	--body_typography-line-height: 1.65;
	--body_typography-color: var(--ff-text);
	--h1_typography-font-weight: 800;
	--h1_typography-font-size: 40px;
	--h1_typography-line-height: 1.2;
	--h1_typography-letter-spacing: -.02em;
	--h1_typography-color: var(--ff-dark);
	--h2_typography-font-weight: 800;
	--h2_typography-font-size: 30px;
	--h2_typography-line-height: 1.25;
	--h2_typography-letter-spacing: -.015em;
	--h2_typography-color: var(--ff-dark);
	--h3_typography-font-weight: 700;
	--h3_typography-letter-spacing: -.01em;
	--h3_typography-color: var(--ff-dark);
	--h4_typography-font-weight: 700;
	--h4_typography-color: var(--ff-dark);
	--header_bg_color: var(--ff-header);
	--header_top_bg_color: var(--ff-deep);
	--menu_sub_bg_color: #fff;
	--menu_bg_hover_color: var(--ff-surface);
	--menu_sub_sep_color: var(--ff-border);
	--menu_sub_color: var(--ff-dark);
	--menu_hover_first_color: #fff;
	--menu_highlight_background: var(--ff-teal);
	--header_top_sub_bg_color: #fff;
	--header_top_menu_sub_color: var(--ff-dark);
	--header_top_menu_sub_hover_color: var(--ff-teal);
	--header_top_menu_bg_hover_color: var(--ff-surface);
	--footer_bg_color: var(--ff-deep);
	--footer_border_size: 0px;
	--footer_text_color: rgba(255, 255, 255, .8);
	--footer_link_color: rgba(204, 251, 241, .85);
	--footer_link_color_hover: #fff;
	--footer_divider_color: rgba(255, 255, 255, .1);
	--copyright_bg_color: #062f2d;
	--copyright_border_color: rgba(255, 255, 255, .08);
	--copyright_text_color: rgba(204, 251, 241, .7);
	--copyright_link_color: rgba(204, 251, 241, .85);

	background: var(--ff-bg);
	color: var(--ff-text);
	font-family: Inter, sans-serif;
	-webkit-font-smoothing: antialiased;
}

body.ff-restyle #wrapper,
body.ff-restyle #main {
	background: var(--ff-bg);
}

body.ff-restyle #main {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.ff-restyle:not(.home) #main > .fusion-row {
	padding-left: 32px;
	padding-right: 32px;
	box-sizing: border-box;
}

body.ff-restyle a {
	color: var(--ff-teal);
}

body.ff-restyle a:hover {
	color: var(--ff-dark);
}

body.ff-restyle strong,
body.ff-restyle b {
	font-weight: 700;
	color: var(--ff-ink);
}

/* ---------- Buttons ---------- */

body.ff-restyle .vc_btn3.vc_btn3,
body.ff-restyle .fusion-button,
body.ff-restyle .button,
body.ff-restyle input[type="submit"],
body.ff-restyle button.button {
	background: var(--ff-teal) !important;
	background-image: none !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 9999px !important;
	box-shadow: 0 4px 12px rgba(16, 132, 126, .18) !important;
	top: 0 !important;
	font-family: Inter, sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: .03em !important;
	line-height: 1.2 !important;
	padding: 13px 24px !important;
	transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease !important;
}

body.ff-restyle .vc_btn3.vc_btn3:hover,
body.ff-restyle .fusion-button:hover,
body.ff-restyle .button:hover,
body.ff-restyle input[type="submit"]:hover,
body.ff-restyle button.button:hover {
	background: var(--ff-dark) !important;
	transform: translateY(-1px);
	box-shadow: var(--ff-shadow-2) !important;
}

body.ff-restyle .fav-btns .vc_btn3-container + .vc_btn3-container .vc_btn3 {
	background: transparent !important;
	color: var(--ff-teal) !important;
	box-shadow: inset 0 0 0 1.5px var(--ff-teal) !important;
}

body.ff-restyle .fav-btns .vc_btn3-container + .vc_btn3-container .vc_btn3:hover {
	background: var(--ff-soft) !important;
	color: var(--ff-dark) !important;
}

/* ---------- Header: top bar ---------- */

body.ff-restyle .fusion-secondary-header {
	background: var(--ff-deep) !important;
	border-bottom: 0 !important;
}

body.ff-restyle .fusion-header-wrapper .fusion-row {
	max-width: var(--ff-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 32px;
	padding-right: 32px;
	box-sizing: border-box;
}

body.ff-restyle .fusion-secondary-menu > ul > li {
	border: 0 !important;
}

body.ff-restyle .fusion-secondary-header a,
body.ff-restyle .fusion-secondary-menu > ul > li > a {
	color: rgba(204, 251, 241, .85) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	height: 36px !important;
	line-height: 36px !important;
	padding: 0 10px !important;
}

body.ff-restyle .fusion-secondary-menu > ul > li > a:hover {
	color: #fff !important;
	background: transparent !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-secondary-menu-icon {
	background: var(--ff-light) !important;
	color: var(--ff-dark) !important;
	border-radius: 9999px;
	height: 26px !important;
	line-height: 26px !important;
	margin: 5px 0 5px 8px;
	padding: 0 14px !important;
	font-weight: 700 !important;
}

body.ff-restyle .fusion-secondary-menu > ul > li > a.fusion-secondary-menu-icon:hover,
body.ff-restyle .fusion-secondary-menu > ul > li.fusion-menu-cart:hover > a.fusion-secondary-menu-icon {
	background: #fff !important;
	color: var(--ff-dark) !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-secondary-menu-icon .menu-text,
body.ff-restyle .fusion-secondary-menu .fusion-secondary-menu-icon::before,
body.ff-restyle .fusion-secondary-menu .fusion-secondary-menu-icon::after {
	color: var(--ff-dark) !important;
}

body.ff-restyle .fusion-secondary-menu .sub-menu,
body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(15, 23, 42, .12), 0 4px 12px rgba(15, 23, 42, .06);
	border: 1px solid var(--ff-border) !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items {
	width: 340px !important;
	padding: 8px !important;
	background: #fff !important;
	right: 0;
	left: auto !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-item {
	border: 0 !important;
	background: transparent !important;
	padding: 0 !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-item a {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding: 10px !important;
	border-radius: 10px;
	background: transparent !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-item a:hover {
	background: var(--ff-surface) !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-item img {
	flex: 0 0 52px;
	width: 52px !important;
	height: 52px !important;
	margin: 0 !important;
	float: none !important;
	border-radius: 10px !important;
	border: 1px solid var(--ff-border) !important;
	object-fit: cover;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-item-details {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0 !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-item-title {
	color: var(--ff-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-item-quantity,
body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-item-quantity * {
	color: var(--ff-muted) !important;
	font-size: 13px !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-checkout {
	display: flex !important;
	gap: 8px;
	margin-top: 6px;
	padding: 12px 4px 4px !important;
	border-top: 1px solid var(--ff-border) !important;
	background: #fff !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-checkout::before,
body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-checkout::after {
	display: none !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-link,
body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-checkout-link {
	flex: 1 1 0;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items .fusion-menu-cart-link a,
body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items .fusion-menu-cart-checkout-link a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 40px !important;
	padding: 0 12px !important;
	border-radius: 9999px;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	white-space: nowrap;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-link a {
	background: #fff !important;
	color: var(--ff-teal) !important;
	box-shadow: inset 0 0 0 1.5px var(--ff-teal);
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-checkout-link a {
	background: var(--ff-teal) !important;
	color: #fff !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-checkout-link a * {
	color: #fff !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-link a:hover {
	background: var(--ff-soft) !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-checkout-link a:hover {
	background: var(--ff-dark) !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items .fusion-menu-cart-link a::before,
body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items .fusion-menu-cart-checkout-link a::before {
	position: static !important;
	margin: 0 !important;
	color: inherit !important;
}

body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items .fusion-menu-cart-checkout-link a,
body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items .fusion-menu-cart-checkout-link a::before {
	color: #fff !important;
}

body.ff-restyle .fusion-secondary-menu .sub-menu a,
body.ff-restyle .fusion-secondary-menu .fusion-menu-cart-items a {
	color: var(--ff-dark) !important;
	height: auto !important;
	line-height: 1.4 !important;
}

/* ---------- Header: logo + search ---------- */

body.ff-restyle .fusion-header {
	background-color: var(--ff-header) !important;
	border: 0 !important;
}

body.ff-restyle .fusion-header-v4 .fusion-logo {
	margin-top: 12px !important;
	margin-bottom: 12px !important;
}

body.ff-restyle .fusion-logo-link {
	display: inline-flex;
	align-items: center;
	transition: transform .2s ease;
}

body.ff-restyle .fusion-logo-link:hover {
	transform: scale(1.02);
}

body.ff-restyle .fusion-logo img.fusion-standard-logo {
	max-height: 64px !important;
	height: 64px !important;
	width: auto !important;
}

body.ff-restyle .fusion-header-content-3-wrapper {
	display: flex;
	align-items: center;
}

body.ff-restyle .fusion-header-tagline {
	display: none;
}

body.ff-restyle .fusion-header-content-3-wrapper .fusion-secondary-menu-search {
	width: 380px;
	max-width: 100%;
}

body.ff-restyle .fusion-header .searchform .fusion-search-form-content {
	position: relative;
}

body.ff-restyle .fusion-header .searchform input.s {
	height: 42px !important;
	border-radius: 9999px !important;
	border: 1px solid var(--ff-border) !important;
	background: #fff !important;
	color: var(--ff-ink) !important;
	font-size: 14px !important;
	padding: 0 48px 0 20px !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .08);
}

body.ff-restyle .fusion-header .searchform input.s::placeholder {
	color: #94a3b8;
}

body.ff-restyle .fusion-header .searchform .fusion-search-button {
	position: absolute;
	right: 4px;
	top: 4px;
}

body.ff-restyle .fusion-header .searchform .fusion-search-submit {
	width: 34px !important;
	height: 34px !important;
	border-radius: 9999px !important;
	background: var(--ff-teal) !important;
	color: #fff !important;
	padding: 0 !important;
	font-family: awb-icons !important;
	font-size: 13px !important;
	box-shadow: none !important;
}

/* ---------- Header: main navigation (UberMenu) ---------- */

body.ff-restyle .fusion-secondary-main-menu {
	background: var(--ff-header) !important;
	border: 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .15) !important;
}

body.ff-restyle .ubermenu.ubermenu-main,
body.ff-restyle .ubermenu.ubermenu-main .ubermenu-nav,
body.ff-restyle .ubermenu-main .ubermenu-bar-inner-center {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-nav {
	display: flex;
	justify-content: space-between;
	padding: 8px 0;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-item-level-0 > .ubermenu-target {
	color: #ccfbf1 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 6px;
	font-family: Inter, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .03em;
	padding: 9px 12px !important;
	text-shadow: none !important;
	box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-item-level-0.ubermenu-has-submenu-drop > .ubermenu-target {
	padding-right: 28px !important;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-item-level-0.ubermenu-has-submenu-drop > .ubermenu-target::after {
	content: "" !important;
	position: absolute !important;
	right: 12px !important;
	left: auto !important;
	top: 50% !important;
	width: 6px !important;
	height: 6px !important;
	margin: 0 !important;
	background: none !important;
	border: 0 !important;
	border-right: 1.5px solid currentColor !important;
	border-bottom: 1.5px solid currentColor !important;
	transform: translateY(-70%) rotate(45deg) !important;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-item-level-0 > .ubermenu-target:hover,
body.ff-restyle .ubermenu.ubermenu-main .ubermenu-item-level-0.ubermenu-active > .ubermenu-target {
	color: #fff !important;
	background: rgba(255, 255, 255, .1) !important;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-item > .ubermenu-target,
body.ff-restyle .ubermenu.ubermenu-main .ubermenu-item-level-0.ubermenu-current-menu-ancestor > .ubermenu-target {
	color: #fff !important;
	box-shadow: inset 0 -2px 0 #fff;
	border-radius: 0;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-submenu-drop {
	background: #fff !important;
	border: 1px solid #ccfbf1 !important;
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(15, 23, 42, .12), 0 4px 12px rgba(15, 23, 42, .06) !important;
	padding: 8px 0;
	margin-top: 6px;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-submenu .ubermenu-target,
body.ff-restyle .ubermenu.ubermenu-main .ubermenu-submenu .ubermenu-target .ubermenu-target-title {
	color: var(--ff-dark) !important;
	background: transparent !important;
	font-family: Inter, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	text-shadow: none !important;
	border: 0 !important;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-submenu .ubermenu-target:hover {
	background: var(--ff-surface) !important;
	color: var(--ff-teal) !important;
}

body.ff-restyle .ubermenu.ubermenu-main .ubermenu-submenu .ubermenu-item-header > .ubermenu-target,
body.ff-restyle .ubermenu.ubermenu-main .ubermenu-submenu .ubermenu-item-header > .ubermenu-target .ubermenu-target-title {
	color: var(--ff-teal) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--ff-border) !important;
}

/* ---------- Home ---------- */

body.ff-restyle.home #main {
	padding: 0 !important;
}

body.ff-restyle.home #main > .fusion-row {
	max-width: none;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row {
	left: 0 !important;
	width: auto !important;
	max-width: var(--ff-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 32px !important;
	padding-right: 32px !important;
	box-sizing: border-box !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row > .wpb_column > .vc_column-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Banner grid */

body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child {
	background: transparent !important;
	max-width: 1680px !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	padding-top: 32px !important;
	padding-bottom: 8px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .vc_column-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .vc_inner {
	margin-left: -7.5px !important;
	margin-right: -7.5px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .wpb_single_image {
	margin-bottom: 15px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .vc_single_image-wrapper {
	display: block;
	border-radius: var(--ff-radius-lg);
	overflow: hidden;
	box-shadow: var(--ff-shadow-1);
	transition: transform .25s ease-out, box-shadow .25s ease-out;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .vc_single_image-wrapper:hover {
	transform: translateY(-4px);
	box-shadow: var(--ff-shadow-2);
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .vc_single_image-img {
	display: block;
	width: 100%;
}

/* Feature strip (ex teal icon band) */

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) {
	background: transparent !important;
	padding-top: 24px !important;
	padding-bottom: 48px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_inner {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_inner::before,
body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_inner::after {
	display: none !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_inner > .wpb_column {
	flex: 1 1 260px;
	width: auto;
	float: none;
	padding: 0;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_inner > .wpb_column > .vc_column-inner {
	height: 100%;
	padding: 20px !important;
	background: #fff;
	border: 1px solid var(--ff-border);
	border-radius: var(--ff-radius-lg);
	box-shadow: var(--ff-shadow-1);
	box-sizing: border-box;
	transition: transform .25s ease-out, box-shadow .25s ease-out;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_inner > .wpb_column > .vc_column-inner:hover {
	transform: translateY(-4px);
	box-shadow: var(--ff-shadow-2);
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_inner .wpb_wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 100%;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .wpb_single_image {
	flex: 0 0 56px;
	margin: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_single_image-wrapper {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	background: var(--ff-teal);
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_single_image-img {
	width: 34px !important;
	height: 34px !important;
	object-fit: contain;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_inner > .wpb_column > .vc_column-inner {
	position: relative;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .wpb_animate_when_almost_visible {
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .wpb_text_column h3 a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .vc_column-inner:has(a[href]):hover h3 * {
	color: var(--ff-teal) !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .wpb_text_column {
	margin: 0 !important;
	padding: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .wpb_text_column h3,
body.ff-restyle.home .wpb-content-wrapper > .vc_row:nth-child(3) .wpb_text_column h3 * {
	margin: 0 !important;
	color: var(--ff-dark) !important;
	font-size: 15px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	letter-spacing: .01em !important;
	text-align: left !important;
}

/* Story sections (zig-zag) as cards */

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) {
	background: transparent !important;
	margin-bottom: 32px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) > .wpb_column > .vc_column-inner {
	background: #fff !important;
	border: 1px solid var(--ff-border);
	border-radius: var(--ff-radius-xl);
	box-shadow: var(--ff-shadow-1);
	overflow: hidden;
	padding: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height,
body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_inner {
	background-color: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column > .vc_column-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
	border: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column:not(.vc_hidden-xs) > .vc_column-inner,
body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column:only-child > .vc_column-inner {
	padding: 56px 56px 48px !important;
	background-color: transparent !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column.vc_hidden-xs > .vc_column-inner {
	position: relative;
	padding: 0 !important;
	min-height: 420px;
	background-position: left center !important;
	background-size: cover !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column.vc_hidden-xs .wpb_single_image {
	position: absolute;
	inset: 0;
	margin: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column.vc_hidden-xs .wpb_single_image figure,
body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column.vc_hidden-xs .vc_single_image-wrapper {
	display: block;
	height: 100%;
	margin: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column.vc_hidden-xs .vc_single_image-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: left center;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .wpb_text_column,
body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .wpb_text_column * {
	text-align: left !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .wpb_text_column {
	margin-bottom: 20px !important;
	padding: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) h2 {
	margin: 0 0 4px !important;
	color: var(--ff-dark) !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: -.015em !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 4px;
	border-radius: 9999px;
	background: var(--ff-light);
	margin-top: 16px;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) p {
	color: var(--ff-text) !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
	margin: 0 0 14px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .fav-btns {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start !important;
	gap: 12px;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_btn3-container {
	display: inline-flex !important;
	justify-content: flex-start !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_btn3-container .vc_btn3 {
	width: auto !important;
	max-width: none !important;
}

/* Community */

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) {
	max-width: none !important;
	padding: 56px 32px !important;
	margin-top: 24px !important;
	background: linear-gradient(90deg, var(--ff-dark), var(--ff-teal) 50%, var(--ff-dark)) !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .vc_inner {
	max-width: calc(var(--ff-container) - 64px);
	margin: 0 auto !important;
	padding: 40px !important;
	background: rgba(255, 255, 255, .08) !important;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: var(--ff-radius-xl);
	box-shadow: 0 20px 40px rgba(8, 60, 57, .25);
	backdrop-filter: blur(6px);
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) * {
	text-align: left !important;
	color: rgba(255, 255, 255, .85) !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) h2 {
	margin: 0 0 8px !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: -.015em !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) h2:first-child,
body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) h2:first-child * {
	color: #fff !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) h2 + h2,
body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) h2 + h2 * {
	color: var(--ff-light) !important;
	font-size: 22px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) h3 {
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
	margin: 0 0 12px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) p {
	font-size: 13px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .wpb_text_column:not(.newsletter) a {
	color: var(--ff-light) !important;
	text-decoration: underline;
}

body.ff-restyle .newsletter .gform_wrapper .gfield_label,
body.ff-restyle .newsletter .gform_wrapper legend,
body.ff-restyle .newsletter .gform_wrapper .gform-field-label,
body.ff-restyle .newsletter .gform_wrapper .gfield_html {
	color: #fff !important;
	font-family: Inter, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

body.ff-restyle .newsletter .gform_wrapper .gform-field-label--type-inline,
body.ff-restyle .newsletter .gform_wrapper .gfield_html {
	font-weight: 400 !important;
	color: rgba(255, 255, 255, .85) !important;
}

body.ff-restyle .newsletter .gform_wrapper .gfield_html a,
body.ff-restyle .newsletter .gform_wrapper .gfield_html a * {
	color: var(--ff-light) !important;
}

body.ff-restyle .newsletter .gform_wrapper .gfield_required {
	color: var(--ff-light) !important;
}

body.ff-restyle .gform_wrapper input[type="text"],
body.ff-restyle .gform_wrapper input[type="email"],
body.ff-restyle .gform_wrapper input[type="tel"],
body.ff-restyle .gform_wrapper textarea,
body.ff-restyle .gform_wrapper select {
	height: 46px;
	border: 1px solid var(--ff-border) !important;
	border-radius: 9999px !important;
	background: #fff !important;
	color: var(--ff-ink) !important;
	font-size: 14px !important;
	padding: 0 18px !important;
	box-shadow: none !important;
}

body.ff-restyle .gform_wrapper textarea {
	height: auto;
	border-radius: 16px !important;
	padding: 12px 18px !important;
}

body.ff-restyle .gform_wrapper input:focus,
body.ff-restyle .gform_wrapper textarea:focus {
	outline: 2px solid var(--ff-teal);
	box-shadow: 0 0 0 3px rgba(16, 132, 126, .15) !important;
}

body.ff-restyle .gform_wrapper input[type="checkbox"] {
	accent-color: var(--ff-teal);
	width: 18px;
	height: 18px;
}

body.ff-restyle .newsletter .gform_wrapper .gform_button {
	background: var(--ff-light) !important;
	color: var(--ff-dark) !important;
	min-width: 180px;
}

body.ff-restyle .newsletter .gform_wrapper .gform_button:hover {
	background: #fff !important;
	color: var(--ff-dark) !important;
}

/* Vetrine banner */

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(a[href*="vetrine"]) {
	background: transparent !important;
	padding-top: 48px !important;
	padding-bottom: 48px !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(a[href*="vetrine"]) .vc_column-inner {
	padding: 0 !important;
	background: transparent !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(a[href*="vetrine"]) .wpb_single_image {
	margin: 0 !important;
}

body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(a[href*="vetrine"]) .vc_single_image-wrapper {
	display: block;
	border-radius: var(--ff-radius-xl);
	overflow: hidden;
	box-shadow: var(--ff-shadow-1);
}

/* ---------- Footer ---------- */

body.ff-restyle .fusion-footer-widget-area {
	background-color: var(--ff-deep) !important;
	padding-top: 64px !important;
	padding-bottom: 48px !important;
	border-top: 1px solid var(--ff-dark) !important;
}

body.ff-restyle .fusion-footer .fusion-row {
	max-width: var(--ff-container);
	padding-left: 32px;
	padding-right: 32px;
	box-sizing: border-box;
}

body.ff-restyle .fusion-footer-widget-area,
body.ff-restyle .fusion-footer-widget-area p,
body.ff-restyle .fusion-footer-widget-area .textwidget {
	color: rgba(255, 255, 255, .8) !important;
	font-size: 14px !important;
	line-height: 1.7 !important;
}

body.ff-restyle .fusion-footer-widget-area strong,
body.ff-restyle .fusion-footer-widget-area b,
body.ff-restyle .fusion-footer-widget-area h3,
body.ff-restyle .fusion-footer-widget-area h4 {
	color: #fff !important;
}

body.ff-restyle .fusion-footer-widget-area h4.widget-title {
	background: transparent !important;
	border: 0 !important;
	text-align: left !important;
	font-size: 15px !important;
	padding: 0 !important;
}

body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget,
body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget ul,
body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget li,
body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget a {
	border: 0 !important;
	background: transparent !important;
}

body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget a {
	padding: 5px 0 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .03em;
}

body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget a,
body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget a * {
	color: rgba(204, 251, 241, .85) !important;
}

body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget a:hover,
body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget a:hover *,
body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget .current-menu-item > a,
body.ff-restyle .fusion-footer-widget-area .fusion-vertical-menu-widget .current-menu-item > a * {
	color: #fff !important;
}

body.ff-restyle .fusion-footer-widget-area .fusion-footer-widget-column {
	border: 0 !important;
}

body.ff-restyle .fusion-footer-widget-area .fusion-column:not(:first-child) .fusion-footer-widget-column:first-child {
	background: rgba(255, 255, 255, .05);
	border: 1px solid rgba(255, 255, 255, .1) !important;
	border-radius: var(--ff-radius-lg);
	padding: 24px;
}

body.ff-restyle .fusion-footer-widget-area a {
	color: var(--ff-light) !important;
}

body.ff-restyle .fusion-footer-widget-area a:hover {
	color: #fff !important;
}

body.ff-restyle .fusion-footer-widget-area hr {
	border-color: rgba(255, 255, 255, .15) !important;
}

body.ff-restyle .fusion-footer-widget-area .fusion-social-network-icon,
body.ff-restyle .fusion-footer-widget-area .fusion-social-links a {
	color: #fff !important;
	background: rgba(255, 255, 255, .08) !important;
	border-color: rgba(255, 255, 255, .15) !important;
}

body.ff-restyle .fusion-footer-copyright-area {
	background-color: #062f2d !important;
	border-top: 1px solid rgba(255, 255, 255, .08) !important;
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

body.ff-restyle .fusion-footer-copyright-area,
body.ff-restyle .fusion-footer-copyright-area * {
	font-size: 12px !important;
	color: rgba(204, 251, 241, .7) !important;
}

body.ff-restyle .fusion-footer-copyright-area a:hover {
	color: #fff !important;
}

/* ---------- Page title bar ---------- */

body.ff-restyle .fusion-page-title-bar {
	background: #fff !important;
	border-top: 0 !important;
	border-bottom: 1px solid var(--ff-border) !important;
	height: auto !important;
	padding: 18px 0 !important;
}

body.ff-restyle .fusion-page-title-bar .fusion-page-title-row {
	max-width: var(--ff-container);
	margin: 0 auto;
	padding: 0 32px;
	box-sizing: border-box;
}

body.ff-restyle .fusion-page-title-bar h1,
body.ff-restyle .fusion-page-title-bar .entry-title {
	color: var(--ff-dark) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	letter-spacing: -.01em !important;
	line-height: 1.3 !important;
}

body.ff-restyle .fusion-breadcrumbs,
body.ff-restyle .fusion-breadcrumbs a {
	color: var(--ff-muted) !important;
	font-size: 12px !important;
}

body.ff-restyle .fusion-breadcrumbs .breadcrumb-leaf {
	color: var(--ff-teal) !important;
	font-weight: 600;
}

/* ---------- Blog ---------- */

body.ff-restyle .fusion-blog-layout-grid .fusion-post-wrapper,
body.ff-restyle .fusion-blog-layout-grid .fusion-post-grid .fusion-post-wrapper {
	background: #fff !important;
	border: 1px solid var(--ff-border) !important;
	border-radius: var(--ff-radius-lg);
	box-shadow: var(--ff-shadow-1);
	overflow: hidden;
	transition: transform .25s ease-out, box-shadow .25s ease-out;
}

body.ff-restyle .fusion-blog-layout-grid .fusion-post-wrapper:hover {
	transform: translateY(-4px);
	box-shadow: var(--ff-shadow-2);
}

body.ff-restyle .fusion-blog-layout-grid .fusion-post-content-wrapper {
	padding: 24px !important;
}

body.ff-restyle .fusion-blog-layout-grid .entry-title.fusion-post-title,
body.ff-restyle .fusion-blog-layout-grid .entry-title.fusion-post-title a {
	color: var(--ff-ink) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: -.005em !important;
	text-align: left !important;
}

body.ff-restyle .fusion-blog-layout-grid .entry-title.fusion-post-title a:hover {
	color: var(--ff-teal) !important;
}

body.ff-restyle .fusion-blog-layout-grid .fusion-single-line-meta,
body.ff-restyle .fusion-blog-layout-grid .fusion-post-content-container,
body.ff-restyle .fusion-blog-layout-grid .fusion-meta-info {
	text-align: left !important;
}

body.ff-restyle .fusion-blog-layout-grid .fusion-single-line-meta {
	color: var(--ff-muted) !important;
	font-size: 12px !important;
}

body.ff-restyle .fusion-blog-layout-grid .fusion-post-content-container p {
	color: var(--ff-text) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

body.ff-restyle .fusion-blog-layout-grid .fusion-content-sep {
	display: none;
}

body.ff-restyle .fusion-blog-layout-grid .fusion-meta-info {
	border-top: 1px solid var(--ff-border) !important;
	padding-top: 14px !important;
}

body.ff-restyle .fusion-blog-layout-grid .fusion-meta-info .fusion-alignleft {
	width: auto !important;
	height: auto !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

body.ff-restyle .fusion-blog-layout-grid .fusion-meta-info a,
body.ff-restyle .fusion-blog-layout-grid .fusion-read-more {
	color: var(--ff-teal) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}

/* ---------- WooCommerce: catalog ---------- */

body.ff-restyle ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0 0 32px !important;
	padding: 0 !important;
}

body.ff-restyle ul.products::before,
body.ff-restyle ul.products::after {
	display: none !important;
}

body.ff-restyle ul.products > li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
}

body.ff-restyle ul.products .fusion-product-wrapper {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff !important;
	border: 1px solid var(--ff-border) !important;
	border-radius: var(--ff-radius-lg);
	box-shadow: var(--ff-shadow-1);
	overflow: hidden;
	transition: transform .25s ease-out, box-shadow .25s ease-out;
}

body.ff-restyle ul.products .fusion-product-wrapper:hover {
	transform: translateY(-4px);
	box-shadow: var(--ff-shadow-2);
}

body.ff-restyle ul.products .featured-image {
	background: #f8fafc;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

body.ff-restyle ul.products .featured-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .25s ease-out;
}

body.ff-restyle ul.products .fusion-product-wrapper:hover .featured-image img {
	transform: scale(1.03);
}

body.ff-restyle ul.products .fusion-product-content {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 16px !important;
	border: 0 !important;
}

body.ff-restyle ul.products .product-details {
	flex: 1;
}

body.ff-restyle ul.products .product-title,
body.ff-restyle ul.products .product-title a {
	color: var(--ff-ink) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	margin: 0 0 8px !important;
}

body.ff-restyle ul.products .product-title a:hover {
	color: var(--ff-teal) !important;
}

body.ff-restyle ul.products .price,
body.ff-restyle ul.products .price .amount {
	color: var(--ff-dark) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
}

body.ff-restyle ul.products .price del,
body.ff-restyle ul.products .price del .amount {
	color: #94a3b8 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

body.ff-restyle ul.products .product-buttons {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--ff-border);
}

body.ff-restyle ul.products .product-buttons .fusion-content-sep {
	display: none;
}

body.ff-restyle ul.products .product-buttons-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

body.ff-restyle ul.products .product-buttons-container::before,
body.ff-restyle ul.products .product-buttons-container::after {
	display: none !important;
}

body.ff-restyle ul.products .product-buttons-container .button {
	float: none !important;
	white-space: nowrap;
	width: auto !important;
	max-width: none !important;
	overflow: visible !important;
	text-overflow: clip !important;
	padding: 9px 14px !important;
	font-size: 12px !important;
	letter-spacing: .01em !important;
}

body.ff-restyle ul.products .product-buttons-container .button {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
}

body.ff-restyle ul.products .product-buttons-container .button::before {
	position: static !important;
	margin: 0 !important;
	display: inline-block !important;
}

body.ff-restyle ul.products .product-buttons-container .show_details_button {
	float: none !important;
	color: var(--ff-teal) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

body.ff-restyle .onsale {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 54px !important;
	height: 54px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	top: 12px !important;
	left: 12px !important;
	border-radius: 50% !important;
	background: #e27b31 !important;
	color: #fff !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	letter-spacing: .01em;
	line-height: 1 !important;
	text-align: center;
	box-shadow: 0 4px 10px rgba(226, 123, 49, .3);
}

body.ff-restyle .fusion-out-of-stock {
	background: var(--ff-teal) !important;
	color: #fff !important;
	border-radius: 9999px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 4px 10px !important;
	line-height: 1.3 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	width: auto !important;
	height: auto !important;
}

body.ff-restyle .catalog-ordering {
	margin-bottom: 24px !important;
}

body.ff-restyle .catalog-ordering .orderby-order-container,
body.ff-restyle .catalog-ordering .order,
body.ff-restyle .catalog-ordering .fusion-grid-list-view,
body.ff-restyle .catalog-ordering .sort-count-container {
	border-radius: 9999px !important;
	overflow: hidden;
}

body.ff-restyle .catalog-ordering .order-dropdown,
body.ff-restyle .catalog-ordering .order-dropdown > li > a,
body.ff-restyle .catalog-ordering .fusion-grid-list-view,
body.ff-restyle .catalog-ordering .order {
	background: #fff !important;
	border-color: var(--ff-border) !important;
	color: var(--ff-ink) !important;
}

body.ff-restyle .woocommerce-pagination .page-numbers {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	border: 1px solid var(--ff-border) !important;
	border-radius: 9999px !important;
	background: #fff;
	color: var(--ff-ink) !important;
	font-weight: 600;
}

body.ff-restyle .woocommerce-pagination .page-numbers.current {
	background: var(--ff-teal) !important;
	border-color: var(--ff-teal) !important;
	color: #fff !important;
}

body.ff-restyle .woocommerce-pagination .prev,
body.ff-restyle .woocommerce-pagination .next {
	width: auto !important;
	padding: 0 16px !important;
	margin: 0 8px !important;
}

/* ---------- WooCommerce: single product ---------- */

body.ff-restyle.single-product #content .product {
	display: flow-root;
}

body.ff-restyle.single-product .avada-single-product-gallery-wrapper {
	float: left !important;
	width: 46% !important;
	margin: 0 !important;
}

body.ff-restyle.single-product .product .summary.entry-summary {
	float: right !important;
	width: 50% !important;
	margin: 0 !important;
	clear: none !important;
}

body.ff-restyle.single-product .woocommerce-product-gallery__image,
body.ff-restyle.single-product .woocommerce-product-gallery .flex-viewport {
	background: #fff;
	border: 1px solid var(--ff-border);
	border-radius: var(--ff-radius-lg);
	overflow: hidden;
}

body.ff-restyle.single-product .flex-control-thumbs img {
	border-radius: var(--ff-radius);
	border: 1px solid var(--ff-border);
}

body.ff-restyle.single-product .summary-container {
	padding: 0 !important;
}

body.ff-restyle.single-product .product_title {
	color: var(--ff-dark) !important;
	font-size: 34px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: -.02em !important;
	text-align: left !important;
	margin: 0 0 12px !important;
}

body.ff-restyle.single-product .summary .price,
body.ff-restyle.single-product .summary .price .amount {
	color: var(--ff-dark) !important;
	font-size: 28px !important;
	font-weight: 800 !important;
}

body.ff-restyle.single-product .summary .price del,
body.ff-restyle.single-product .summary .price del .amount {
	color: #94a3b8 !important;
	font-size: 18px !important;
	font-weight: 500 !important;
}

body.ff-restyle.single-product .summary .product-border {
	border-color: var(--ff-border) !important;
	margin: 16px 0 !important;
}

body.ff-restyle.single-product .summary .woocommerce-product-details__short-description,
body.ff-restyle.single-product .summary .woocommerce-product-details__short-description * {
	text-align: left !important;
}

body.ff-restyle.single-product .summary .woocommerce-product-details__short-description h2 {
	font-size: 20px !important;
	margin: 0 0 8px !important;
}

body.ff-restyle.single-product .summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 20px 0 !important;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--ff-border);
	border-radius: var(--ff-radius-lg);
	box-shadow: var(--ff-shadow-1);
}

body.ff-restyle.single-product .summary form.cart .variations {
	width: 100%;
	margin: 0 0 4px !important;
}

body.ff-restyle.single-product .summary form.cart .single_add_to_cart_button {
	padding: 14px 28px !important;
	font-size: 14px !important;
}

body.ff-restyle .quantity {
	border: 1px solid var(--ff-border) !important;
	border-radius: 9999px !important;
	overflow: hidden;
	background: #fff;
}

body.ff-restyle .quantity input,
body.ff-restyle .quantity .qty {
	border: 0 !important;
	background: transparent !important;
	color: var(--ff-ink) !important;
	box-shadow: none !important;
	font-family: Inter, sans-serif !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	letter-spacing: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

body.ff-restyle .quantity input.minus,
body.ff-restyle .quantity input.plus {
	color: var(--ff-teal) !important;
	width: 40px !important;
}

body.ff-restyle.single-product .product_meta {
	background: transparent !important;
	border-radius: 0 !important;
	padding-left: 0 !important;
	color: var(--ff-muted);
	font-size: 13px;
	border-top: 1px solid var(--ff-border);
	padding-top: 14px;
}

body.ff-restyle.single-product .woocommerce-tabs {
	display: block !important;
	clear: both;
	padding-top: 48px !important;
}

body.ff-restyle.single-product #wrapper .woocommerce-tabs .tabs {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	border: 0 !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	float: none !important;
	width: auto !important;
}

body.ff-restyle.single-product .woocommerce-tabs .tabs li {
	border: 0 !important;
	margin: 0 !important;
	float: none !important;
	background: transparent !important;
}

body.ff-restyle.single-product .woocommerce-tabs .tabs li a {
	display: block;
	padding: 10px 18px !important;
	border: 1px solid var(--ff-border) !important;
	border-radius: 9999px;
	background: #fff !important;
	color: var(--ff-text) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

body.ff-restyle.single-product .woocommerce-tabs .tabs li.active a {
	background: var(--ff-soft) !important;
	border-color: var(--ff-light) !important;
	color: var(--ff-dark) !important;
}

body.ff-restyle.single-product #wrapper .woocommerce-tabs .panel {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 32px !important;
	background: #fff !important;
	border: 1px solid var(--ff-border) !important;
	border-radius: var(--ff-radius-lg);
	box-shadow: var(--ff-shadow-1);
}

body.ff-restyle.single-product .related.products > h2,
body.ff-restyle.single-product .up-sells > h2 {
	font-size: 26px !important;
	margin: 48px 0 20px !important;
}

/* ---------- WooCommerce: cart, checkout, account ---------- */

body.ff-restyle .woocommerce table.shop_table,
body.ff-restyle table.shop_table {
	background: #fff;
	border: 1px solid var(--ff-border) !important;
	border-radius: var(--ff-radius-lg);
	border-collapse: separate !important;
	overflow: hidden;
	box-shadow: var(--ff-shadow-1);
}

body.ff-restyle table.shop_table th {
	background: var(--ff-surface);
	color: var(--ff-dark) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.ff-restyle table.shop_table th,
body.ff-restyle table.shop_table td {
	border-color: var(--ff-border) !important;
}

body.ff-restyle table.shop_table.cart th:first-child,
body.ff-restyle table.shop_table.cart td:first-child {
	padding-left: 16px !important;
}

body.ff-restyle table.shop_table.cart th:last-child,
body.ff-restyle table.shop_table.cart td:last-child {
	padding-right: 16px !important;
}

body.ff-restyle .cart_totals,
body.ff-restyle .woocommerce-checkout #customer_details,
body.ff-restyle .woocommerce-checkout #order_review,
body.ff-restyle .woocommerce-checkout-review-order,
body.ff-restyle .woocommerce-MyAccount-content,
body.ff-restyle .woocommerce-MyAccount-navigation,
body.ff-restyle .woocommerce-form-login,
body.ff-restyle .woocommerce-form-register {
	background: #fff;
	border: 1px solid var(--ff-border) !important;
	border-radius: var(--ff-radius-lg);
	box-shadow: var(--ff-shadow-1);
	padding: 24px !important;
}

body.ff-restyle .woocommerce-content-box,
body.ff-restyle .cart-collaterals .cross-sells,
body.ff-restyle .avada-checkout .checkout_coupon,
body.ff-restyle .woocommerce .checkout_coupon {
	background: #fff !important;
	border: 1px solid var(--ff-border) !important;
	border-radius: var(--ff-radius-lg) !important;
	box-shadow: var(--ff-shadow-1);
}

body.ff-restyle .woocommerce-content-box table.shop_table,
body.ff-restyle .woocommerce-content-box #customer_details,
body.ff-restyle .woocommerce-content-box .cart_totals,
body.ff-restyle .woocommerce-content-box #order_review {
	border: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

body.ff-restyle .woocommerce-content-box h2,
body.ff-restyle .woocommerce-content-box h3 {
	color: var(--ff-dark) !important;
	font-weight: 800 !important;
}

body.ff-restyle .avada-checkout-nav a,
body.ff-restyle .woocommerce-checkout-nav a {
	color: var(--ff-teal) !important;
	font-weight: 600 !important;
}

body.ff-restyle .avada-checkout-nav .is-active a,
body.ff-restyle .woocommerce-checkout-nav .is-active a {
	color: var(--ff-dark) !important;
	font-weight: 800 !important;
}

body.ff-restyle .cart_totals h2,
body.ff-restyle .woocommerce-checkout h3,
body.ff-restyle #order_review_heading {
	color: var(--ff-dark) !important;
	font-size: 20px !important;
	font-weight: 800 !important;
}

body.ff-restyle .woocommerce .input-text,
body.ff-restyle .woocommerce select,
body.ff-restyle .woocommerce textarea,
body.ff-restyle .woocommerce-page .input-text,
body.ff-restyle .select2-container .select2-selection--single {
	border: 1px solid var(--ff-border) !important;
	border-radius: var(--ff-radius) !important;
	background: #fff !important;
	color: var(--ff-ink) !important;
	box-shadow: none !important;
	min-height: 44px;
}

body.ff-restyle .woocommerce .input-text:focus,
body.ff-restyle .woocommerce select:focus,
body.ff-restyle .woocommerce textarea:focus {
	border-color: var(--ff-teal) !important;
	box-shadow: 0 0 0 3px rgba(16, 132, 126, .15) !important;
}

body.ff-restyle .woocommerce form .form-row label,
body.ff-restyle .woocommerce-checkout label {
	color: var(--ff-ink) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

body.ff-restyle .woocommerce-checkout #payment,
body.ff-restyle .woocommerce-checkout #payment ul.payment_methods {
	background: var(--ff-surface) !important;
	border-radius: var(--ff-radius-lg);
	border-color: var(--ff-border) !important;
}

body.ff-restyle .woocommerce-checkout #payment div.payment_box {
	background: #fff !important;
	border-radius: var(--ff-radius);
	color: var(--ff-text) !important;
}

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

body.ff-restyle #place_order {
	width: 100%;
	padding: 16px 28px !important;
	font-size: 15px !important;
}

body.ff-restyle .woocommerce-message,
body.ff-restyle .woocommerce-info,
body.ff-restyle .wc-empty-cart-message .cart-empty,
body.ff-restyle .woocommerce-error,
body.ff-restyle .fusion-alert {
	border-radius: var(--ff-radius-lg) !important;
	border: 1px solid var(--ff-light) !important;
	background: var(--ff-soft) !important;
	color: var(--ff-dark) !important;
}

body.ff-restyle .woocommerce-error {
	border-color: #fecdd3 !important;
	background: #fff1f2 !important;
	color: #9f1239 !important;
}

/* ---------- Cart page layout ---------- */

body.ff-restyle.woocommerce-cart #content {
	float: none !important;
	width: auto !important;
	max-width: calc(var(--ff-container) - 64px);
	margin-left: auto !important;
	margin-right: auto !important;
}

body.ff-restyle.woocommerce-cart #content .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 24px 32px;
	align-items: start;
}

body.ff-restyle.woocommerce-cart #content .woocommerce > * {
	grid-column: 1 / -1;
	margin: 0 !important;
}

body.ff-restyle.woocommerce-cart #content .woocommerce > .woocommerce-notices-wrapper:empty {
	display: none;
}

body.ff-restyle.woocommerce-cart #content .woocommerce > .woocommerce-cart-form {
	grid-column: 1;
	order: 1;
}

body.ff-restyle.woocommerce-cart .cart-collaterals {
	display: contents !important;
}

body.ff-restyle.woocommerce-cart .cart-collaterals > .cart_totals {
	grid-column: 2;
	grid-row: span 2;
	order: 2;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	position: sticky;
	top: 24px;
}

body.ff-restyle.woocommerce-cart .cart-collaterals > .shipping-coupon {
	grid-column: 1;
	order: 3;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid var(--ff-border) !important;
	border-radius: var(--ff-radius-lg);
	box-shadow: var(--ff-shadow-1);
	padding: 24px !important;
}

body.ff-restyle.woocommerce-cart .cart-collaterals > .shipping-coupon .coupon {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
}

body.ff-restyle.woocommerce-cart .cart-collaterals > .shipping-coupon h2 {
	font-size: 18px !important;
	margin: 0 0 12px !important;
	border: 0 !important;
	padding: 0 !important;
}

body.ff-restyle.woocommerce-cart .cart-collaterals > .cross-sells {
	grid-column: 1 / -1;
	order: 4;
	width: auto !important;
	float: none !important;
	margin: 24px 0 0 !important;
}

body.ff-restyle.woocommerce-cart .cart_totals h2 {
	margin: 0 0 12px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--ff-border) !important;
}

body.ff-restyle.woocommerce-cart .cart_totals table.shop_table {
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0;
	margin: 0 0 16px !important;
}

body.ff-restyle.woocommerce-cart .cart_totals table.shop_table th,
body.ff-restyle.woocommerce-cart .cart_totals table.shop_table td {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ff-border) !important;
	padding: 12px 0 !important;
	vertical-align: top;
}

body.ff-restyle.woocommerce-cart .cart_totals table.shop_table th {
	color: var(--ff-text) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0;
	text-transform: none;
	width: 40%;
}

body.ff-restyle.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right !important;
	color: var(--ff-ink) !important;
	font-size: 14px !important;
}

body.ff-restyle.woocommerce-cart .cart_totals .woocommerce-shipping-totals td,
body.ff-restyle.woocommerce-cart .cart_totals .woocommerce-shipping-totals td * {
	font-size: 13px !important;
	color: var(--ff-muted) !important;
	line-height: 1.5 !important;
}

body.ff-restyle.woocommerce-cart .cart_totals .order-total th,
body.ff-restyle.woocommerce-cart .cart_totals .order-total td {
	border-bottom: 0 !important;
	padding-top: 16px !important;
}

body.ff-restyle.woocommerce-cart .cart_totals .order-total th {
	color: var(--ff-ink) !important;
	font-size: 16px !important;
	font-weight: 800 !important;
}

body.ff-restyle.woocommerce-cart .cart_totals .order-total td,
body.ff-restyle.woocommerce-cart .cart_totals .order-total td * {
	color: var(--ff-dark) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
}

body.ff-restyle.woocommerce-cart .cart_totals .order-total .includes_tax,
body.ff-restyle.woocommerce-cart .cart_totals .order-total .includes_tax * {
	display: block;
	font-size: 12px !important;
	font-weight: 500 !important;
	color: var(--ff-muted) !important;
}

body.ff-restyle.woocommerce-cart .wc-proceed-to-checkout {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
	padding: 0 !important;
	margin: 0 !important;
}

body.ff-restyle.woocommerce-cart .wc-proceed-to-checkout .button {
	display: flex !important;
	justify-content: center;
	width: 100% !important;
	margin: 0 !important;
	float: none !important;
	box-sizing: border-box;
}

body.ff-restyle.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	order: 1;
	padding: 18px 24px !important;
	font-size: 15px !important;
	letter-spacing: .04em !important;
	box-shadow: 0 10px 24px rgba(16, 132, 126, .35) !important;
}

body.ff-restyle.woocommerce-cart .wc-proceed-to-checkout .fusion-update-cart {
	order: 2;
	background: transparent !important;
	color: var(--ff-teal) !important;
	box-shadow: inset 0 0 0 1.5px var(--ff-teal) !important;
	padding: 11px 20px !important;
	font-size: 12px !important;
}

body.ff-restyle.woocommerce-cart .wc-proceed-to-checkout .fusion-update-cart:hover {
	background: var(--ff-soft) !important;
	color: var(--ff-dark) !important;
}

body.ff-restyle.woocommerce-cart #paypal-standard-container:not(:empty) {
	margin-top: 12px;
}

@media (max-width: 1000px) {
	body.ff-restyle.woocommerce-cart #content .woocommerce {
		display: block;
	}

	body.ff-restyle.woocommerce-cart .cart-collaterals > * {
		margin-top: 24px !important;
		position: static;
	}
}

/* ---------- WPBakery elements ---------- */

body.ff-restyle .vc_btn3.vc_btn3-icon-left {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
}

body.ff-restyle .vc_btn3.vc_btn3-icon-left .vc_btn3-icon {
	position: static !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	width: auto !important;
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 1 !important;
}

body.ff-restyle .vc_tta-accordion.vc_tta-color-peacoc .vc_tta-panel {
	margin-bottom: 8px;
}

body.ff-restyle .vc_tta-accordion.vc_tta-color-peacoc .vc_tta-panel-heading {
	background: #fff !important;
	border: 1px solid var(--ff-border) !important;
	border-radius: 12px !important;
	box-shadow: var(--ff-shadow-1);
	transition: border-color .2s ease, background-color .2s ease;
}

body.ff-restyle .vc_tta-accordion.vc_tta-color-peacoc .vc_tta-panel-heading:hover {
	background: var(--ff-surface) !important;
	border-color: var(--ff-light) !important;
}

body.ff-restyle .vc_tta-accordion.vc_tta-color-peacoc .vc_tta-panel.vc_active .vc_tta-panel-heading {
	background: var(--ff-soft) !important;
	border-color: var(--ff-light) !important;
	border-radius: 12px 12px 0 0 !important;
}

body.ff-restyle .vc_tta-accordion.vc_tta-color-peacoc .vc_tta-panel-title > a {
	color: var(--ff-ink) !important;
	font-family: Inter, sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}

body.ff-restyle .vc_tta-accordion.vc_tta-color-peacoc .vc_tta-controls-icon::before,
body.ff-restyle .vc_tta-accordion.vc_tta-color-peacoc .vc_tta-controls-icon::after {
	border-color: var(--ff-teal) !important;
}

body.ff-restyle .vc_tta-accordion.vc_tta-color-peacoc .vc_tta-panel-body {
	background: #fff !important;
	border: 1px solid var(--ff-light) !important;
	border-top: 0 !important;
	border-radius: 0 0 12px 12px !important;
	color: var(--ff-text) !important;
}

body.ff-restyle .vc_separator .vc_sep_line {
	border-color: var(--ff-border) !important;
}

body.ff-restyle .vc_separator h4 {
	color: var(--ff-teal) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .1em !important;
}

body.ff-restyle .wpb_video_widget .fluid-width-video-wrapper {
	border-radius: var(--ff-radius-lg);
	overflow: hidden;
	box-shadow: var(--ff-shadow-1);
	background: #0f172a;
}

body.ff-restyle .vc_row.dif > .wpb_column:nth-child(1) > .vc_column-inner {
	background-color: var(--ff-deep) !important;
}

body.ff-restyle .vc_row.dif > .wpb_column:nth-child(2) > .vc_column-inner {
	background-color: var(--ff-dark) !important;
}

body.ff-restyle .vc_row.dif > .wpb_column:nth-child(3) > .vc_column-inner {
	background-color: var(--ff-accent) !important;
}

body.ff-restyle .vc_row.dif .vc_btn3 {
	background: var(--ff-light) !important;
	color: var(--ff-dark) !important;
}

body.ff-restyle .vc_row.dif .vc_btn3:hover {
	background: #fff !important;
}

/* ---------- Page: Servizi ---------- */

body.ff-restyle.page-id-8680 .vc_row:has(a[href*="prenotazioni"]) {
	max-width: var(--ff-container);
	margin: 8px auto 40px !important;
	left: 0 !important;
	width: auto !important;
	padding: 40px 32px !important;
	background: linear-gradient(135deg, var(--ff-dark), var(--ff-teal)) !important;
	border-radius: var(--ff-radius-xl);
	box-shadow: 0 20px 40px rgba(8, 60, 57, .2);
}

body.ff-restyle.page-id-8680 .vc_row:has(a[href*="prenotazioni"]) h1,
body.ff-restyle.page-id-8680 .vc_row:has(a[href*="prenotazioni"]) h1 * {
	color: #fff !important;
	font-size: 30px !important;
	font-weight: 800 !important;
	letter-spacing: -.015em !important;
}

body.ff-restyle.page-id-8680 .vc_row:has(a[href*="prenotazioni"]) .vc_btn3 {
	background: var(--ff-light) !important;
	color: var(--ff-dark) !important;
	padding: 15px 28px !important;
	font-size: 14px !important;
}

body.ff-restyle.page-id-8680 .vc_row:has(a[href*="prenotazioni"]) .vc_btn3:hover {
	background: #fff !important;
}

body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 28px 32px;
	align-items: center;
}

body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .vc_separator,
body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .vc_empty_space {
	display: none !important;
}

body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .wpb_single_image {
	grid-column: 1;
	margin: 0 !important;
}

body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .vc_tta-container {
	grid-column: 2;
	margin: 0 !important;
}

body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .wpb_single_image .vc_single_image-wrapper {
	display: block;
	width: 220px;
	max-width: 100%;
	background: #fff;
	border: 1px solid var(--ff-border);
	border-radius: var(--ff-radius-lg);
	box-shadow: var(--ff-shadow-1);
	overflow: hidden;
}

body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .wpb_single_image img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---------- Page: Eventi ---------- */

body.ff-restyle.page-id-2987 .vc_row:has(.vc_tta-tabs) {
	max-width: var(--ff-container);
	margin: 0 auto 24px !important;
	left: 0 !important;
	width: auto !important;
	padding: 32px !important;
	background: linear-gradient(135deg, var(--ff-dark), var(--ff-teal)) !important;
	border-radius: var(--ff-radius-xl);
	box-shadow: 0 20px 40px rgba(8, 60, 57, .2);
}

body.ff-restyle.page-id-2987 .vc_row:has(.vc_tta-tabs) .vc_tta-container > h2 {
	color: #fff !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	margin-bottom: 16px !important;
}

body.ff-restyle.page-id-2987 .vc_tta-tabs {
	border-radius: var(--ff-radius-lg) !important;
	overflow: hidden;
	box-shadow: 0 8px 24px rgba(8, 60, 57, .18);
}

body.ff-restyle.page-id-2987 .vc_tta-tabs h2,
body.ff-restyle.page-id-2987 .vc_tta-tabs h2 * {
	color: var(--ff-dark) !important;
}

body.ff-restyle.page-id-2987 .vc_tta-tabs h3,
body.ff-restyle.page-id-2987 .vc_tta-tabs h3 * {
	color: var(--ff-ink) !important;
}

body.ff-restyle.page-id-2987 .vc_pagination-item .vc_pagination-trigger,
body.ff-restyle.page-id-2987 .vc_pagination-item.vc_active .vc_pagination-trigger {
	background-color: var(--ff-border) !important;
}

body.ff-restyle.page-id-2987 .vc_pagination-item.vc_active .vc_pagination-trigger {
	background-color: var(--ff-teal) !important;
}

/* ---------- Page: Favero Benessere ---------- */

body.ff-restyle.page-id-9762 .fusion-builder-row-1 {
	height: auto !important;
	min-height: 0 !important;
}

body.ff-restyle.page-id-9762 .post-content .fusion-imageframe,
body.ff-restyle.page-id-9762 .post-content .fusion-imageframe img {
	border-radius: var(--ff-radius-xl);
}

body.ff-restyle.page-id-9762 .post-content .fusion-imageframe {
	overflow: hidden;
	box-shadow: var(--ff-shadow-1);
}

body.ff-restyle.page-id-9762 .post-content .fusion-text h1,
body.ff-restyle.page-id-9762 .post-content .fusion-text h2,
body.ff-restyle.page-id-9762 .post-content .fusion-text h3,
body.ff-restyle.page-id-9762 .post-content .fusion-text h4 {
	color: var(--ff-dark) !important;
	font-weight: 800 !important;
	letter-spacing: -.015em !important;
}

body.ff-restyle.page-id-9762 .fusion-text-3 ul {
	columns: 2;
	column-gap: 24px;
	padding-left: 0 !important;
	list-style: none !important;
}

body.ff-restyle.page-id-9762 .fusion-text-3 ul li {
	break-inside: avoid;
	position: relative;
	padding: 6px 0 6px 22px;
	margin: 0 !important;
}

body.ff-restyle.page-id-9762 .fusion-text-3 ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-radius: 50%;
	background: var(--ff-teal);
}

body.ff-restyle.page-id-9762 .fusion-text:has(.gform_wrapper) {
	background: #fff;
	border: 1px solid var(--ff-border);
	border-radius: var(--ff-radius-xl);
	box-shadow: var(--ff-shadow-1);
	padding: 32px;
}

body.ff-restyle.page-id-9762 .fusion-text:has(.gform_wrapper) > p:first-child,
body.ff-restyle.page-id-9762 .fusion-text:has(.gform_wrapper) > h2:first-child,
body.ff-restyle.page-id-9762 .fusion-text:has(.gform_wrapper) > h3:first-child {
	color: var(--ff-dark) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
}

body.ff-restyle.page-id-9762 .gform_wrapper .gfield_label {
	color: var(--ff-ink) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
}

body.ff-restyle.page-id-9762 .gform_wrapper .gfield_required {
	color: var(--ff-teal) !important;
}

@media (max-width: 800px) {
	body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .wpb_single_image,
	body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .vc_tta-container {
		grid-column: 1;
	}

	body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .wpb_single_image {
		margin-top: 16px !important;
	}

	body.ff-restyle.page-id-8680 .wpb_wrapper:has(> .vc_tta-container) > .wpb_single_image .vc_single_image-wrapper {
		width: 160px;
		margin: 0 auto;
	}

	body.ff-restyle.page-id-8680 .vc_row:has(a[href*="prenotazioni"]),
	body.ff-restyle.page-id-2987 .vc_row:has(.vc_tta-tabs) {
		margin-left: 16px !important;
		margin-right: 16px !important;
		padding: 24px 16px !important;
	}

	body.ff-restyle.page-id-8680 .vc_row:has(a[href*="prenotazioni"]) h1,
	body.ff-restyle.page-id-8680 .vc_row:has(a[href*="prenotazioni"]) h1 * {
		font-size: 22px !important;
	}

	body.ff-restyle.page-id-9762 .fusion-text-3 ul {
		columns: 1;
	}

	body.ff-restyle.page-id-9762 .fusion-text:has(.gform_wrapper) {
		padding: 20px;
	}
}

/* ---------- Newsletter popup ---------- */

body.ff-restyle .spu-box {
	width: 380px !important;
	max-width: calc(100vw - 32px) !important;
	top: auto !important;
	left: auto !important;
	right: 24px !important;
	bottom: 104px !important;
	padding: 0 !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 20px !important;
	overflow: hidden;
	box-shadow: 0 20px 40px rgba(15, 23, 42, .18), 0 4px 12px rgba(15, 23, 42, .08) !important;
}

body.ff-restyle .spu-bg {
	display: none !important;
}

body.ff-restyle .spu-box .spu-content {
	padding: 0 !important;
}

body.ff-restyle .spu-box .spu-content > h2 {
	margin: 0 !important;
	padding: 22px 56px 20px 24px !important;
	background: linear-gradient(135deg, var(--ff-dark), var(--ff-teal)) !important;
	text-align: left !important;
}

body.ff-restyle .spu-box .spu-content > h2,
body.ff-restyle .spu-box .spu-content > h2 * {
	color: #fff !important;
	font-family: Inter, sans-serif !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: -.01em !important;
}

body.ff-restyle .spu-box .spu-content > p:empty,
body.ff-restyle .spu-box .spu-content > p:not(:has(*)) {
	display: none;
}

body.ff-restyle .spu-box .gform_wrapper {
	margin: 0 !important;
	padding: 18px 24px 22px !important;
}

body.ff-restyle .spu-box .gform_heading {
	display: none;
}

body.ff-restyle .spu-box .gform_fields {
	row-gap: 12px !important;
}

body.ff-restyle .spu-box .gfield_label {
	color: var(--ff-ink) !important;
	font-family: Inter, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	margin-bottom: 6px !important;
}

body.ff-restyle .spu-box .gfield_required {
	color: var(--ff-teal) !important;
	font-size: 12px !important;
}

body.ff-restyle .spu-box .gform_wrapper input[type="text"],
body.ff-restyle .spu-box .gform_wrapper input[type="email"] {
	height: 44px;
	border: 1px solid var(--ff-border) !important;
	background: var(--ff-bg) !important;
}

body.ff-restyle .spu-box .gfield_html {
	color: var(--ff-muted) !important;
	font-family: Inter, sans-serif !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
}

body.ff-restyle .spu-box .gfield_html br {
	display: none;
}

body.ff-restyle .spu-box .gfield_html a,
body.ff-restyle .spu-box .gfield_html a * {
	color: var(--ff-teal) !important;
}

body.ff-restyle .spu-box .gfield--type-captcha > .gfield_label {
	display: none !important;
}

body.ff-restyle .spu-box .ginput_recaptcha {
	transform: scale(.86);
	transform-origin: left top;
	height: 67px;
}

body.ff-restyle .spu-box .gform_footer {
	margin: 4px 0 0 !important;
	padding: 0 !important;
}

body.ff-restyle .spu-box .gform_button {
	width: 100% !important;
	padding: 13px 24px !important;
	font-size: 14px !important;
}

body.ff-restyle .spu-box .spu-close {
	top: 14px !important;
	right: 14px !important;
	width: 30px;
	height: 30px;
	line-height: 30px !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, .15) !important;
	color: #fff !important;
	font-size: 18px !important;
	text-align: center;
	text-shadow: none !important;
	opacity: 1 !important;
}

body.ff-restyle .spu-box .spu-close:hover {
	background: rgba(255, 255, 255, .3) !important;
	color: #fff !important;
}

@media (max-width: 600px) {
	body.ff-restyle .spu-box {
		width: auto !important;
		max-width: none !important;
		left: 12px !important;
		right: 12px !important;
		bottom: 88px !important;
	}
}

/* ---------- Responsive ---------- */

@media (max-width: 1200px) {
	body.ff-restyle ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	body.ff-restyle ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	body.ff-restyle ul.products .fusion-product-content {
		padding: 12px !important;
	}

	body.ff-restyle ul.products .product-buttons-container {
		flex-direction: column;
		align-items: stretch;
	}

	body.ff-restyle ul.products .product-buttons-container .button {
		justify-content: center;
		white-space: normal !important;
		text-align: center;
		line-height: 1.25 !important;
		padding: 9px 10px !important;
	}

	body.ff-restyle.single-product .avada-single-product-gallery-wrapper,
	body.ff-restyle.single-product .product .summary.entry-summary {
		float: none !important;
		width: auto !important;
	}

	body.ff-restyle.single-product .product .summary.entry-summary {
		margin-top: 24px !important;
	}

	body.ff-restyle.single-product .product_title {
		font-size: 26px !important;
	}
}

@media (max-width: 1100px) {
	body.ff-restyle .ubermenu.ubermenu-main .ubermenu-item-level-0 > .ubermenu-target {
		padding: 9px 8px !important;
		font-size: 12px !important;
	}
}

@media (max-width: 800px) {
	body.ff-restyle .fusion-secondary-header .fusion-alignright {
		float: none;
		width: 100%;
	}

	body.ff-restyle .fusion-secondary-header .fusion-row {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.ff-restyle .fusion-secondary-menu > ul {
		display: flex !important;
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
		padding: 0 10px !important;
	}

	body.ff-restyle .fusion-secondary-menu > ul::-webkit-scrollbar {
		display: none;
	}

	body.ff-restyle .fusion-secondary-menu > ul > li {
		flex: 0 0 auto;
		float: none !important;
		display: block !important;
	}

	body.ff-restyle .fusion-secondary-menu > ul > li.fusion-menu-cart {
		display: none !important;
	}

	body.ff-restyle .fusion-header {
		padding-top: 12px !important;
		padding-bottom: 12px !important;
	}

	body.ff-restyle .fusion-header .fusion-row {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
	}

	body.ff-restyle .fusion-header-v4 .fusion-logo {
		margin: 0 !important;
		line-height: 0;
	}

	body.ff-restyle .fusion-header .fusion-mobile-menu-icons {
		position: static !important;
		display: flex !important;
		flex-direction: row-reverse;
		align-items: center;
		gap: 18px;
		margin: 0 !important;
		float: none;
		transform: none !important;
	}

	body.ff-restyle .fusion-header .fusion-mobile-menu-icons > a {
		float: none !important;
		margin: 0 !important;
		font-size: 21px !important;
		color: #fff !important;
	}

	body.ff-restyle .fusion-header-content-3-wrapper {
		display: none !important;
	}

	body.ff-restyle .fusion-secondary-main-menu .fusion-row {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body.ff-restyle .fusion-logo img.fusion-mobile-logo,
	body.ff-restyle .fusion-logo img.fusion-standard-logo {
		max-height: 48px !important;
		height: 48px !important;
		width: auto !important;
	}

	body.ff-restyle .ubermenu-responsive-toggle.ubermenu-responsive-toggle-main {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: auto !important;
		margin: 10px 0 !important;
		padding: 10px 16px !important;
		background: rgba(255, 255, 255, .08) !important;
		border: 1px solid rgba(255, 255, 255, .18) !important;
		border-radius: 12px !important;
		color: #fff !important;
		font-family: Inter, sans-serif !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		letter-spacing: .06em;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	body.ff-restyle .ubermenu-responsive.ubermenu-main.ubermenu-responsive-collapse,
	body.ff-restyle .ubermenu-responsive.ubermenu-main {
		background: transparent !important;
	}

	body.ff-restyle .ubermenu.ubermenu-main.ubermenu-responsive .ubermenu-nav {
		display: block;
		padding: 0 0 12px;
	}

	body.ff-restyle .ubermenu.ubermenu-main.ubermenu-responsive .ubermenu-item-level-0 > .ubermenu-target {
		border-radius: 8px;
		font-size: 14px !important;
		padding: 12px 14px !important;
	}

	body.ff-restyle .ubermenu.ubermenu-main.ubermenu-responsive .ubermenu-submenu-drop {
		margin: 4px 0 8px;
		box-shadow: none !important;
	}

	body.ff-restyle .fusion-secondary-header a,
	body.ff-restyle .fusion-secondary-menu > ul > li > a {
		height: 30px !important;
		line-height: 30px !important;
		font-size: 11px !important;
	}

	body.ff-restyle .fusion-header-wrapper .fusion-row,
	body.ff-restyle .fusion-footer .fusion-row,
	body.ff-restyle.home .wpb-content-wrapper > .vc_row,
	body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) .vc_row-o-equal-height > .wpb_column:not(.vc_hidden-xs) > .vc_column-inner {
		padding: 28px 24px 28px !important;
	}

	body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .vc_inner {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .vc_inner > .wpb_column,
	body.ff-restyle.home .wpb-content-wrapper > .vc_row:first-child .vc_inner > .wpb_column > .vc_column-inner {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.ff-restyle.home .wpb-content-wrapper > .vc_row:has(.vc_row-o-equal-height) h2 {
		font-size: 24px !important;
	}

	body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) {
		padding: 32px 16px !important;
	}

	body.ff-restyle.home .wpb-content-wrapper > .vc_row.vc_row-has-fill:not(:first-child):not(:nth-child(3)) .vc_inner {
		padding: 24px 16px !important;
	}
}
