/* babylock.lt – site styles on top of Avada */

@font-face {
	font-family: "Onest";
	src: url("../../fonts/onest-latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0100-017F, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2009, U+2013-2014, U+2018-201E, U+2022, U+2026, U+202F-2030, U+2039-203A, U+2044, U+20AC, U+2122, U+2190-2193, U+2212;
}
@font-face {
	font-family: "Onest";
	src: url("../../fonts/onest-cyrillic.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Tokens, and Avada's own variables pointed at them */
html:root {
	--bl-ink: #212934;
	--bl-ink-2: #5b5f66;
	--bl-gold: #b38100;
	--bl-gold-text: #7a5800;
	--bl-line: #dad5cb;
	--bl-line-2: #c3bcae;
	--bl-band: #e9e5dd;
	--bl-tile: #f0eee9;
	--bl-paper: #fff;
	--bl-font: "Onest", "Helvetica Neue", Arial, sans-serif;
	--bl-max: 1320px;
	--bl-pad: clamp(16px, 4vw, 40px);
	--bl-util-h: 44px;
	--bl-r: 3px;

	--primary_color: var(--bl-gold);
	--primary_color-85a: rgba(179, 129, 0, .85);
	--primary_color-7a: rgba(179, 129, 0, .7);
	--primary_color-5a: rgba(179, 129, 0, .5);
	--primary_color-35a: rgba(179, 129, 0, .35);
	--primary_color-2a: rgba(179, 129, 0, .2);
	--site_width: calc(var(--bl-max) - 2 * var(--bl-pad));
	--bg_color: var(--bl-paper);
	--link_color: var(--bl-ink);
	--link_color-8a: rgba(33, 41, 52, .8);
	--body_typography-font-family: var(--bl-font);
	--body_typography-font-size: 17px;
	--body_typography-line-height: 1.6;
	--body_typography-letter-spacing: 0;
	--body_typography-color: var(--bl-ink);
	--nav_typography-font-family: var(--bl-font);
	--nav_typography-letter-spacing: 0;
	--mobile_menu_typography-font-family: var(--bl-font);
	--footer_headings_typography-font-family: var(--bl-font);
	--button_typography-font-family: var(--bl-font);
	--button_typography-font-weight: 500;
	--button_typography-letter-spacing: 0;
	--button_text_transform: none;
	--button_font_size: 16px;
	--button_line_height: 20px;
	--button_padding-top: 14px;
	--button_padding-bottom: 14px;
	--button_padding-left: 24px;
	--button_padding-right: 24px;
	--button_gradient_top_color: var(--bl-ink);
	--button_gradient_bottom_color: var(--bl-ink);
	--button_gradient_top_color_hover: #343e4c;
	--button_gradient_bottom_color_hover: #343e4c;
	--button_bevel_color: transparent;
	--button_bevel_color_hover: transparent;
	--post_title_typography-font-family: var(--bl-font);
	--post_title_typography-letter-spacing: 0;
	--post_titles_extras_typography-font-family: var(--bl-font);
	--post_titles_extras_typography-letter-spacing: 0;
	--form_input_height: 48px;
	--form_text_size: 16px;
	--form_text_color: var(--bl-ink);
	--form_border_color: var(--bl-line-2);
	--form_focus_border_color: var(--bl-ink);
	--form_border_radius: var(--bl-r);
	--qty_size-height: 48px;
	--qty_size-width: 44px;
	--qty_font_size: 16px;
	--qty_bg_color: var(--bl-paper);
	--woo_dropdown_bg_color: var(--bl-paper);
	--woo_dropdown_border_color: var(--bl-line-2);
	--woo_dropdown_text_color: var(--bl-ink);
	--sep_color: var(--bl-line);
	--title_border_color: var(--bl-line);
	--tabs_border_color: var(--bl-line);
	--checklist_text_color: var(--bl-ink);
}
html:root {
	--h1_typography-font-family: var(--bl-font);
	--h2_typography-font-family: var(--bl-font);
	--h3_typography-font-family: var(--bl-font);
	--h4_typography-font-family: var(--bl-font);
	--h5_typography-font-family: var(--bl-font);
	--h6_typography-font-family: var(--bl-font);
	--h1_typography-font-weight: 500;
	--h2_typography-font-weight: 500;
	--h3_typography-font-weight: 600;
	--h4_typography-font-weight: 600;
	--h5_typography-font-weight: 600;
	--h6_typography-font-weight: 600;
	--h1_typography-letter-spacing: -0.02em;
	--h2_typography-letter-spacing: -0.015em;
	--h3_typography-letter-spacing: -0.005em;
	--h4_typography-letter-spacing: 0;
	--h5_typography-letter-spacing: 0;
	--h6_typography-letter-spacing: 0;
	--h1_typography-font-size: clamp(32px, 3.4vw, 50px);
	--h2_typography-font-size: clamp(25px, 2.4vw, 34px);
	--h3_typography-font-size: 21px;
	--h4_typography-font-size: 18px;
	--h5_typography-font-size: 17px;
	--h6_typography-font-size: 16px;
	--h1_typography-line-height: 1.08;
	--h2_typography-line-height: 1.15;
	--h3_typography-line-height: 1.3;
	--h4_typography-line-height: 1.4;
	--h5_typography-line-height: 1.45;
	--h6_typography-line-height: 1.45;
	--h1_typography-color: var(--bl-ink);
	--h2_typography-color: var(--bl-ink);
	--h3_typography-color: var(--bl-ink);
	--h4_typography-color: var(--bl-ink);
	--h5_typography-color: var(--bl-ink);
	--h6_typography-color: var(--bl-ink);
	--h1_typography-margin-top: 0;
	--h1_typography-margin-bottom: .5em;
	--h2_typography-margin-top: 1.6em;
	--h2_typography-margin-bottom: .6em;
	--h3_typography-margin-top: 1.5em;
	--h3_typography-margin-bottom: .5em;
}

/* Base */
html { -webkit-text-size-adjust: 100%; }
body.bl {
	background: var(--bl-paper);
	color: var(--bl-ink);
	font-family: var(--bl-font);
	font-size: 17px;
	line-height: 1.6;
	letter-spacing: 0;
	font-feature-settings: "kern" 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}
.bl #boxed-wrapper { overflow: visible; }
/* Avada hides horizontal overflow on #wrapper below 641px, which turns it into a scroll box and stops
   position: sticky inside it. Clip instead; the header keeps scrolling away on phones as before. */
@media (max-width: 640px) {
	.bl #wrapper { overflow-x: clip !important; }
	.bl .bl-header { position: relative; }
}
.bl h1, .bl h2, .bl h3, .bl h4, .bl h5, .bl h6 { text-transform: none; text-wrap: balance; }
.bl p { text-wrap: pretty; }
.bl a { color: var(--bl-ink); }
html { scroll-padding-top: 150px; }
.bl :focus-visible { outline: 2px solid var(--bl-gold-text); outline-offset: 2px; }
.bl ::selection { background: rgba(179, 129, 0, .22); }
.bl .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}

.bl-wrap {
	width: 100%;
	max-width: var(--bl-max);
	margin-inline: auto;
	padding-inline: var(--bl-pad);
	box-sizing: border-box;
}
.bl-ico { width: 22px; height: 22px; flex: none; }

.bl-skip {
	position: absolute; left: 12px; top: -80px; z-index: 1000;
	padding: 12px 16px; background: var(--bl-ink); color: #fff !important; border-radius: var(--bl-r);
	text-decoration: none;
}
.bl-skip:focus { top: 12px; }

/* Buttons used by the theme */
.bl-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 48px; padding: 0 22px; box-sizing: border-box;
	border: 1px solid var(--bl-ink); border-radius: var(--bl-r);
	background: var(--bl-ink); color: #fff !important;
	font: 500 16px/1.2 var(--bl-font); letter-spacing: 0; text-decoration: none;
	cursor: pointer; transition: background-color .15s, color .15s, border-color .15s;
}
.bl-btn:hover { background: #343e4c; border-color: #343e4c; }
.bl-btn--line { background: transparent; color: var(--bl-ink) !important; border-color: var(--bl-line-2); }
.bl-btn--line:hover { background: transparent; border-color: var(--bl-ink); }

/* Text links with a gold underline */
.bl-link {
	color: var(--bl-ink); text-decoration: underline; text-decoration-color: var(--bl-gold);
	text-decoration-thickness: 1px; text-underline-offset: .22em;
}
.bl-link:hover { text-decoration-color: currentColor; }

/* ---------- Header ---------- */
.bl-header {
	position: sticky; top: calc(-1 * var(--bl-util-h)); z-index: 200;
	background: var(--bl-paper);
	border-bottom: 1px solid var(--bl-line);
}
.admin-bar .bl-header { top: calc(32px - var(--bl-util-h)); }

.bl-util { height: var(--bl-util-h); border-bottom: 1px solid var(--bl-line); font-size: 14px; color: var(--bl-ink-2); }
.bl-util__in { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.bl-util__end { display: flex; align-items: center; gap: 12px; }
.bl-util__tel { color: var(--bl-ink-2) !important; text-decoration: none; display: inline-flex; align-items: center; min-height: 44px; }
.bl-util__tel:hover { color: var(--bl-ink) !important; }

.bl-elna { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; color: var(--bl-ink-2) !important; }
.bl-elna img { width: 20px; height: 20px; border-radius: 2px; }
.bl-elna__cta { color: var(--bl-ink); text-decoration: underline; text-decoration-color: var(--bl-gold); text-underline-offset: .22em; }
.bl-elna:hover .bl-elna__cta { text-decoration-color: currentColor; }
/* Older fixed Elna badge from the parent theme footer: the header link replaces it. */
.elna-side-logo { display: none !important; }

.bl-lang ul { display: flex; margin: 0; padding: 0; list-style: none; }
.bl-lang a {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 36px; min-height: 44px; padding: 0 4px;
	color: var(--bl-ink-2) !important; text-decoration: none; font-size: 14px;
}
.bl-lang a:hover { color: var(--bl-ink) !important; }
.bl-lang a[aria-current] { color: var(--bl-ink) !important; font-weight: 600; text-decoration: underline; text-decoration-color: var(--bl-gold); text-decoration-thickness: 2px; text-underline-offset: 6px; }

.bl-bar__in {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	grid-template-areas: "logo nav search cart";
	align-items: center;
	column-gap: 20px; /* EN and RU menus fit on one row at 1360+ */
	min-height: 84px;
}
.bl-logo { grid-area: logo; display: block; line-height: 0; }
.bl-logo img { height: 50px; width: auto; }

.bl-nav { grid-area: nav; }
.bl-nav > ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.bl-nav > ul a {
	position: relative; display: flex; align-items: center; min-height: 48px; padding: 0 12px;
	color: var(--bl-ink) !important; text-decoration: none; font-size: 16px; font-weight: 500; white-space: nowrap;
}
.bl-nav > ul a::after {
	content: ""; position: absolute; left: 12px; right: 12px; bottom: 8px; height: 2px;
	background: var(--bl-gold); transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
}
.bl-nav > ul a:hover::after, .bl-nav > ul a[aria-current]::after { transform: scaleX(1); }
.bl-nav__extra { display: none; }

.bl-search { grid-area: search; position: relative; width: 240px; margin: 0; }
.bl-search input[type="search"] {
	width: 100%; height: 44px; box-sizing: border-box; margin: 0;
	padding: 0 46px 0 14px; border: 1px solid var(--bl-line-2); border-radius: var(--bl-r);
	background: var(--bl-paper); color: var(--bl-ink); font: 400 15px/1 var(--bl-font); letter-spacing: 0;
	-webkit-appearance: none; appearance: none;
}
.bl-search input[type="search"]::placeholder { color: #767a80; opacity: 1; }
.bl-search input[type="search"]:focus { border-color: var(--bl-ink); outline: none; box-shadow: 0 0 0 1px var(--bl-ink); }
.bl-search button {
	position: absolute; top: 0; right: 0; width: 44px; height: 44px; margin: 0; padding: 0;
	display: flex; align-items: center; justify-content: center;
	border: 0; background: none; color: var(--bl-ink); cursor: pointer;
}

.bl-cart {
	grid-area: cart; position: relative;
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; color: var(--bl-ink) !important; text-decoration: none;
}
.bl-cart .bl-ico { width: 24px; height: 24px; }
.bl-cart__n {
	position: absolute; top: 3px; right: 0;
	min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px;
	background: var(--bl-ink); color: #fff; font-size: 11px; font-weight: 600; line-height: 18px; text-align: center;
}
.bl-cart__n.is-empty { display: none; }

.bl-menu-btn {
	grid-area: menu; display: none; align-items: center; gap: 8px;
	min-height: 44px; padding: 0 4px 0 10px; margin: 0;
	border: 0; background: none; color: var(--bl-ink); font: 500 15px/1 var(--bl-font); cursor: pointer;
}
.bl-menu-btn__i { display: inline-flex; }
.bl-menu-btn__i--close { display: none; }
.bl-menu-btn[aria-expanded="true"] .bl-menu-btn__i--open { display: none; }
.bl-menu-btn[aria-expanded="true"] .bl-menu-btn__i--close { display: inline-flex; }

@media (max-width: 1359px) {
	.bl-bar__in {
		grid-template-columns: auto 1fr auto;
		grid-template-areas: "logo search cart" "nav nav nav";
		row-gap: 0; min-height: 0; padding-top: 14px;
	}
	.bl-search { justify-self: end; width: min(360px, 100%); }
	.bl-nav { margin: 6px -12px 2px; }
}

@media (max-width: 999px) {
	.bl-util__in { justify-content: flex-end; }
	.bl-util .bl-elna { display: none; }
	.bl-util .bl-lang { display: none; }
	.bl-bar { position: relative; }
	.bl-bar__in {
		grid-template-columns: auto 1fr auto auto;
		grid-template-areas: "logo . cart menu" "search search search search";
		column-gap: 8px; row-gap: 10px; padding-top: 10px; padding-bottom: 12px;
	}
	.bl-logo img { height: 40px; }
	.bl-search { width: 100%; justify-self: stretch; }
	.bl-menu-btn { display: inline-flex; }
	.bl-nav {
		display: none; margin: 0;
		position: absolute; left: 0; right: 0; top: 100%;
		max-height: calc(100vh - 140px); max-height: calc(100dvh - 140px); overflow: auto; overscroll-behavior: contain;
		background: var(--bl-paper); border-top: 1px solid var(--bl-line); border-bottom: 1px solid var(--bl-line);
		padding: 8px var(--bl-pad) 24px;
	}
	.bl-menu-open .bl-nav { display: block; }
	.bl-nav > ul { display: block; }
	.bl-nav > ul li { border-bottom: 1px solid var(--bl-line); }
	.bl-nav > ul a { min-height: 56px; padding: 0; font-size: 19px; }
	.bl-nav > ul a::after { display: none; }
	.bl-nav > ul a[aria-current] { color: var(--bl-gold-text) !important; }
	.bl-nav__extra { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; }
	.bl-nav__extra > a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--bl-ink) !important; text-decoration: none; font-weight: 500; }
	.bl-util__tel { display: none; }
}
@media (max-width: 999px) and (min-width: 600px) {
	.bl-util__tel { display: inline-flex; }
}
@media (max-width: 999px) {
	.bl-util { display: none; }
	.bl-header { top: 0; }
	.admin-bar .bl-header { top: 46px; }
}

/* ---------- Avada page title bar ---------- */
.bl .fusion-page-title-bar {
	height: auto !important; min-height: 0; border: 0 !important; background: none !important;
	padding: clamp(32px, 5vw, 64px) 0 clamp(12px, 2vw, 24px);
	padding-left: 0 !important; padding-right: 0 !important; /* Avada adds 30px on phones; the row keeps the page gutter */
}
.bl .fusion-page-title-bar .fusion-page-title-row { max-width: var(--bl-max); margin: 0 auto; padding: 0 var(--bl-pad); box-sizing: border-box; }
.bl .fusion-page-title-bar .fusion-page-title-wrapper { display: block; }
.bl .fusion-page-title-bar h1,
.bl .fusion-page-title-bar .entry-title {
	margin: 0; color: var(--bl-ink) !important; text-align: left;
	font: 500 clamp(32px, 4vw, 56px)/1.05 var(--bl-font) !important; letter-spacing: -0.022em !important; text-transform: none !important;
	max-width: 22ch;
}
.bl .fusion-page-title-bar .fusion-page-title-secondary,
.bl .fusion-page-title-bar .fusion-breadcrumbs { display: none; }

/* ---------- Main area ---------- */
.bl #main { padding: 0 0 clamp(56px, 8vw, 112px); background: var(--bl-paper); }
.bl #main { padding-left: 0 !important; padding-right: 0 !important; } /* Avada adds 30px on phones; the row already has the gutter. */
.bl #main > .fusion-row { max-width: var(--bl-max); padding-inline: var(--bl-pad); box-sizing: border-box; }
.bl.bl-front #main { padding-bottom: 0; }
.bl.bl-front #main > .fusion-row { max-width: none; padding: 0; }

.bl .post-content, .bl #content { color: var(--bl-ink); }
.bl .post-content p, .bl .fusion-text p, .bl .term-description p { max-width: 70ch; }
.bl .post-content a:not(.fusion-button):not(.button):not(.bl-btn):not(ul.products a),
.bl .fusion-text a, .bl .woocommerce-tabs .panel a:not(.button) {
	text-decoration: underline; text-decoration-color: var(--bl-gold); text-underline-offset: .22em; text-decoration-thickness: 1px;
}
.bl .post-content a:hover, .bl .fusion-text a:hover { text-decoration-color: currentColor; }
.bl .fusion-title h1, .bl .fusion-title h2, .bl .fusion-title h3, .bl .fusion-title h4 {
	font-family: var(--bl-font) !important; letter-spacing: -0.01em !important; text-transform: none !important; color: var(--bl-ink) !important;
}
/* A page with the title bar off gets its h1 from the first title (inc/content.php); it looks like the title bar. */
.bl .fusion-title:has(> h1) { justify-content: flex-start !important; margin: clamp(32px, 5vw, 64px) 0 clamp(24px, 3vw, 48px) !important; }
.bl .fusion-title .awb-title-spacer { display: none !important; } /* Avada spacers push centred titles 5px off the text edge */
.bl .fusion-title > h1 {
	margin: 0 !important; text-align: left !important; max-width: 22ch;
	font: 500 clamp(32px, 4vw, 56px)/1.05 var(--bl-font) !important; letter-spacing: -0.022em !important;
}
.bl .title-sep-container, .bl .fusion-separator.sep-double, .bl .fusion-content-sep, .bl .product-border { display: none !important; }
.bl .fusion-text, .bl .fusion-text * { letter-spacing: 0 !important; }
.bl .fusion-imageframe img, .bl .post-content img { border-radius: 2px; }
.bl .rich-snippet-hidden { display: none; }

/* Avada / Woo / CF7 buttons */
.bl .fusion-button,
.bl .button,
.bl button.button,
.bl input[type="submit"],
.bl .wpcf7-submit,
.bl.woocommerce .button,
.bl .woocommerce .button,
.bl .woocommerce-button,
.bl a.checkout-button,
.bl #place_order {
	min-height: 48px; padding: 0 22px !important; box-sizing: border-box;
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	border: 1px solid var(--bl-ink) !important; border-radius: var(--bl-r) !important;
	background: var(--bl-ink) !important; color: #fff !important; box-shadow: none !important;
	font: 500 16px/1.2 var(--bl-font) !important; letter-spacing: 0 !important; text-transform: none !important; text-shadow: none !important;
	text-decoration: none !important; cursor: pointer; transition: background-color .15s, border-color .15s;
}
.bl .fusion-button:hover, .bl .button:hover, .bl input[type="submit"]:hover, .bl #place_order:hover, .bl a.checkout-button:hover {
	background: #343e4c !important; border-color: #343e4c !important; color: #fff !important;
}
.bl .fusion-button .fusion-button-text { font: inherit !important; letter-spacing: 0 !important; text-transform: none !important; color: inherit !important; }
.bl .button.disabled, .bl .button:disabled { opacity: .45; cursor: not-allowed; }

/* Forms */
.bl input[type="text"], .bl input[type="email"], .bl input[type="tel"], .bl input[type="number"],
.bl input[type="password"], .bl input[type="search"]:not(#bl-s), .bl textarea, .bl select,
.bl .select2-container .select2-selection--single {
	min-height: 48px; box-sizing: border-box; border: 1px solid var(--bl-line-2) !important; border-radius: var(--bl-r) !important;
	background: var(--bl-paper) !important; color: var(--bl-ink) !important;
	font: 400 16px/1.4 var(--bl-font) !important; letter-spacing: 0 !important;
}
.bl textarea { padding: 12px 14px !important; }
.bl input:not([type="checkbox"]):not([type="radio"]):focus, .bl textarea:focus, .bl select:focus { border-color: var(--bl-ink) !important; outline: none; box-shadow: 0 0 0 1px var(--bl-ink); }
.bl label { font-weight: 500; color: var(--bl-ink); letter-spacing: 0; }
.bl ::placeholder { color: #767a80 !important; opacity: 1; }
.bl .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: 14px; color: var(--bl-ink); }
.bl .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; border-left: 0 !important; }
.bl abbr.required, .bl abbr[title] { text-decoration: none; border: 0; cursor: default; }

/* Notices */
.bl .woocommerce-message, .bl .woocommerce-info, .bl .woocommerce-error, .bl .fusion-alert {
	border: 1px solid var(--bl-line) !important; border-left: 3px solid var(--bl-gold) !important; border-radius: var(--bl-r);
	background: var(--bl-paper) !important; color: var(--bl-ink) !important; box-shadow: none !important;
	font: 400 16px/1.5 var(--bl-font); letter-spacing: 0; text-transform: none !important;
}
.bl .woocommerce-error { border-left-color: #a3261b !important; }
.bl .woocommerce-message, .bl .woocommerce-info { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 16px; padding: 12px 12px 12px 20px !important; }
.bl .woocommerce-message::before, .bl .woocommerce-info::before { position: static !important; margin: 0 !important; }
@media (max-width: 599px) { .bl .woocommerce-message::before, .bl .woocommerce-info::before { display: none !important; } .bl .woocommerce-message, .bl .woocommerce-info { padding-left: 16px !important; } }
.bl .woocommerce-message .button, .bl .woocommerce-info .button { order: 2; float: none !important; margin: 0 0 0 auto !important; }
.bl.woocommerce-cart .woocommerce-message .wc-forward { display: none !important; }
.bl .fusion-alert .fusion-alert-content { text-transform: none !important; letter-spacing: 0 !important; }

/* ---------- WooCommerce: product grid ---------- */
.bl ul.products .product-excerpt { display: none !important; } /* Avada prints it after a search or sorting */
.bl .woocommerce-products-header .term-description { margin: 0 0 28px; color: var(--bl-ink-2); font-size: 18px; }
.bl .woocommerce-ordering { margin: 0 0 24px; float: none; }
.bl .woocommerce-ordering select, .bl .woocommerce-ordering .orderby { min-width: 260px; padding: 0 40px 0 14px; }
.bl .catalog-ordering, .bl .fusion-woo-product-grid-pagination:empty { display: none; }

.bl ul.products {
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px clamp(16px, 2.4vw, 32px); margin: 0 0 40px !important; padding: 0; list-style: none;
}
.bl ul.products::before, .bl ul.products::after { display: none !important; }
.bl ul.products li.product {
	width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; clear: none !important;
	border: 0 !important; background: none !important; box-shadow: none !important; display: flex;
}
.bl ul.products .fusion-product-wrapper {
	display: flex; flex-direction: column; width: 100%;
	border: 0 !important; background: none !important; box-shadow: none !important;
}
.bl ul.products .product-images { display: block; text-decoration: none; }
.bl ul.products .featured-image {
	position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: var(--bl-tile); border-radius: 2px;
}
.bl ul.products .featured-image img {
	position: absolute; inset: 6%; width: 88% !important; height: 88% !important; object-fit: contain;
	mix-blend-mode: multiply; transition: transform .35s ease;
}
.bl ul.products .product-images:hover img { transform: scale(1.03); }
.bl ul.products .crossfade-images > img + img { display: none; }
.bl ul.products .cart-loading { display: none; }
.bl ul.products .fusion-product-content { padding: 16px 0 0 !important; display: flex; flex-direction: column; flex: 1; text-align: left; }
.bl ul.products .product-details-container { text-align: left !important; }
.bl ul.products .product-title { margin: 0 0 6px !important; font: 500 18px/1.3 var(--bl-font) !important; letter-spacing: -0.005em !important; text-transform: none !important; }
.bl ul.products .product-title a { color: var(--bl-ink) !important; text-decoration: none; }
.bl ul.products .product-title a:hover { text-decoration: underline; text-decoration-color: var(--bl-gold); text-underline-offset: .2em; }
.bl ul.products .fusion-price-rating { display: block !important; }
.bl .woocommerce-Price-amount, .bl .woocommerce-Price-amount bdi { color: inherit !important; }
.bl ul.products .price { display: block; margin: 0; color: var(--bl-ink) !important; font: 400 17px/1.4 var(--bl-font) !important; }
.bl ul.products .price del { color: var(--bl-ink-2); }
.bl ul.products .star-rating { display: none; }
.bl ul.products .product-buttons { margin-top: auto; padding-top: 14px; }
.bl ul.products .product-buttons-container { display: flex; }
.bl ul.products .product-buttons .button {
	min-height: 44px; padding: 0 16px !important; font-size: 15px !important;
	background: transparent !important; color: var(--bl-ink) !important; border-color: var(--bl-line-2) !important;
}
.bl ul.products .product-buttons .button:hover { border-color: var(--bl-ink) !important; background: transparent !important; }
.bl ul.products .product-buttons .button::before { display: none !important; }
.bl ul.products .product-buttons .button.loading { opacity: .55; pointer-events: none; }
.bl ul.products .product-buttons .button.added { display: none; }
@media (max-width: 599px) {
	.bl ul.products .product-buttons .button { width: 100%; max-width: none !important; justify-content: center; white-space: nowrap; padding: 0 8px !important; }
}
.bl ul.products .added_to_cart { display: inline-flex; align-items: center; min-height: 44px; margin-left: 14px; font-size: 15px; color: var(--bl-ink); }
.bl ul.products .show_details_button { display: none !important; }
.bl .fusion-woocommerce-quick-view-overlay, .bl .fusion-woocommerce-quick-view-container { display: none !important; }
.bl .onsale, .bl .fusion-woo-badges-wrapper { display: none; }

@media (max-width: 999px) {
	.bl ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 16px; }
	.bl ul.products .product-title { font-size: 16px !important; }
	.bl ul.products .price { font-size: 16px !important; }
}

/* Pagination */
.bl .woocommerce-pagination, .bl .pagination { display: flex; gap: 6px; margin-top: 24px; }
.bl .woocommerce-pagination a, .bl .woocommerce-pagination span, .bl .pagination a, .bl .pagination span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
	border: 1px solid var(--bl-line) !important; border-radius: var(--bl-r); color: var(--bl-ink); text-decoration: none;
}
.bl .woocommerce-pagination .current, .bl .pagination .current { background: var(--bl-ink) !important; border-color: var(--bl-ink) !important; color: #fff !important; }

/* ---------- WooCommerce: single product ---------- */
.bl.single-product .fusion-page-title-bar { padding-bottom: clamp(20px, 3vw, 36px); }
.bl.single-product div.product {
	display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(32px, 5vw, 80px); align-items: start;
}
.bl.single-product div.product > * { grid-column: 1 / -1; min-width: 0; }
.bl.single-product div.product > .avada-single-product-gallery-wrapper {
	grid-column: 1; width: auto !important; max-width: none !important; float: none !important; margin: 0 !important;
}
.bl.single-product div.product > .summary {
	grid-column: 2; width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important;
	align-self: start;
}
.bl.single-product div.product > .fusion-clearfix { display: none; }
.bl.single-product .woocommerce-product-gallery { width: auto !important; max-width: none !important; float: none !important; margin-bottom: 0 !important; }
.bl.single-product .woocommerce-product-gallery__image,
.bl.single-product .woocommerce-product-gallery .flex-viewport { background: var(--bl-tile); border-radius: 2px; }
.bl.single-product .woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
.bl.single-product .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 10px 0 0 !important; }
.bl.single-product .flex-control-thumbs li { width: auto !important; margin: 0 !important; background: var(--bl-tile); }
.bl.single-product .flex-control-thumbs img { mix-blend-mode: multiply; opacity: .7; }
.bl.single-product .flex-control-thumbs img.flex-active, .bl.single-product .flex-control-thumbs img:hover { opacity: 1; }
.bl.single-product .avada-product-gallery-lightbox-trigger { display: none; }

.bl.single-product .summary .product_title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }
.bl.single-product .summary .price {
	display: block; margin: 0 0 6px; color: var(--bl-ink) !important;
	font: 500 clamp(26px, 2.4vw, 34px)/1.15 var(--bl-font) !important; letter-spacing: -0.01em;
}
.bl.single-product .summary .price del { color: var(--bl-ink-2); font-size: .6em; }
.bl.single-product .avada-availability, .bl.single-product .stock { color: var(--bl-ink-2); font-size: 15px; margin: 0 0 18px; }
.bl.single-product .avada-availability .in-stock, .bl.single-product .stock.in-stock { color: #2f6b3a; }
.bl.single-product .product-post-content { margin: 18px 0 24px; padding-top: 22px; border-top: 1px solid var(--bl-line); color: var(--bl-ink); }
.bl.single-product .product-post-content p { margin: 0 0 12px; text-align: left; letter-spacing: 0; line-height: 1.6; }
.bl.single-product .product-post-content .fusion-fullwidth { padding: 0 !important; margin: 0 !important; }
.bl.single-product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 0 0 20px; }
.bl.single-product form.cart .quantity {
	display: inline-flex; flex: 0 0 auto; width: auto !important; margin: 0 !important; float: none !important;
	border: 1px solid var(--bl-line-2); border-radius: var(--bl-r); overflow: hidden; background: var(--bl-paper);
}
.bl.single-product form.cart .quantity input, .bl.single-product form.cart .quantity .minus, .bl.single-product form.cart .quantity .plus {
	float: none !important; height: 48px !important; min-height: 48px; margin: 0 !important; padding: 0 !important;
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	background: var(--bl-paper) !important; color: var(--bl-ink) !important; font: 400 18px/1 var(--bl-font) !important; text-align: center;
}
.bl.single-product form.cart .quantity .minus, .bl.single-product form.cart .quantity .plus { width: 44px !important; cursor: pointer; }
.bl.single-product form.cart .quantity .minus:hover, .bl.single-product form.cart .quantity .plus:hover { background: var(--bl-tile) !important; }
.bl.single-product form.cart .quantity .qty { width: 52px !important; -moz-appearance: textfield; }
.bl.single-product form.cart .quantity .qty::-webkit-inner-spin-button, .bl.single-product form.cart .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.bl.single-product form.cart .single_add_to_cart_button { flex: 1 1 200px; margin: 0 !important; }
.bl.single-product .variations { margin-bottom: 16px; }
.bl.single-product .variations td, .bl.single-product .variations th { padding: 6px 0; border: 0; }
.bl.single-product .product_meta { font-size: 14px; color: var(--bl-ink-2); }
.bl.single-product .product_meta a { color: var(--bl-ink-2); }

.bl.single-product .woocommerce-tabs {
	margin-top: clamp(48px, 6vw, 88px); padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--bl-ink);
}
.bl.single-product .woocommerce-tabs ul.tabs, .bl.single-product .woocommerce-tabs ul.ui-tabs-nav {
	display: flex; flex-wrap: nowrap; gap: 0 4px; margin: 0 0 32px !important; padding: 0 !important; overflow-x: auto; scrollbar-width: none;
	border: 0 !important; border-bottom: 1px solid var(--bl-line) !important; border-radius: 0 !important; background: none !important; float: none !important; width: auto !important;
}
.bl.single-product .woocommerce-tabs ul.ui-tabs-nav::-webkit-scrollbar { display: none; }
.bl.single-product .woocommerce-tabs ul.tabs li, .bl.single-product .woocommerce-tabs ul.ui-tabs-nav li {
	display: block !important; flex: 0 0 auto; float: none !important; margin: 0 !important; padding: 0 !important;
	border: 0 !important; border-radius: 0 !important; background: none !important; width: auto !important;
}
.bl.single-product .woocommerce-tabs ul.tabs li a, .bl.single-product .woocommerce-tabs ul.ui-tabs-nav li a {
	display: flex; align-items: center; min-height: 48px; padding: 0 14px !important; white-space: nowrap;
	border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; margin: 0 !important;
	background: none !important; color: var(--bl-ink-2) !important; font: 500 16px/1.2 var(--bl-font) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.bl.single-product .woocommerce-tabs ul.tabs li.active a, .bl.single-product .woocommerce-tabs ul.tabs li a:hover,
.bl.single-product .woocommerce-tabs ul.ui-tabs-nav li.ui-tabs-active a, .bl.single-product .woocommerce-tabs ul.ui-tabs-nav li a:hover {
	color: var(--bl-ink) !important; border-bottom-color: var(--bl-gold) !important;
}
.bl.single-product .woocommerce-tabs ul.ui-tabs-nav li a:focus-visible { outline: 2px solid var(--bl-gold-text); outline-offset: -2px; }
.bl.single-product .woocommerce-tabs .panel, .bl.single-product .woocommerce-tabs .entry-content, .bl.single-product .woocommerce-tabs .ui-tabs-panel {
	margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; float: none !important; width: auto !important; color: var(--bl-ink);
}
.bl.single-product .woocommerce-tabs .panel > h2:first-child { display: none; }
.bl.single-product .woocommerce-tabs .ui-tabs-panel p { letter-spacing: 0; text-align: left; }
.bl.single-product .woocommerce-tabs ul.ui-tabs-nav li a, .bl.single-product .woocommerce-tabs ul.tabs li a { text-decoration: none !important; }
.bl.single-product .fusion-fullwidth { background-color: transparent !important; background-image: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.bl.single-product .woocommerce-tabs .ui-tabs-panel > .fusion-fullwidth:first-child { padding-top: 0 !important; }
.bl.single-product .woocommerce-tabs .ui-tabs-panel img { border: 0 !important; border-radius: 2px; }
.bl.single-product .woocommerce-tabs table { border-collapse: collapse; width: 100%; max-width: 820px; }
.bl.single-product .woocommerce-tabs table td, .bl.single-product .woocommerce-tabs table th {
	padding: 12px 16px 12px 0; border: 0; border-bottom: 1px solid var(--bl-line); text-align: left; vertical-align: top; font-size: 16px;
}
.bl .wc_product_cform { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--bl-line); }
.bl .wc_product_cform { max-width: 760px; }
.bl .wc_product_cform .fusion-title { justify-content: flex-start !important; margin: 0 0 20px !important; }
.bl .wc_product_cform .fusion-title .title-sep-container { display: none !important; }
.bl .wc_product_cform .fusion-title .title-heading-left, .bl .wc_product_cform .fusion-title .title-heading-center,
.bl .wc_product_cform .fusion-title h2, .bl .wc_product_cform .fusion-title h3, .bl .wc_product_cform .fusion-title h4 {
	margin: 0 !important; padding: 0 !important; border: 0 !important; text-align: left !important; color: var(--bl-ink) !important;
	font: 500 clamp(22px, 2vw, 28px)/1.2 var(--bl-font) !important; letter-spacing: -0.01em !important; text-transform: lowercase !important;
}
.bl .wc_product_cform .fusion-title h4::first-letter { text-transform: uppercase; }
.bl .wpcf7 p { margin: 0 0 16px; }
.bl .wpcf7 label { display: block; }
.bl .wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.bl .wpcf7 input[type="text"], .bl .wpcf7 input[type="email"], .bl .wpcf7 input[type="tel"], .bl .wpcf7 textarea { width: 100%; padding: 0 14px; }
.bl .wpcf7 .wpcf7-radio, .bl .wpcf7 .wpcf7-checkbox { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.bl .wpcf7 .wpcf7-list-item { margin: 0; }
.bl .wpcf7 .wpcf7-list-item label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 400; }
.bl .wpcf7 input[type="radio"], .bl .wpcf7 input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--bl-ink); }
.bl .wpcf7 .wpcf7-response-output { margin: 8px 0 0 !important; padding: 14px 18px !important; }
.bl .wpcf7 .wpcf7-response-output .alert-icon { display: none; }
.bl .wpcf7 form.invalid .wpcf7-response-output, .bl .wpcf7 form.failed .wpcf7-response-output, .bl .wpcf7 form.spam .wpcf7-response-output { border-left-color: #a3261b !important; }
.bl .wpcf7 .wpcf7-not-valid-tip { margin-top: 6px; font-size: 14px; }

.bl .related.products, .bl .upsells.products { margin-top: clamp(56px, 7vw, 96px); }
.bl .related.products > h2, .bl .upsells.products > h2 { font-size: clamp(24px, 2.2vw, 32px); margin: 0 0 28px; }

@media (max-width: 899px) {
	.bl.single-product div.product { grid-template-columns: minmax(0, 1fr); }
	.bl.single-product div.product > .avada-single-product-gallery-wrapper,
	.bl.single-product div.product > .summary { grid-column: 1; position: static; }
	.bl.single-product div.product > .summary { margin-top: 24px !important; }
}
@media (max-width: 767px) {
	.bl.single-product .woocommerce-tabs ul.tabs, .bl.single-product .woocommerce-tabs ul.ui-tabs-nav { flex-wrap: wrap; overflow: visible; }
	.bl.single-product .woocommerce-tabs ul.tabs li a, .bl.single-product .woocommerce-tabs ul.ui-tabs-nav li a { padding: 0 12px !important; }
}

/* ---------- Cart and checkout (visual only) ---------- */
.bl .woocommerce-cart-form table.shop_table, .bl table.shop_table {
	border: 0 !important; border-collapse: collapse; border-radius: 0; background: none !important;
}
.bl table.shop_table th {
	padding: 12px 12px 12px 0 !important; border: 0 !important; border-bottom: 1px solid var(--bl-ink) !important;
	color: var(--bl-ink) !important; font: 600 14px/1.3 var(--bl-font) !important; text-transform: none !important; letter-spacing: 0 !important;
}
.bl table.shop_table td { padding: 16px 12px 16px 0 !important; border: 0 !important; border-bottom: 1px solid var(--bl-line) !important; color: var(--bl-ink); }
.bl table.shop_table .product-thumbnail img { width: 80px; background: var(--bl-tile); mix-blend-mode: multiply; }
.bl table.shop_table .product-name a { color: var(--bl-ink); font-weight: 500; text-decoration: none; }
.bl table.shop_table .product-remove a { color: var(--bl-ink-2) !important; text-decoration: none !important; font-size: 22px; display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; }
.bl .cart-collaterals .cart_totals, .bl .woocommerce-checkout-review-order, .bl .shipping_calculator, .bl .coupon {
	border: 0 !important; background: none !important;
}
.bl .cart-collaterals .cart_totals h2, .bl #order_review_heading, .bl .woocommerce-billing-fields h3, .bl .woocommerce-shipping-fields h3, .bl .woocommerce-additional-fields h3 {
	font: 500 clamp(22px, 2vw, 28px)/1.2 var(--bl-font) !important; letter-spacing: -0.01em !important; text-transform: none !important; margin: 0 0 16px;
}
.bl .woocommerce-checkout .form-row { margin-bottom: 14px; }
.bl .woocommerce-checkout #payment { background: none !important; border: 1px solid var(--bl-line); border-radius: var(--bl-r); }
.bl .woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--bl-line) !important; }
.bl .woocommerce-checkout #payment div.payment_box { background: var(--bl-tile) !important; color: var(--bl-ink); }
.bl .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--bl-tile) !important; }
.bl .avada-myaccount-user, .bl .woocommerce-MyAccount-navigation { border: 0; background: none; }

/* Avada boxes around cart, coupon and checkout steps: open layout, lines only where they separate rows. */
.bl .woocommerce-content-box { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
.bl.woocommerce-cart .woocommerce-content-box > h2 {
	margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; text-align: left !important;
	color: var(--bl-ink-2) !important; font: 400 16px/1.4 var(--bl-font) !important; letter-spacing: 0 !important; text-transform: none !important;
}
.bl.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; margin-top: 28px; }
.bl.woocommerce-cart .cart-collaterals .cart_totals { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
.bl .wc-proceed-to-checkout { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; margin: 0 !important; padding: 0 !important; }
.bl .wc-proceed-to-checkout .fusion-button { display: inline-flex !important; width: auto !important; height: auto !important; margin: 0 !important; line-height: 1.2 !important; }
.bl .wc-proceed-to-checkout .fusion-update-cart { background: transparent !important; color: var(--bl-ink) !important; }
.bl .wc-proceed-to-checkout .fusion-update-cart:hover { background: var(--bl-band) !important; border-color: var(--bl-ink) !important; color: var(--bl-ink) !important; }
.bl table.shop_table .quantity { border: 0 !important; }
/* Cart quantity: same stepper as on the product page, 44px targets */
.bl .woocommerce-cart-form table.shop_table .quantity {
	display: inline-flex; width: auto !important; float: none !important; overflow: hidden;
	border: 1px solid var(--bl-line-2) !important; border-radius: var(--bl-r); background: var(--bl-paper);
}
.bl .woocommerce-cart-form .quantity .minus, .bl .woocommerce-cart-form .quantity .plus, .bl .woocommerce-cart-form .quantity .qty {
	float: none !important; height: 44px !important; min-height: 44px; margin: 0 !important; padding: 0 !important;
	border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	background: var(--bl-paper) !important; color: var(--bl-ink) !important; font: 400 17px/1 var(--bl-font) !important; text-align: center;
}
.bl .woocommerce-cart-form .quantity .minus, .bl .woocommerce-cart-form .quantity .plus { width: 44px !important; cursor: pointer; }
.bl .woocommerce-cart-form .quantity .minus:hover, .bl .woocommerce-cart-form .quantity .plus:hover { background: var(--bl-tile) !important; }
.bl .woocommerce-cart-form .quantity .qty { width: 48px !important; -moz-appearance: textfield; }
.bl .woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button, .bl .woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.bl.woocommerce-cart tr.avada-cart-actions { display: none; } /* empty: coupon is hidden, update button sits below the table */

.bl form.checkout_coupon {
	display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px;
	margin: 0 0 36px !important; padding: 0 0 24px !important; border-bottom: 1px solid var(--bl-line) !important;
}
.bl form.checkout_coupon .promo-code-heading {
	float: none !important; margin: 0 !important; padding: 0 !important; color: var(--bl-ink) !important;
	font: 500 18px/1.3 var(--bl-font) !important; letter-spacing: 0 !important; text-transform: none !important;
}
.bl form.checkout_coupon .coupon-contents { float: none !important; display: flex; gap: 8px; margin: 0 !important; }
.bl form.checkout_coupon .coupon-contents .form-row { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.bl form.checkout_coupon .coupon-contents .clear { display: none; }
.bl form.checkout_coupon .coupon-button input { background: transparent !important; color: var(--bl-ink) !important; }
.bl form.checkout_coupon .coupon-button input:hover { background: var(--bl-band) !important; color: var(--bl-ink) !important; border-color: var(--bl-ink) !important; }

.bl ul.woocommerce-checkout-nav {
	display: flex; flex-wrap: wrap; gap: 0 4px; margin: 0 0 28px !important; padding: 0 !important; list-style: none;
	border: 0 !important; border-bottom: 1px solid var(--bl-line) !important; float: none !important; width: auto !important;
}
.bl ul.woocommerce-checkout-nav li { margin: 0 0 -1px !important; border: 0 !important; background: none !important; float: none !important; width: auto !important; }
.bl ul.woocommerce-checkout-nav li a {
	display: flex !important; align-items: center; min-height: 48px; padding: 0 14px !important; margin: 0 !important;
	border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: none !important;
	color: var(--bl-ink-2) !important; font: 500 16px/1.2 var(--bl-font) !important; text-decoration: none !important; text-transform: none !important;
}
.bl ul.woocommerce-checkout-nav li.is-active a, .bl ul.woocommerce-checkout-nav li a:hover { color: var(--bl-ink) !important; border-bottom-color: var(--bl-gold) !important; }
.bl ul.woocommerce-checkout-nav li a::before, .bl ul.woocommerce-checkout-nav li a::after { display: none !important; }
.bl ul.woocommerce-checkout-nav li a:focus-visible { outline: 2px solid var(--bl-gold-text); outline-offset: -2px; }
.bl .woocommerce-checkout .avada-checkout { margin: 0 !important; }
.bl .woocommerce-checkout .woocommerce-billing-fields h3, .bl .woocommerce-checkout .woocommerce-shipping-fields h3 { border: 0 !important; padding: 0 !important; }
.bl .woocommerce-checkout .woocommerce-billing-fields__field-wrapper, .bl .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper { max-width: 760px; }
.bl .continue-checkout { float: none !important; margin: 12px 0 0 !important; }
/* Phones: each cart line is one block - picture and name, then price, quantity and total as label/value rows. */
@media (max-width: 768px) {
	.bl .woocommerce-cart-form table.shop_table tr.cart_item {
		display: grid !important; grid-template-columns: 1fr auto; column-gap: 8px; position: relative;
		padding: 16px 0 8px; border-bottom: 1px solid var(--bl-line);
	}
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td {
		grid-column: 1 / -1; display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
		padding: 6px 0 !important; border: 0 !important; text-align: left !important; float: none !important; width: auto !important;
	}
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td::before {
		content: attr(data-title); float: none !important; color: var(--bl-ink-2); font: 400 15px/1.3 var(--bl-font); text-transform: none;
	}
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td.product-name { grid-column: 1; grid-row: 1; padding-top: 0 !important; }
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td.product-name::before,
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove::before { display: none; }
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove {
		grid-column: 2; grid-row: 1; position: static !important; align-self: start; padding: 0 !important; margin: 0 -10px 0 0;
	}
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td.product-remove a { position: static !important; transform: none !important; margin: 0 !important; }
	.bl .woocommerce-cart-form .fusion-product-name-wrapper { display: flex !important; align-items: center; gap: 12px; text-align: left; }
	.bl .woocommerce-cart-form .fusion-product-name-wrapper .product-thumbnail { flex: 0 0 72px; width: 72px !important; margin: 0 !important; float: none !important; }
	.bl .woocommerce-cart-form .fusion-product-name-wrapper .product-thumbnail img { width: 72px !important; height: auto; }
	.bl .woocommerce-cart-form .fusion-product-name-wrapper .product-info { margin: 0 !important; padding: 0 !important; text-align: left; }
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td.product-subtotal { font-weight: 600; }
	.bl .woocommerce-cart-form table.shop_table tr.cart_item td .quantity { margin: 0 !important; }
}
@media (max-width: 599px) {
	.bl form.checkout_coupon .coupon-contents { width: 100%; }
	.bl form.checkout_coupon .coupon-input { flex: 1 1 auto; }
	.bl form.checkout_coupon .coupon-input input { width: 100% !important; }
	.bl ul.woocommerce-checkout-nav li a { padding: 0 10px !important; font-size: 15px !important; }
	.bl .continue-checkout { width: 100% !important; }
	.bl .wc-proceed-to-checkout { justify-content: stretch; }
	.bl .wc-proceed-to-checkout .fusion-button { flex: 1 1 100%; }
}

/* ---------- Page titles and text inside Avada content ---------- */
.bl .post-content .fusion-title h2, .bl .post-content .fusion-title h3 { border: 0 !important; padding: 0 !important; }
.bl .post-content .fusion-title:not(:has(> h1)) { justify-content: flex-start !important; margin-top: clamp(40px, 6vw, 72px) !important; }
.bl .post-content .fusion-title:not(:has(> h1)) h2 { text-align: left !important; font: 500 clamp(24px, 2.6vw, 32px)/1.15 var(--bl-font) !important; }
.bl .post-content .fusion-text { text-align: start !important; }

/* ---------- History timeline (Cool Timeline plugin) ---------- */
.bl .cool-timeline::before { background: var(--bl-line) !important; width: 1px !important; }
.bl .cool-timeline .timeline-year { background: var(--bl-paper) !important; box-shadow: 0 0 0 1px var(--bl-line) !important; }
.bl .cool-timeline .ctl-timeline-date { color: var(--bl-ink) !important; font: 600 17px/1 var(--bl-font) !important; font-variant-numeric: tabular-nums; }
.bl .cool-timeline .timeline-icon { background: var(--bl-gold) !important; }
.bl .cooltimeline_cont .fusion-text h3 { font: 600 20px/1.2 var(--bl-font) !important; color: var(--bl-ink) !important; margin: 0 0 6px !important; }
.bl .cooltimeline_cont .fusion-text h3 strong { font-weight: inherit; }
.bl .cooltimeline_cont .fusion-text p { font-size: 15px !important; line-height: 1.5 !important; color: var(--bl-ink-2) !important; }
.bl .cooltimeline_cont img { border-color: var(--bl-line) !important; background: #fff !important; }
/* Year bar fixed at the bottom of the screen */
@media (max-width: 767px) { /* phones: shorter gaps between years */
	.bl .cool-timeline .timeline-year { margin-top: 8px !important; margin-bottom: 20px !important; }
	.bl .cool-timeline .timeline-post { padding-bottom: 8px !important; }
}
.bl .ctl-footer-bullets-container { background: var(--bl-paper); border-top: 1px solid var(--bl-line); text-align: left; }
.bl .section-bullets-bottom {
	display: flex !important; height: auto !important; max-width: var(--bl-max); margin: 0 auto !important; padding: 0 var(--bl-pad) !important;
	overflow-x: auto; scrollbar-width: none; box-sizing: border-box;
}
.bl .section-bullets-bottom li { float: none !important; flex: 0 0 auto; height: auto !important; padding: 0 !important; background: none !important; border-top: 2px solid transparent !important; }
.bl .section-bullets-bottom li::before, .bl .section-bullets-bottom li::after, .bl .section-bullets-bottom li a::after { display: none !important; }
.bl .section-bullets-bottom li a {
	display: flex; align-items: center; min-height: 44px; padding: 0 10px; text-decoration: none !important;
	font: 500 14px/1 var(--bl-font) !important; color: var(--bl-ink-2) !important; font-variant-numeric: tabular-nums;
}
.bl .section-bullets-bottom li a:hover { color: var(--bl-ink) !important; }
.bl .section-bullets-bottom li.active { border-top-color: var(--bl-gold) !important; }
.bl .section-bullets-bottom li.active a { color: var(--bl-ink) !important; font-weight: 600 !important; }
.bl .section-bullets-bottom li a:focus-visible { outline: 2px solid var(--bl-gold-text); outline-offset: -2px; }

/* ---------- 404 (404.php) ---------- */
.bl #content.bl-404 {
	float: none; width: auto; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
	gap: clamp(40px, 6vw, 96px); align-items: start; padding-top: clamp(40px, 7vw, 104px);
}
.bl-404__h { margin: 0 0 20px; max-width: 14ch; font: 500 clamp(36px, 5vw, 64px)/1.03 var(--bl-font); letter-spacing: -0.025em; color: var(--bl-ink); }
.bl .bl-404__lead { max-width: 44ch; margin: 0 0 32px; font: 400 18px/1.55 var(--bl-font); color: var(--bl-ink-2); }
.bl-404__search { display: flex; gap: 8px; max-width: 520px; margin: 0; }
.bl-404__search input[type="search"] {
	flex: 1; min-width: 0; height: 48px; box-sizing: border-box; margin: 0; padding: 0 14px;
	border: 1px solid var(--bl-line-2); border-radius: var(--bl-r); background: #fff;
	color: var(--bl-ink); font: 400 16px/1 var(--bl-font); -webkit-appearance: none; appearance: none;
}
.bl-404__search input[type="search"]::placeholder { color: #767a80; opacity: 1; }
.bl-404__search input[type="search"]:focus { border-color: var(--bl-ink); outline: none; box-shadow: 0 0 0 1px var(--bl-ink); }
.bl-404__nav { border-top: 1px solid var(--bl-ink); padding-top: 14px; }
.bl .bl-404__nav h2 { margin: 0 0 6px; font: 500 15px/1.3 var(--bl-font); letter-spacing: 0; color: var(--bl-ink-2); }
.bl-404__nav ul { list-style: none; margin: 0; padding: 0; }
.bl .bl-404__nav li a {
	display: flex; align-items: center; min-height: 48px; border-bottom: 1px solid var(--bl-line);
	font: 500 18px/1.25 var(--bl-font); color: var(--bl-ink); text-decoration: none;
}
.bl .bl-404__nav li a:hover { text-decoration: underline; text-decoration-color: var(--bl-gold); text-underline-offset: .22em; }
.bl-404__tel { margin: 24px 0 0; font: 400 15px/1.5 var(--bl-font); color: var(--bl-ink-2); }
.bl .bl-404__tel a { display: inline-block; margin-right: 10px; font-weight: 600; font-size: 18px; color: var(--bl-ink); text-decoration: none; font-variant-numeric: tabular-nums; }
@media (max-width: 999px) {
	.bl #content.bl-404 { grid-template-columns: 1fr; }
	.bl-404__search { display: none; } /* the header search sits right above */
	.bl .bl-404__lead { margin-bottom: 8px; }
}

/* Map and video placeholders (inc/embeds.php) */
.bl .bl-embed {
	display: flex; align-items: flex-end; min-height: 320px; margin: 0 0 24px; padding: clamp(20px, 3vw, 32px);
	background: var(--bl-band); border-radius: var(--bl-r); box-sizing: border-box;
}
.bl .bl-embed--video { aspect-ratio: 16 / 9; min-height: 0; max-width: 960px; }
.bl .bl-embed--map { min-height: 240px; }
.bl .bl-embed__face { display: grid; justify-items: start; gap: 10px; max-width: 420px; }
.bl .bl-embed__note { margin: 0; color: var(--bl-ink-2); font-size: 15px; line-height: 1.45; }
.bl .bl-embed .bl-btn { display: inline-flex; align-items: center; gap: 10px; }
@media (max-width: 599px) {
	.bl .bl-embed--video { aspect-ratio: auto; min-height: 240px; }
	.bl .bl-embed--map { min-height: 220px; }
}

/* Avada pieces we do not use */
.bl .fusion-sliding-bar-wrapper, .bl .fusion-top-frame, .bl .fusion-bottom-frame, .bl .fusion-boxed-shadow, .bl #toTop, .bl .to-top-container, .bl .fusion-page-load-link { display: none !important; }

/* ---------- Footer ---------- */
.bl-footer { background: var(--bl-ink); color: #d8d4cc; font-size: 15px; line-height: 1.6; }
.bl-footer a { color: #f2efe9 !important; text-decoration: none; }
.bl-footer a:hover { text-decoration: underline; text-decoration-color: var(--bl-gold); text-underline-offset: .22em; }
.bl-footer :focus-visible { outline-color: #e2b23a; }
.bl-footer__grid {
	display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: 40px clamp(24px, 4vw, 64px); padding-top: clamp(48px, 6vw, 80px); padding-bottom: 48px;
}
.bl-footer__brand img { height: 56px; width: auto; display: block; margin-bottom: 18px; }
.bl-footer__brand p { margin: 0 0 18px; max-width: 34ch; }
.bl-footer h2 { margin: 0 0 14px; color: #fff; font: 600 15px/1.4 var(--bl-font); letter-spacing: 0; text-transform: none; }
.bl-footer ul { margin: 0; padding: 0; list-style: none; }
.bl-footer li { margin: 0; }
.bl-footer li a { display: inline-flex; align-items: center; min-height: 36px; }
.bl-footer .bl-elna { color: #d8d4cc !important; min-height: 44px; }
.bl-footer .bl-elna__cta { color: #fff; }
.bl-elna__cta { white-space: nowrap; }
@media (min-width: 1000px) { .bl-footer .bl-elna--footer { display: none; } }
.bl-footer__base {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px;
	padding-top: 15px; padding-bottom: 14px; font-size: 14px; color: #b9b5ad;
	background: linear-gradient(rgba(255, 255, 255, .14), rgba(255, 255, 255, .14)) var(--bl-pad) 0 / calc(100% - 2 * var(--bl-pad)) 1px no-repeat;
}
.bl-footer__base p { margin: 0; }
.bl-footer .bl-lang a { color: #b9b5ad !important; }
.bl-footer .bl-lang a[aria-current] { color: #fff !important; }

@media (max-width: 999px) {
	.bl-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bl-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 559px) {
	.bl-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.bl-footer li a { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
	.bl *, .bl *::before, .bl *::after { transition-duration: 0s !important; animation-duration: 0s !important; scroll-behavior: auto !important; }
}
