/* Foretec Refine — site-wide design layer for foreteconline.com
   Source of truth: foreteconline/DESIGN.md. Everything is scoped to body.ft-refine,
   which the foretec-refine mu-plugin adds only in preview (or once switched live). */

body.ft-refine {
	--ft-navy: #1C2557;
	--ft-navy-2: #243070;
	--ft-ink: #172342;
	--ft-text: #4B566B;
	--ft-muted: #64718D;
	--ft-gold: #F5A623;
	--ft-gold-ink: #8A5A12;
	--ft-surface: #F7F8FB;
	--ft-tile: #F3F5F9;
	--ft-card: #FFFFFF;
	--ft-line: #E6E9F0;
	--ft-sale: #C62F3B;
	--ft-ok: #1F7A4D;
	--ft-r-card: 16px;
	--ft-r-ctl: 10px;
	--ft-shadow: 0 1px 2px rgba(23, 35, 66, .06), 0 8px 24px rgba(23, 35, 66, .06);
	--ft-shadow-hover: 0 2px 4px rgba(23, 35, 66, .06), 0 14px 32px rgba(23, 35, 66, .10);
	--ft-ease: cubic-bezier(.16, 1, .3, 1);
	--ft-display: "Poppins", "Inter", system-ui, sans-serif;
	--ft-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

	background: var(--ft-surface) !important;
	color: var(--ft-text);
	font-family: var(--ft-body);
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* ---------- Browser surfaces ---------- */
body.ft-refine ::selection { background: rgba(245, 166, 35, .28); color: var(--ft-ink); }
body.ft-refine { caret-color: var(--ft-navy); accent-color: var(--ft-navy); scrollbar-color: #C5CBD8 transparent; }
body.ft-refine a { text-underline-offset: 3px; }
body.ft-refine :focus-visible { outline: 2px solid var(--ft-gold); outline-offset: 2px; border-radius: 6px; }
body.ft-refine .price, body.ft-refine .amount, body.ft-refine table td { font-variant-numeric: tabular-nums; }

/* ---------- Type ---------- */
body.ft-refine h1, body.ft-refine h2, body.ft-refine h3, body.ft-refine h4, body.ft-refine h5, body.ft-refine h6,
body.ft-refine .elementor-heading-title,
body.ft-refine .page-title, body.ft-refine .entry-title, body.ft-refine .product_title {
	font-family: var(--ft-display) !important;
	color: var(--ft-ink);
	letter-spacing: -0.02em;
	text-wrap: balance;
}
body.ft-refine p, body.ft-refine li { text-wrap: pretty; }

/* ---------- Top bar + header ---------- */
body.ft-refine .top-bar { background: #fff; border-bottom: 1px solid var(--ft-line); font-size: 13px; }
body.ft-refine .top-bar a, body.ft-refine .top-bar li { color: var(--ft-muted) !important; }
body.ft-refine .top-bar a:hover { color: var(--ft-navy) !important; }
body.ft-refine #masthead { background: #fff; }
body.ft-refine .navbar-search .form-control,
body.ft-refine .navbar-search input[type="text"],
body.ft-refine .navbar-search input[type="search"] { font-family: var(--ft-body); font-size: 14px; color: var(--ft-ink); }
body.ft-refine .navbar-search .input-group { border-color: var(--ft-navy) !important; }
body.ft-refine .navbar-search .btn-secondary,
body.ft-refine .navbar-search button[type="submit"] { background: var(--ft-navy) !important; border-color: var(--ft-navy) !important; }
@media (min-width: 1200px) {
	body.ft-refine .electro-navbar-primary { background: var(--ft-navy) !important; }
	body.ft-refine .electro-navbar-primary .nav.navbar-nav > li > a { font-family: var(--ft-body); font-weight: 600; letter-spacing: .01em; }
	body.ft-refine .header-icon a, body.ft-refine .header-icons a, body.ft-refine .site-header a[data-bs-toggle="dropdown"] { background: var(--ft-navy) !important; transition: background .2s var(--ft-ease); }
	body.ft-refine .header-icon a:hover { background: var(--ft-ink) !important; }
}

/* ---------- Breadcrumb ---------- */
body.ft-refine .woocommerce-breadcrumb,
body.ft-refine nav.breadcrumb {
	font-size: 13px;
	color: var(--ft-muted);
	padding: 18px 0 10px;
	margin: 0;
	background: none !important;
}
body.ft-refine .woocommerce-breadcrumb a { color: var(--ft-muted); background: none !important; padding: 0 !important; }
body.ft-refine .woocommerce-breadcrumb a:hover { color: var(--ft-navy); }
body.ft-refine .woocommerce-breadcrumb .delimiter { margin: 0 8px; opacity: .6; font-size: 11px; }
@media (max-width: 767px) {
	body.ft-refine .woocommerce-breadcrumb { white-space: nowrap; overflow-x: auto; scrollbar-width: none; font-size: 12px; padding: 12px 0 6px; }
	body.ft-refine .woocommerce-breadcrumb::-webkit-scrollbar { display: none; }
}

/* ---------- Buttons ---------- */
body.ft-refine .button,
body.ft-refine button.button,
body.ft-refine a.button,
body.ft-refine input[type="submit"],
body.ft-refine .btn-primary,
body.ft-refine .wc-proceed-to-checkout .checkout-button,
body.ft-refine #place_order,
body.ft-refine .single_add_to_cart_button,
body.ft-refine .add_to_cart_button,
body.ft-refine .wc-forward {
	background: var(--ft-navy) !important;
	border: 1px solid var(--ft-navy) !important;
	color: #fff !important;
	font-family: var(--ft-display) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	border-radius: var(--ft-r-ctl) !important;
	min-height: 44px;
	padding: 10px 20px !important;
	box-shadow: none !important;
	transition: background-color .2s var(--ft-ease), transform .2s var(--ft-ease), box-shadow .2s var(--ft-ease);
}
body.ft-refine .button:hover,
body.ft-refine a.button:hover,
body.ft-refine input[type="submit"]:hover,
body.ft-refine .single_add_to_cart_button:hover,
body.ft-refine .add_to_cart_button:hover,
body.ft-refine #place_order:hover,
body.ft-refine .wc-proceed-to-checkout .checkout-button:hover {
	background: var(--ft-ink) !important;
	border-color: var(--ft-ink) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(28, 37, 87, .22) !important;
}
body.ft-refine .button:disabled,
body.ft-refine .button.disabled { opacity: .5 !important; transform: none !important; box-shadow: none !important; }
body.ft-refine .button.loading { opacity: .75 !important; }

/* ---------- Form fields ---------- */
body.ft-refine input[type="text"], body.ft-refine input[type="email"], body.ft-refine input[type="tel"],
body.ft-refine input[type="number"], body.ft-refine input[type="password"], body.ft-refine input[type="search"],
body.ft-refine select, body.ft-refine textarea,
body.ft-refine .select2-container .select2-selection--single {
	border: 1px solid #D5DAE5 !important;
	border-radius: var(--ft-r-ctl) !important;
	background: #fff;
	color: var(--ft-ink);
	font-family: var(--ft-body);
	font-size: 15px;
	min-height: 46px;
	box-shadow: none !important;
	transition: border-color .15s, box-shadow .15s;
}
body.ft-refine .select2-container .select2-selection--single { height: 46px !important; display: flex; align-items: center; }
body.ft-refine input:focus, body.ft-refine select:focus, body.ft-refine textarea:focus {
	border-color: var(--ft-navy) !important;
	box-shadow: 0 0 0 3px rgba(245, 166, 35, .28) !important;
	outline: none !important;
}
body.ft-refine ::placeholder { color: #7A859C; opacity: 1; }
body.ft-refine label { color: var(--ft-ink); font-weight: 500; }

/* ---------- Shop / category archive ---------- */
body.ft-refine.woocommerce-page .page-header { margin: 4px 0 18px; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
body.ft-refine.woocommerce-page .page-header .page-title { font-size: clamp(26px, 3vw, 34px); font-weight: 700; margin: 0; }
body.ft-refine .woocommerce-result-count { color: var(--ft-muted); font-size: 13px; margin: 0; }
body.ft-refine .shop-control-bar {
	background: #fff !important;
	border: 1px solid var(--ft-line);
	border-radius: 12px;
	padding: 8px 12px !important;
	margin-bottom: 20px;
	box-shadow: none;
}
body.ft-refine .shop-control-bar select { min-height: 38px; font-size: 13px; }
body.ft-refine .shop-view-switcher .nav-link { color: var(--ft-muted) !important; border-radius: 8px; }
body.ft-refine .shop-view-switcher .nav-link.active { color: var(--ft-navy) !important; background: var(--ft-tile) !important; }
body.ft-refine .handheld-sidebar-toggle .sidebar-toggler { border-radius: var(--ft-r-ctl); border: 1px solid var(--ft-line); background: #fff; color: var(--ft-ink); font-weight: 600; }

body.ft-refine ul.products { margin-left: -8px; margin-right: -8px; }
body.ft-refine ul.products li.product { padding: 8px !important; border: 0 !important; }
body.ft-refine ul.products li.product .product-outer { height: 100%; }
body.ft-refine ul.products li.product .product-inner {
	background: var(--ft-card);
	border: 1px solid var(--ft-line);
	border-radius: var(--ft-r-card);
	padding: 14px 14px 16px !important;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: none;
	transition: box-shadow .3s var(--ft-ease), transform .3s var(--ft-ease), border-color .3s;
}
body.ft-refine ul.products li.product:hover .product-inner {
	border-color: #DCE1EB;
	box-shadow: var(--ft-shadow-hover);
	transform: translateY(-2px);
}
body.ft-refine ul.products li.product .product-inner::before,
body.ft-refine ul.products li.product .product-inner::after { display: none !important; }
body.ft-refine ul.products li.product .loop-product-categories { display: none !important; }
body.ft-refine ul.products li.product .product-thumbnail {
	background: var(--ft-tile);
	border-radius: 12px;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 14px;
	margin: 0 0 14px !important;
	overflow: hidden;
}
body.ft-refine ul.products li.product .product-thumbnail img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform .5s var(--ft-ease);
}
body.ft-refine ul.products li.product:hover .product-thumbnail img { transform: scale(1.04); }
body.ft-refine ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--ft-body) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0;
	color: var(--ft-ink) !important;
	height: auto !important;
	min-height: calc(1.4em * 2);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 10px !important;
}
body.ft-refine ul.products li.product a:hover .woocommerce-loop-product__title { color: var(--ft-navy) !important; text-decoration: underline; text-decoration-thickness: 1px; }
body.ft-refine ul.products li.product .product-loop-header { order: 0; }
body.ft-refine ul.products li.product .product-loop-footer,
body.ft-refine ul.products li.product .price-add-to-cart { margin-top: auto; }
body.ft-refine ul.products li.product .price {
	font-family: var(--ft-display) !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	color: var(--ft-ink) !important;
	line-height: 1.3;
}
body.ft-refine ul.products li.product .price del { color: var(--ft-muted) !important; font-weight: 500; font-size: 13px; opacity: 1; margin-right: 6px; }
body.ft-refine ul.products li.product .price ins { color: var(--ft-sale) !important; text-decoration: none; }
body.ft-refine ul.products li.product .star-rating { font-size: 11px; }
body.ft-refine ul.products li.product .product-rating { color: var(--ft-muted); font-size: 12px; }
body.ft-refine ul.products li.product .button,
body.ft-refine ul.products li.product .merchant-buy-now-button {
	width: 100%;
	justify-content: center;
	display: inline-flex;
	align-items: center;
	margin-top: 12px;
}
body.ft-refine ul.products li.product .hover-area { display: none !important; }
body.ft-refine .onsale, body.ft-refine .ec-sale-badge {
	background: var(--ft-sale) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-family: var(--ft-display);
	font-weight: 600;
	font-size: 11px !important;
	padding: 4px 10px !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1.4 !important;
}
body.ft-refine .woocommerce-pagination ul.page-numbers { border: 0 !important; display: flex; gap: 6px; justify-content: center; }
body.ft-refine .woocommerce-pagination .page-numbers li { border: 0 !important; }
body.ft-refine .woocommerce-pagination .page-numbers a,
body.ft-refine .woocommerce-pagination .page-numbers span {
	min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: var(--ft-r-ctl) !important; border: 1px solid var(--ft-line) !important; background: #fff; color: var(--ft-ink); font-weight: 600;
}
body.ft-refine .woocommerce-pagination .page-numbers .current { background: var(--ft-navy) !important; border-color: var(--ft-navy) !important; color: #fff !important; }

@media (max-width: 767px) {
	body.ft-refine ul.products li.product { padding: 5px !important; }
	body.ft-refine ul.products li.product .product-inner { padding: 10px 10px 12px !important; border-radius: 14px; }
	body.ft-refine ul.products li.product .product-thumbnail { padding: 8px; margin-bottom: 10px !important; border-radius: 10px; }
	body.ft-refine ul.products li.product .woocommerce-loop-product__title { font-size: 13px !important; }
	body.ft-refine ul.products li.product .price { font-size: 15px !important; }
	body.ft-refine ul.products li.product .button { font-size: 13px !important; padding: 8px 10px !important; min-height: 40px; }
}

/* ---------- Single product ---------- */
body.ft-refine.single-product .product_title,
body.ft-refine.single-product .woolentor-product-title,
body.ft-refine.single-product h1 {
	font-size: clamp(22px, 2.4vw, 30px) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: var(--ft-ink) !important;
}
body.ft-refine.single-product .price,
body.ft-refine.single-product .woolentor-product-price .price {
	font-family: var(--ft-display) !important;
	font-weight: 700 !important;
	color: var(--ft-ink) !important;
	font-size: clamp(24px, 2.4vw, 30px) !important;
}
body.ft-refine.single-product .price del { color: var(--ft-muted) !important; font-size: .6em !important; font-weight: 500 !important; margin-right: 8px; }
body.ft-refine.single-product .price ins { color: var(--ft-sale) !important; text-decoration: none; }
body.ft-refine.single-product .woocommerce-product-details__short-description,
body.ft-refine.single-product .woolentor-product-description { color: var(--ft-text) !important; font-size: 15px !important; line-height: 1.7 !important; }
body.ft-refine.single-product .quantity .qty { min-height: 48px; border-radius: var(--ft-r-ctl) !important; width: 76px; text-align: center; }
body.ft-refine.single-product .single_add_to_cart_button,
body.ft-refine.single-product .merchant-buy-now-button { min-height: 48px; }
body.ft-refine.single-product .merchant-buy-now-button,
body.ft-refine .merchant_buy_now_button {
	background: #fff !important;
	color: var(--ft-navy) !important;
	border: 1.5px solid var(--ft-navy) !important;
	border-radius: var(--ft-r-ctl) !important;
	font-family: var(--ft-display) !important;
	font-weight: 600 !important;
}
body.ft-refine.single-product .merchant-buy-now-button:hover { background: var(--ft-tile) !important; }
body.ft-refine .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--ft-line) !important; display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-start; padding: 0 !important; }
body.ft-refine .woocommerce-tabs ul.tabs li { border: 0 !important; background: none !important; margin: 0 !important; }
body.ft-refine .woocommerce-tabs ul.tabs li a {
	font-family: var(--ft-display); font-weight: 600; font-size: 15px; color: var(--ft-muted) !important;
	padding: 12px 18px !important; border-bottom: 2px solid transparent; display: block;
}
body.ft-refine .woocommerce-tabs ul.tabs li.active a { color: var(--ft-ink) !important; border-bottom-color: var(--ft-navy); }
body.ft-refine .woocommerce-tabs ul.tabs li::before, body.ft-refine .woocommerce-tabs ul.tabs li::after { display: none !important; }
body.ft-refine .woocommerce-tabs .panel { background: #fff; border: 1px solid var(--ft-line) !important; border-radius: var(--ft-r-card); padding: clamp(18px, 3vw, 36px) !important; box-shadow: none !important; margin-top: 18px; }
body.ft-refine table.shop_attributes { border: 0 !important; }
body.ft-refine table.shop_attributes th, body.ft-refine table.shop_attributes td { border-color: var(--ft-line) !important; padding: 12px 14px !important; font-style: normal; }
body.ft-refine table.shop_attributes th { color: var(--ft-ink); font-weight: 600; background: var(--ft-surface); }
body.ft-refine .woocommerce-product-gallery__image img,
body.ft-refine .woocommerce-product-gallery .flex-viewport { border-radius: var(--ft-r-card); }
body.ft-refine .flex-control-thumbs li img { border-radius: 10px; border: 1px solid var(--ft-line); padding: 4px; background: #fff; opacity: .7; transition: opacity .2s, border-color .2s; }
body.ft-refine .flex-control-thumbs li img.flex-active, body.ft-refine .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--ft-navy); }

/* ---------- Cart / checkout / account ---------- */
body.ft-refine .cart-empty,
body.ft-refine .woocommerce-info,
body.ft-refine .woocommerce-message,
body.ft-refine .woocommerce-error {
	background: #fff !important;
	color: var(--ft-ink) !important;
	border: 1px solid var(--ft-line) !important;
	border-radius: var(--ft-r-card) !important;
	box-shadow: none !important;
	font-size: 15px !important;
	padding: 18px 22px 18px 52px !important;
	position: relative;
}
body.ft-refine .cart-empty { font-family: var(--ft-display) !important; font-size: clamp(20px, 2.4vw, 26px) !important; font-weight: 600; text-align: center; padding: 48px 24px 20px !important; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; border-bottom: 0 !important; margin: 0 !important; }
body.ft-refine .cart-empty::before { display: none !important; }
body.ft-refine .return-to-shop { background: #fff; border: 1px solid var(--ft-line); border-top: 0; border-radius: 0 0 var(--ft-r-card) var(--ft-r-card); text-align: center; padding: 0 24px 40px; margin: 0 0 40px !important; }
body.ft-refine .woocommerce-message { border-color: rgba(31, 122, 77, .3) !important; }
body.ft-refine .woocommerce-error { border-color: rgba(198, 47, 59, .35) !important; }
body.ft-refine .woocommerce-info::before, body.ft-refine .woocommerce-message::before, body.ft-refine .woocommerce-error::before { left: 20px !important; top: 50% !important; transform: translateY(-50%); color: var(--ft-navy) !important; }
body.ft-refine .woocommerce-message::before { color: var(--ft-ok) !important; }
body.ft-refine .woocommerce-error::before { color: var(--ft-sale) !important; }
body.ft-refine table.shop_table {
	background: #fff;
	border: 1px solid var(--ft-line) !important;
	border-radius: var(--ft-r-card) !important;
	border-collapse: separate !important;
	overflow: hidden;
}
body.ft-refine table.shop_table th { font-family: var(--ft-display); color: var(--ft-ink); font-weight: 600; font-size: 13px; background: var(--ft-surface); }
body.ft-refine table.shop_table th, body.ft-refine table.shop_table td { border-color: var(--ft-line) !important; padding: 14px 16px !important; }
body.ft-refine table.shop_table td.product-name a { color: var(--ft-ink); font-weight: 600; }
body.ft-refine table.shop_table .product-thumbnail img { border-radius: 10px; background: var(--ft-tile); }
body.ft-refine .cart_totals, body.ft-refine .woocommerce-checkout-review-order, body.ft-refine #customer_details .col-1, body.ft-refine #customer_details .col-2 {
	background: #fff; border: 1px solid var(--ft-line); border-radius: var(--ft-r-card); padding: clamp(16px, 2.4vw, 28px);
}
body.ft-refine .cart_totals h2, body.ft-refine #order_review_heading, body.ft-refine .woocommerce-billing-fields h3, body.ft-refine .woocommerce-additional-fields h3 { font-size: 20px !important; font-weight: 600; margin-bottom: 14px; }
body.ft-refine #payment { background: var(--ft-surface) !important; border-radius: 12px !important; }
body.ft-refine #payment ul.payment_methods { border-bottom-color: var(--ft-line) !important; }
body.ft-refine #payment div.payment_box { background: #fff !important; border-radius: 10px; color: var(--ft-text); }
body.ft-refine #payment div.payment_box::before { border-bottom-color: #fff !important; }
body.ft-refine .woocommerce-MyAccount-navigation ul { background: #fff; border: 1px solid var(--ft-line); border-radius: var(--ft-r-card); padding: 8px !important; }
body.ft-refine .woocommerce-MyAccount-navigation ul li a { border-radius: 10px; padding: 10px 14px !important; color: var(--ft-ink); display: block; }
body.ft-refine .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--ft-tile); color: var(--ft-navy); font-weight: 600; }

/* ---------- Floating widgets ---------- */
@media (max-width: 1199px) {
	body.ft-refine.single-product .wa__btn_popup { bottom: 104px !important; }
	body.ft-refine.single-product .wa__btn_popup .wa__btn_popup_txt { display: none !important; }
}
body.ft-refine .woolentor-add-to-cart-sticky { border-top: 1px solid var(--ft-line); box-shadow: 0 -8px 24px rgba(23, 35, 66, .08) !important; }
body.ft-refine .woolentor-add-to-cart-sticky .price, body.ft-refine .woolentor-add-to-cart-sticky .amount { color: var(--ft-ink) !important; font-family: var(--ft-display) !important; font-weight: 700 !important; }

/* ---------- Motion safety ---------- */
@media (prefers-reduced-motion: reduce) {
	body.ft-refine *, body.ft-refine *::before, body.ft-refine *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ---------- Fixes after first preview pass ---------- */
/* Search bar: one pill, not separate fields */
body.ft-refine .navbar-search input,
body.ft-refine .navbar-search select {
	border: 0 !important; border-radius: 0 !important; min-height: 0 !important; box-shadow: none !important; background: transparent !important;
}
body.ft-refine .navbar-search .input-group { border: 1.5px solid var(--ft-navy) !important; border-radius: 999px !important; background: #fff; overflow: hidden; }
body.ft-refine .navbar-search .input-group:focus-within { box-shadow: 0 0 0 3px rgba(245, 166, 35, .28); }
body.ft-refine .navbar-search .input-group > * { border: 0 !important; }
body.ft-refine .navbar-search .input-group-addon,
body.ft-refine .navbar-search .search-categories { border-left: 1px solid var(--ft-line) !important; }
body.ft-refine .navbar-search .input-group-btn button,
body.ft-refine .navbar-search button { border-radius: 0 999px 999px 0 !important; }

/* Product card: photo first, then title */
body.ft-refine ul.products li.product .product-loop-header > a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; }
body.ft-refine ul.products li.product .product-loop-header .product-thumbnail { order: -1; }
/* "View product" icon button beside the price */
body.ft-refine ul.products li.product .price-add-to-cart { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
body.ft-refine ul.products li.product .price-add-to-cart .add-to-cart-wrap .button {
	width: 40px !important; height: 40px !important; min-height: 40px !important; padding: 0 !important; margin: 0 !important;
	background: #fff !important; border: 1px solid var(--ft-line) !important; color: var(--ft-navy) !important;
	display: inline-flex !important; align-items: center; justify-content: center; font-size: 0 !important; transform: none !important; box-shadow: none !important;
}
body.ft-refine ul.products li.product .price-add-to-cart .add-to-cart-wrap .button::before,
body.ft-refine ul.products li.product .price-add-to-cart .add-to-cart-wrap .button::after {
	background: transparent !important; color: var(--ft-navy) !important; font-size: 16px !important; width: auto !important; height: auto !important; position: static !important; margin: 0 !important; line-height: 1 !important;
}
body.ft-refine ul.products li.product .price-add-to-cart .add-to-cart-wrap .button:hover { background: var(--ft-tile) !important; border-color: var(--ft-navy) !important; }

/* Single product: one price colour (sale keeps red) */
body.ft-refine.single-product .elementor-widget-wl-single-product-price .price,
body.ft-refine.single-product .elementor-widget-wl-single-product-price .price .amount,
body.ft-refine.single-product .elementor-widget-wl-single-product-price .price bdi { color: var(--ft-ink) !important; }
body.ft-refine.single-product .elementor-widget-wl-single-product-price .price ins,
body.ft-refine.single-product .elementor-widget-wl-single-product-price .price ins .amount,
body.ft-refine.single-product .elementor-widget-wl-single-product-price .price ins bdi { color: var(--ft-sale) !important; }
body.ft-refine.single-product .elementor-widget-wl-single-product-price .price del .amount { color: var(--ft-muted) !important; }
/* Buy Now beside Add to cart: outlined secondary */
body.ft-refine.single-product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
body.ft-refine.single-product form.cart .merchant-buy-now-button,
body.ft-refine.single-product form.cart .merchant-buy-now-button * { color: var(--ft-navy) !important; -webkit-text-fill-color: var(--ft-navy); }
body.ft-refine.single-product form.cart .merchant-buy-now-button { background: #fff !important; border: 1.5px solid var(--ft-navy) !important; padding: 10px 22px !important; }
body.ft-refine.single-product form.cart .merchant-buy-now-button:hover { background: var(--ft-tile) !important; box-shadow: none !important; }

/* ---------- Redesigned info pages (Elementor drafts) ---------- */
body.ft-refine .ft-crumb { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--ft-muted); flex-wrap: wrap; }
body.ft-refine .ft-crumb a { color: var(--ft-muted); text-decoration: none; }
body.ft-refine .ft-crumb a:hover { color: var(--ft-navy); text-decoration: underline; }
body.ft-refine .ft-crumb span[aria-hidden] { opacity: .6; }
body.ft-refine .elementor-widget-text-editor a { color: var(--ft-navy); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(28, 37, 87, .3); }
body.ft-refine .elementor-widget-text-editor a:hover { text-decoration-color: var(--ft-gold); }
body.ft-refine .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
body.ft-refine .elementor-widget-text-editor ul { padding-left: 1.2em; margin: 0; display: grid; gap: 8px; }
body.ft-refine .elementor-widget-text-editor li::marker { color: var(--ft-navy); }
body.ft-refine .ft-narrow { max-width: 880px; }

body.ft-refine .ft-contact-strip { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body.ft-refine .ft-contact-strip li { background: #fff; border: 1px solid var(--ft-line); border-radius: 14px; padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.ft-refine .ft-contact-strip .ft-k { font-size: 12px; font-weight: 600; color: var(--ft-muted); }
body.ft-refine .ft-contact-strip a, body.ft-refine .ft-contact-strip li > span:not(.ft-k) { color: var(--ft-ink); font-weight: 600; font-size: 15px; text-decoration: none; overflow-wrap: anywhere; }
body.ft-refine .ft-contact-strip a:hover { color: var(--ft-navy); text-decoration: underline; }
@media (max-width: 1024px) { body.ft-refine .ft-contact-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { body.ft-refine .ft-contact-strip { grid-template-columns: 1fr; } }

body.ft-refine .ft-facts { margin: 0; display: grid; gap: 4px; }
body.ft-refine .ft-facts dt { font-size: 12px; font-weight: 600; color: var(--ft-muted); margin-top: 10px; }
body.ft-refine .ft-facts dt:first-child { margin-top: 0; }
body.ft-refine .ft-facts dd { margin: 0; color: var(--ft-ink); font-size: 15px; line-height: 1.55; }
body.ft-refine .ft-facts a { color: var(--ft-navy); font-weight: 600; }

body.ft-refine .ft-note { margin: 0; background: #FFF8EC; border: 1px solid #F3DDB4; border-radius: 12px; padding: 14px 16px; color: #5A4520; font-size: 14px; line-height: 1.6; }
body.ft-refine .ft-note strong { color: #3E2F12; }

body.ft-refine .ft-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--ft-line); border-radius: 12px; overflow: hidden; margin: 0; font-size: 15px; }
body.ft-refine .ft-table th { background: var(--ft-surface); color: var(--ft-ink); font-family: var(--ft-display); font-weight: 600; font-size: 13px; text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--ft-line); }
body.ft-refine .ft-table td { padding: 16px; color: var(--ft-text); border: 0; }
body.ft-refine .ft-table td strong { color: var(--ft-ink); font-family: var(--ft-display); }
@media (max-width: 560px) { body.ft-refine .ft-table th, body.ft-refine .ft-table td { padding: 10px; font-size: 13px; } }

body.ft-refine .ft-steps { list-style: none; counter-reset: ftstep; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.ft-refine .ft-steps li { counter-increment: ftstep; position: relative; background: var(--ft-surface); border-radius: 14px; padding: 20px 20px 20px 66px; }
body.ft-refine .ft-steps li::before { content: counter(ftstep); position: absolute; left: 20px; top: 20px; width: 32px; height: 32px; border-radius: 50%; background: var(--ft-navy); color: #fff; font-family: var(--ft-display); font-weight: 700; font-size: 14px; display: grid; place-items: center; }
body.ft-refine .ft-steps h3 { margin: 4px 0 6px; font-size: 16px; font-weight: 600; color: var(--ft-ink); }
body.ft-refine .ft-steps p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--ft-text); }
body.ft-refine .ft-steps a { color: var(--ft-navy); font-weight: 600; }
@media (max-width: 767px) { body.ft-refine .ft-steps { grid-template-columns: 1fr; } }

body.ft-refine .ft-benefits { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--ft-line); }
body.ft-refine .ft-benefits li { padding: 22px 24px 22px 0; border-bottom: 1px solid var(--ft-line); }
body.ft-refine .ft-benefits h3 { font-size: 17px; font-weight: 600; margin: 0 0 6px; color: var(--ft-ink); }
body.ft-refine .ft-benefits p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--ft-text); }
@media (max-width: 1024px) { body.ft-refine .ft-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body.ft-refine .ft-benefits { grid-template-columns: 1fr; } body.ft-refine .ft-benefits li { padding-right: 0; } }

body.ft-refine .ft-map { border-radius: 12px; overflow: hidden; border: 1px solid var(--ft-line); aspect-ratio: 16 / 7; min-height: 280px; }
body.ft-refine .ft-map iframe { width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 767px) { body.ft-refine .ft-map { aspect-ratio: 4 / 3; } }

body.ft-refine .elementor-widget-accordion .elementor-accordion { background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid var(--ft-line); }
body.ft-refine .elementor-widget-accordion .elementor-accordion-item { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; }
body.ft-refine .elementor-widget-accordion .elementor-accordion-item:last-child { border-bottom: 0 !important; }
body.ft-refine .elementor-widget-accordion .elementor-tab-title { display: flex; align-items: center; gap: 12px; }
body.ft-refine .elementor-widget-accordion .elementor-tab-title .elementor-accordion-icon { order: 2; margin-left: auto; }
body.ft-refine .elementor-widget-form .elementor-field-group > label { font-weight: 600; font-size: 14px; }
body.ft-refine .elementor-widget-form .elementor-button { min-height: 48px; }

/* ---------- Redesigned footer ---------- */
body.ft-refine .ft-foot-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; color: var(--ft-text); }
body.ft-refine .ft-foot-contact a { color: var(--ft-ink); text-decoration: none; font-weight: 500; }
body.ft-refine .ft-foot-contact a:hover { color: var(--ft-navy); text-decoration: underline; }
body.ft-refine .ft-footer .elementor-nav-menu a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
	body.ft-refine .ft-footer .e-con.e-child > .e-con-inner > .e-con, body.ft-refine .ft-footer [data-element_type="container"] [data-element_type="container"] [data-element_type="container"] { min-width: 0; }
}

/* Form submit + footer socials */
body.ft-refine .elementor-widget-form .elementor-button { background: var(--ft-navy) !important; color: #fff !important; border-radius: var(--ft-r-ctl) !important; font-family: var(--ft-display) !important; font-weight: 600 !important; }
body.ft-refine .elementor-widget-form .elementor-button:hover { background: var(--ft-ink) !important; }
body.ft-refine .elementor-widget-form .elementor-message-success { color: var(--ft-ok); }
body.ft-refine .elementor-widget-form .elementor-message-danger, body.ft-refine .elementor-widget-form .elementor-error .elementor-message { color: var(--ft-sale); }
body.ft-refine .ft-footer .elementor-social-icons-wrapper { justify-content: flex-start !important; text-align: left; }
body.ft-refine .ft-footer .elementor-widget-social-icons { --justify-content: flex-start; }

/* ---------- Polish pass 2 (2026-10-14, after go-live) ---------- */
/* Notices: WooCommerce focuses them for screen readers; no gold ring on a non-control */
body.ft-refine .woocommerce-message:focus, body.ft-refine .woocommerce-info:focus, body.ft-refine .woocommerce-error:focus,
body.ft-refine .woocommerce-notices-wrapper:focus, body.ft-refine [role="alert"]:focus { outline: none !important; }
body.ft-refine .woocommerce-message { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
body.ft-refine .woocommerce-message .button { order: 2; margin: 0 !important; float: none !important; }

/* Cart totals: one card, not a card inside a card */
body.ft-refine .cart_totals table.shop_table { border: 0 !important; border-radius: 0 !important; background: transparent; }
body.ft-refine .cart_totals table.shop_table th { background: transparent; padding-left: 0 !important; font-size: 14px; }
body.ft-refine .cart_totals table.shop_table td { padding-right: 0 !important; text-align: right; }
body.ft-refine .cart_totals .order-total th, body.ft-refine .cart_totals .order-total td { font-family: var(--ft-display); font-size: 17px; color: var(--ft-ink); }
body.ft-refine .cart_totals h2::after, body.ft-refine #order_review_heading::after, body.ft-refine form.checkout h3::after { display: none !important; }
body.ft-refine .cart_totals h2, body.ft-refine form.checkout h3, body.ft-refine #order_review_heading { border-bottom: 0 !important; padding-bottom: 0 !important; }
body.ft-refine .wc-proceed-to-checkout .checkout-button { width: 100%; justify-content: center; display: flex !important; min-height: 52px; }
@media (min-width: 992px) {
	body.ft-refine .cart-collaterals { display: flex; justify-content: flex-end; }
	body.ft-refine .cart-collaterals .cart_totals { width: 420px !important; float: none !important; margin-top: 8px; }
}

/* Checkout: one white card around the order review, consistent headings */
body.ft-refine .order-review-wrapper { background: #fff !important; border: 1px solid var(--ft-line); border-radius: var(--ft-r-card); padding: clamp(16px, 2.4vw, 28px) !important; }
body.ft-refine .order-review-wrapper .woocommerce-checkout-review-order { border: 0 !important; padding: 0 !important; background: transparent !important; }
body.ft-refine form.checkout h3, body.ft-refine #order_review_heading { font-size: 20px !important; font-weight: 600 !important; margin: 0 0 16px !important; }
body.ft-refine form.checkout h3#ship-to-different-address { font-size: 15px !important; font-family: var(--ft-body) !important; font-weight: 500 !important; }
body.ft-refine #customer_details .col-1, body.ft-refine #customer_details .col-2 { margin-bottom: 18px; }
body.ft-refine #payment ul.payment_methods li { padding: 14px 16px !important; border-bottom: 1px solid var(--ft-line); }
body.ft-refine #payment ul.payment_methods li label { font-weight: 600; color: var(--ft-ink); }
body.ft-refine #payment .place-order { padding: 16px !important; }
body.ft-refine #place_order { width: 100%; min-height: 52px; font-size: 16px !important; }
body.ft-refine .woocommerce-terms-and-conditions-wrapper a { color: var(--ft-navy); }

/* Phones: one sticky add-to-cart bar (Electro's), tabs that scroll, quieter floating buttons */
@media (max-width: 767px) {
	body.ft-refine .woolentor-add-to-cart-sticky { display: none !important; }
	body.ft-refine .woocommerce-tabs ul.tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	body.ft-refine .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
	body.ft-refine .woocommerce-tabs ul.tabs li a { white-space: nowrap; padding: 12px 14px !important; }
	body.ft-refine .wa__btn_popup .wa__btn_popup_txt { display: none !important; }
	body.ft-refine #scrollUp, body.ft-refine .merchant-scroll-to-top-button, body.ft-refine .back-to-top-link { display: none !important; }
	body.ft-refine.single-product form.cart { align-items: center; }
}
body.ft-refine .order-review-wrapper table.shop_table { border: 0 !important; border-radius: 0 !important; background: transparent; }
body.ft-refine .order-review-wrapper table.shop_table th { background: transparent; padding-left: 0 !important; }
body.ft-refine .order-review-wrapper table.shop_table td:last-child, body.ft-refine .order-review-wrapper table.shop_table th:last-child { padding-right: 0 !important; text-align: right; }
body.ft-refine .order-review-wrapper .order-total th, body.ft-refine .order-review-wrapper .order-total td { font-family: var(--ft-display); font-size: 17px; color: var(--ft-ink); }
body.ft-refine .order-review-wrapper .cf-turnstile, body.ft-refine .order-review-wrapper [class*="turnstile"] { margin: 16px 0 12px; }
