/* ==========================================================================
   3D FIXIK — PREMIUM DESIGN SYSTEM
   ========================================================================== */

:root{
	--fx-ink:#1A1A1B;
	--fx-ink-2:#232426;
	--fx-ink-3:#313235;
	--fx-text:#1F1E1C;
	--fx-muted:#6E6A63;
	--fx-line:#E4E0D9;
	--fx-bg:#F6F4F1;
	--fx-surface:#FFFFFF;
	--fx-accent:#C2662E;
	--fx-accent-2:#A8541F;
	--fx-accent-soft:rgba(194,102,46,.10);
	--fx-r:16px;
	--fx-r-lg:22px;
	--fx-sh-1:0 1px 2px rgba(31,30,28,.05), 0 6px 16px rgba(31,30,28,.05);
	--fx-sh-2:0 2px 4px rgba(31,30,28,.05), 0 14px 34px rgba(31,30,28,.09);
	--fx-sh-3:0 4px 8px rgba(31,30,28,.06), 0 26px 60px rgba(31,30,28,.14);
	--fx-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Typography ---------- */
body,
button, input, select, textarea,
.ast-button, .ast-custom-button{
	font-family:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
	font-size:16.5px;
	line-height:1.68;
	color:var(--fx-text);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
body{background:var(--fx-bg);}

h1,h2,h3,h4,h5,h6,
.entry-content :where(h1,h2,h3,h4,h5,h6),
.site-title,.entry-title,
.woocommerce-loop-product__title,
.product_title,
.widget-title{
	font-family:"Manrope","Inter",system-ui,sans-serif;
	color:var(--fx-ink);
	font-weight:700;
	letter-spacing:-.021em;
	line-height:1.16;
}
h1,.entry-content :where(h1){font-size:clamp(34px,4.4vw,52px);font-weight:800;}
h2,.entry-content :where(h2){font-size:clamp(26px,3vw,36px);}
h3,.entry-content :where(h3){font-size:21px;}
p{color:var(--fx-text);}

a{color:var(--fx-accent);text-decoration:none;transition:color .2s var(--fx-ease);}
a:hover,a:focus{color:var(--fx-accent-2);}

::selection{background:var(--fx-accent);color:#fff;}

/* ---------- Layout helpers ---------- */
.fx-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(20px,4vw,32px);}
.fx-sec{padding:clamp(56px,7vw,96px) 0;}
.fx-sec--tight{padding:clamp(40px,5vw,64px) 0;}

.fx-eyebrow{
	display:inline-block;
	font-family:"Manrope",sans-serif;
	font-size:12px;font-weight:700;
	letter-spacing:.16em;text-transform:uppercase;
	color:var(--fx-accent);
	margin-bottom:16px;
}
.fx-eyebrow--dark{color:var(--fx-accent);}

.fx-head{max-width:620px;margin:0 auto clamp(32px,4vw,52px);text-align:center;}
.fx-head h2{margin:0 0 12px;}
.fx-head p{color:var(--fx-muted);font-size:17px;margin:0;}

/* ---------- Buttons ---------- */
.fx-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:9px;
	font-family:"Manrope",sans-serif;font-weight:700;font-size:15.5px;
	letter-spacing:-.01em;
	padding:15px 30px;border-radius:12px;
	border:1.5px solid transparent;
	transition:transform .3s var(--fx-ease), box-shadow .3s var(--fx-ease), background-color .25s, border-color .25s, color .25s;
	will-change:transform;
}
.fx-btn--primary{
	background:linear-gradient(180deg,var(--fx-accent-2),var(--fx-accent));
	color:#fff!important;
	box-shadow:0 2px 6px rgba(194,102,46,.28), 0 12px 26px rgba(194,102,46,.26);
}
.fx-btn--primary:hover{
	transform:translateY(-2px);
	box-shadow:0 4px 10px rgba(194,102,46,.30), 0 18px 38px rgba(194,102,46,.34);
	color:#fff!important;
}
.fx-btn--ghost{
	background:rgba(255,255,255,.05);
	color:#fff!important;
	border-color:rgba(255,255,255,.26);
	backdrop-filter:blur(6px);
}
.fx-btn--ghost:hover{
	background:rgba(255,255,255,.12);
	border-color:rgba(255,255,255,.55);
	transform:translateY(-2px);
	color:#fff!important;
}
.fx-cta__act .fx-btn--ghost{border-color:rgba(255,255,255,.3);}

/* ==========================================================================
   HERO
   ========================================================================== */
.fx-hero{
	position:relative;
	background:
		radial-gradient(880px 500px at 80% 16%, rgba(194,102,46,.11), transparent 60%),
		radial-gradient(820px 520px at 8% 88%, rgba(160,152,140,.24), transparent 66%),
		linear-gradient(152deg,#202021 0%,#26272A 55%,#2B2C2E 100%);
	overflow:hidden;
	isolation:isolate;
}
.fx-hero::before{
	content:"";position:absolute;inset:0;z-index:0;
	background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
		linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
	background-size:64px 64px;
	mask-image:radial-gradient(circle at 50% 45%,#000 30%,transparent 78%);
	-webkit-mask-image:radial-gradient(circle at 50% 45%,#000 30%,transparent 78%);
}
.fx-hero__inner{
	position:relative;z-index:2;
	width:100%;max-width:1200px;margin:0 auto;
	padding:clamp(62px,8vw,104px) clamp(20px,4vw,32px) clamp(70px,8vw,110px);
	display:grid;grid-template-columns:1.02fr .98fr;
	align-items:center;gap:clamp(28px,4vw,56px);
}
.fx-hero__fade{
	position:absolute;left:0;right:0;bottom:0;height:110px;z-index:1;
	background:linear-gradient(180deg,transparent,var(--fx-bg));
	pointer-events:none;
}
.fx-hero__copy h1{
	color:#fff;margin:0 0 14px;
	font-size:clamp(27px,3.4vw,42px);
	letter-spacing:-.028em;line-height:1.12;
}
/* Headline is one plain white phrase now — the orange is reserved for the
   primary CTA so the page reads calmer. */
.fx-hero__copy h1 em{
	font-style:normal;
	background:linear-gradient(94deg,#EFC49B 0%,#D4854A 55%,#C2662E 100%);
	-webkit-background-clip:text;background-clip:text;
	-webkit-text-fill-color:transparent;color:transparent;
}
.fx-hero__copy p{
	color:#B5AFA6;font-size:clamp(14.5px,1.25vw,16px);
	line-height:1.6;margin:0 0 18px;max-width:440px;
}
.fx-hero__actions{display:flex;gap:14px;flex-wrap:wrap;}
.fx-hero__meta{
	list-style:none;margin:38px 0 0;padding:26px 0 0;
	display:flex;gap:clamp(20px,3.4vw,42px);flex-wrap:wrap;
	border-top:1px solid rgba(255,255,255,.10);
}
.fx-hero__meta li{display:flex;flex-direction:column;gap:2px;}
.fx-hero__meta b{
	font-family:"Manrope",sans-serif;color:#fff;
	font-size:19px;font-weight:800;letter-spacing:-.02em;
}
.fx-hero__meta span{color:#9A948B;font-size:13.5px;}

/* hero art */
.fx-hero__art{
	position:relative;min-height:clamp(300px,34vw,430px);
	display:flex;align-items:center;justify-content:center;
}
.fx-hero__halo{
	position:absolute;width:min(430px,92%);aspect-ratio:1;border-radius:50%;
	background:radial-gradient(circle,rgba(194,102,46,.34) 0%,rgba(194,102,46,.09) 45%,transparent 70%);
	filter:blur(6px);
	animation:fx-halo 6s ease-in-out infinite;
}
@keyframes fx-halo{
	0%,100%{transform:scale(1);opacity:.85;}
	50%{transform:scale(1.1);opacity:1;}
}
.fx-hero__tilt{
	position:relative;width:100%;
	transform:perspective(900px);
	transition:transform .45s var(--fx-ease);
	will-change:transform;
	translate:0 var(--scroll,0px);
}
.gears-svg{width:100%;height:auto;overflow:visible;display:block;}
.gears-svg .gear{
	transform-box:view-box;
	transform-origin:var(--cx) var(--cy);
}
@keyframes fx-spin-cw{from{transform:rotate(var(--off));}to{transform:rotate(calc(var(--off) + 360deg));}}
@keyframes fx-spin-ccw{from{transform:rotate(var(--off));}to{transform:rotate(calc(var(--off) - 360deg));}}
.gears-svg .gear-a{animation:fx-spin-cw 24s linear infinite;}
.gears-svg .gear-b{animation:fx-spin-ccw 16s linear infinite;}
.gears-svg .gear-c{animation:fx-spin-ccw 12s linear infinite;}

/* entrance */
.fx-rise{opacity:0;transform:translateY(20px);animation:fx-rise .85s var(--fx-ease) forwards;}
.fx-rise-1{animation-delay:.05s}
.fx-rise-2{animation-delay:.16s}
.fx-rise-3{animation-delay:.28s}
.fx-rise-4{animation-delay:.40s}
.fx-rise-5{animation-delay:.52s}
@keyframes fx-rise{to{opacity:1;transform:translateY(0);}}

/* ==========================================================================
   PILLARS
   ========================================================================== */
.fx-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);}
.fx-pillar{
	background:var(--fx-surface);
	border-radius:var(--fx-r-lg);
	padding:clamp(26px,3vw,34px);
	box-shadow:var(--fx-sh-1);
	transition:transform .38s var(--fx-ease), box-shadow .38s var(--fx-ease);
}
.fx-pillar:hover{transform:translateY(-4px);box-shadow:var(--fx-sh-2);}
.fx-pillar__ic{
	width:50px;height:50px;border-radius:14px;
	display:grid;place-items:center;margin-bottom:18px;
	background:var(--fx-accent-soft);color:var(--fx-accent);
}
.fx-pillar__ic svg{width:24px;height:24px;}
.fx-pillar h3{margin:0 0 8px;font-size:19px;}
.fx-pillar p{margin:0;color:var(--fx-muted);font-size:15.5px;line-height:1.6;}

/* ==========================================================================
   CATEGORIES
   ========================================================================== */
.fx-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,26px);}
.fx-cat{
	position:relative;display:block;
	background:var(--fx-surface);
	border-radius:var(--fx-r-lg);
	padding:clamp(28px,3vw,36px);
	box-shadow:var(--fx-sh-1);
	transition:transform .38s var(--fx-ease), box-shadow .38s var(--fx-ease);
	overflow:hidden;
}
.fx-cat__ic{
	width:56px;height:56px;border-radius:16px;
	display:grid;place-items:center;margin-bottom:20px;
	background:var(--fx-accent-soft);color:var(--fx-accent);
	transition:transform .38s var(--fx-ease);
}
.fx-cat__ic svg{width:27px;height:27px;}
.fx-cat h3{margin:0 0 9px;font-size:20px;}
.fx-cat p{margin:0;color:var(--fx-muted);font-size:15.5px;line-height:1.6;}

.fx-cat--live{color:inherit;}
.fx-cat--live::after{
	content:"";position:absolute;inset:0;border-radius:inherit;
	background:linear-gradient(180deg,rgba(194,102,46,0),rgba(194,102,46,.05));
	opacity:0;transition:opacity .38s var(--fx-ease);pointer-events:none;
}
.fx-cat--live:hover{transform:translateY(-5px);box-shadow:var(--fx-sh-3);color:inherit;}
.fx-cat--live:hover::after{opacity:1;}
.fx-cat--live:hover .fx-cat__ic{transform:scale(1.06) rotate(-4deg);}
.fx-cat__go{
	display:inline-flex;align-items:center;gap:8px;margin-top:20px;
	font-family:"Manrope",sans-serif;font-weight:700;font-size:15px;
	color:var(--fx-accent);
}
.fx-cat__go svg{transition:transform .3s var(--fx-ease);}
.fx-cat--live:hover .fx-cat__go svg{transform:translateX(5px);}

.fx-cat--soon{background:#EEEBE6;box-shadow:none;}
.fx-cat--soon .fx-cat__ic{background:rgba(110,106,99,.09);color:#969087;}
.fx-cat--soon h3{color:#767068;}
.fx-cat--soon p{color:#969087;}
.fx-badge{
	display:inline-block;margin-top:18px;
	padding:6px 13px;border-radius:100px;
	background:rgba(110,106,99,.10);color:#837E77;
	font-family:"Manrope",sans-serif;font-size:12px;font-weight:700;
	letter-spacing:.05em;text-transform:uppercase;
}

/* ==========================================================================
   CTA BAND
   ========================================================================== */
.fx-cta{
	position:relative;overflow:hidden;
	border-radius:clamp(20px,2.4vw,28px);
	background:linear-gradient(140deg,#1B1B1C 0%,#2A2B2D 58%,#26272A 100%);
	padding:clamp(34px,4.4vw,56px) clamp(26px,4vw,56px);
	display:flex;align-items:center;justify-content:space-between;
	gap:clamp(24px,3vw,44px);flex-wrap:wrap;
	box-shadow:var(--fx-sh-2);
}
.fx-cta__glow{
	position:absolute;width:460px;height:460px;right:-130px;top:-190px;
	border-radius:50%;pointer-events:none;
	background:radial-gradient(circle,rgba(194,102,46,.30),transparent 68%);
}
.fx-cta__body{position:relative;z-index:1;max-width:560px;}
.fx-cta__body h2{color:#fff;margin:0 0 10px;font-size:clamp(23px,2.6vw,31px);}
.fx-cta__body p{color:#B5AFA6;margin:0;font-size:16.5px;}
.fx-cta__act{position:relative;z-index:1;display:flex;gap:13px;flex-wrap:wrap;}

/* ==========================================================================
   HEADER / NAV
   ========================================================================== */
.ast-primary-header-bar,
.site-header{
	background:rgba(255,255,255,.88)!important;
	backdrop-filter:saturate(180%) blur(14px);
	-webkit-backdrop-filter:saturate(180%) blur(14px);
	border-bottom:1px solid rgba(31,30,28,.07)!important;
	box-shadow:0 1px 20px rgba(31,30,28,.045);
}
.main-header-menu .menu-link,
.main-header-menu > .menu-item > .menu-link{
	font-family:"Manrope",sans-serif!important;
	font-weight:600!important;font-size:15.3px!important;
	letter-spacing:-.008em;
	color:var(--fx-text)!important;
	transition:color .22s var(--fx-ease);
}
.main-header-menu .menu-item{position:relative;}
.main-header-menu > .menu-item > .menu-link::after{
	content:"";position:absolute;left:14px;right:14px;bottom:12px;height:2px;
	background:var(--fx-accent);border-radius:2px;
	transform:scaleX(0);transform-origin:left;
	transition:transform .32s var(--fx-ease);
}
.main-header-menu > .menu-item:hover > .menu-link::after,
.main-header-menu > .current-menu-item > .menu-link::after{transform:scaleX(1);}
.main-header-menu > .menu-item:hover > .menu-link,
.main-header-menu > .current-menu-item > .menu-link{color:var(--fx-accent)!important;}
.custom-logo-link img{transition:transform .35s var(--fx-ease);}
.custom-logo-link:hover img{transform:scale(1.03);}

/* ==========================================================================
   WOOCOMMERCE — SHOP / PRODUCT
   ========================================================================== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
	background:var(--fx-surface);
	border-radius:var(--fx-r-lg)!important;
	padding:14px 14px 20px!important;
	box-shadow:var(--fx-sh-1);
	border:0!important;
	transition:transform .38s var(--fx-ease), box-shadow .38s var(--fx-ease);
	overflow:hidden;
}
.woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--fx-sh-3);}
.woocommerce ul.products li.product img{
	border-radius:13px!important;
	transition:transform .55s var(--fx-ease);
}
.woocommerce ul.products li.product:hover img{transform:scale(1.045);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size:16.5px!important;font-weight:700!important;
	line-height:1.35;margin:14px 0 6px!important;padding:0!important;
	color:var(--fx-ink)!important;
}
.woocommerce ul.products li.product .price{
	font-family:"Manrope",sans-serif;
	color:var(--fx-ink)!important;font-weight:800!important;font-size:17px!important;
}
.woocommerce ul.products li.product .price del{color:var(--fx-muted)!important;font-weight:500!important;opacity:.6;}
.woocommerce ul.products li.product .price ins{text-decoration:none;}

.woocommerce span.onsale{
	background:var(--fx-accent)!important;color:#fff!important;
	font-family:"Manrope",sans-serif;font-weight:700;
	border-radius:100px!important;padding:5px 14px!important;
	min-height:auto!important;min-width:auto!important;line-height:1.5!important;
	box-shadow:0 6px 16px rgba(194,102,46,.34);
}

/* buttons inside woo */
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button{
	font-family:"Manrope",sans-serif!important;
	font-weight:700!important;font-size:15px!important;
	border-radius:12px!important;
	padding:14px 28px!important;
	background:linear-gradient(180deg,var(--fx-accent-2),var(--fx-accent))!important;
	color:#fff!important;border:0!important;
	box-shadow:0 2px 6px rgba(194,102,46,.26), 0 10px 22px rgba(194,102,46,.22);
	transition:transform .3s var(--fx-ease), box-shadow .3s var(--fx-ease), filter .25s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover{
	transform:translateY(-2px);
	box-shadow:0 4px 10px rgba(194,102,46,.30), 0 16px 34px rgba(194,102,46,.30);
	filter:saturate(1.06);
	color:#fff!important;
}

/* single product */
.single-product div.product .product_title{
	font-size:clamp(26px,3vw,36px)!important;margin-bottom:12px!important;
}
.single-product div.product .price,
.single-product div.product p.price{
	font-family:"Manrope",sans-serif!important;
	font-size:29px!important;font-weight:800!important;
	color:var(--fx-ink)!important;letter-spacing:-.02em;
}
.single-product div.product .woocommerce-product-gallery img{border-radius:var(--fx-r-lg)!important;}
.single-product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--fx-line)!important;padding:0!important;margin-bottom:28px!important;}
.single-product .woocommerce-tabs ul.tabs::before{display:none!important;}
.single-product .woocommerce-tabs ul.tabs li{
	background:transparent!important;border:0!important;border-radius:0!important;
	margin:0 26px 0 0!important;padding:0!important;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{display:none!important;}
.single-product .woocommerce-tabs ul.tabs li a{
	font-family:"Manrope",sans-serif!important;font-weight:700!important;
	font-size:15px!important;color:var(--fx-muted)!important;
	padding:14px 0!important;display:inline-block;
	border-bottom:2px solid transparent;transition:.25s var(--fx-ease);
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover{
	color:var(--fx-ink)!important;border-bottom-color:var(--fx-accent);
}
.single-product .woocommerce-tabs .panel h2{font-size:22px;margin-bottom:14px;}
.single-product .woocommerce-tabs .panel h3{font-size:18px;margin-top:26px;}
table.variations{border:0!important;}
table.variations td, table.variations th{border:0!important;padding:8px 0!important;background:transparent!important;}
table.variations label{
	font-family:"Manrope",sans-serif;font-weight:700;font-size:14.5px;color:var(--fx-ink);
}
.woocommerce div.product form.cart .variations select{
	border:1.5px solid var(--fx-line)!important;border-radius:11px!important;
	padding:12px 14px!important;background-color:#fff!important;
	font-size:15px;transition:border-color .22s,box-shadow .22s;
}
.woocommerce div.product form.cart .variations select:focus{
	border-color:var(--fx-accent)!important;
	box-shadow:0 0 0 4px var(--fx-accent-soft)!important;outline:none!important;
}
.product_meta{font-size:14px;color:var(--fx-muted);border-top:1px solid var(--fx-line);padding-top:18px;margin-top:22px;}
.product_meta a{color:var(--fx-accent);}

/* quantity */
.woocommerce .quantity .qty{
	border:1.5px solid var(--fx-line)!important;border-radius:11px!important;
	padding:12px 8px!important;font-weight:600;
}

/* ---------- shop sidebar / filters ---------- */
.woocommerce .widget-area .widget,
.woocommerce-page .widget-area .widget{
	background:var(--fx-surface);
	border-radius:var(--fx-r);
	padding:22px 22px 24px;
	box-shadow:var(--fx-sh-1);
	margin-bottom:20px;
	border:0!important;
}
.widget-title, .widget-area .widget-title{
	font-size:15px!important;font-weight:800!important;
	letter-spacing:.02em;margin-bottom:14px!important;
	color:var(--fx-ink)!important;
}
.widget_product_categories ul li,
.woocommerce-widget-layered-nav ul li{
	list-style:none;padding:6px 0!important;border:0!important;
}
.widget_product_categories ul,
.woocommerce-widget-layered-nav ul{margin:0;padding:0;}
.widget_product_categories ul li a,
.woocommerce-widget-layered-nav ul li a{
	color:var(--fx-text);font-size:15px;transition:color .2s,padding-left .25s var(--fx-ease);
	display:inline-block;
}
.widget_product_categories ul li a:hover,
.woocommerce-widget-layered-nav ul li a:hover{color:var(--fx-accent);padding-left:4px;}
.widget_price_filter .ui-slider .ui-slider-range{background:var(--fx-accent)!important;}
.widget_price_filter .ui-slider .ui-slider-handle{
	background:#fff!important;border:3px solid var(--fx-accent)!important;
	box-shadow:0 2px 8px rgba(31,30,28,.18);width:17px!important;height:17px!important;
	border-radius:50%!important;top:-5px!important;
}
.widget_price_filter .price_slider_wrapper .ui-widget-content{background:var(--fx-line)!important;border-radius:100px;}
.widget_price_filter .price_slider_amount .button{font-size:13px!important;padding:9px 18px!important;}

/* woocommerce notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
	border-top:0!important;border-radius:var(--fx-r)!important;
	background:var(--fx-surface)!important;box-shadow:var(--fx-sh-1);
	padding:18px 20px 18px 54px!important;color:var(--fx-text)!important;
	font-size:15px;
}
.woocommerce-message::before{color:var(--fx-accent)!important;}
.woocommerce-message{border-left:3px solid var(--fx-accent)!important;}

/* ---------- checkout / forms ---------- */
.woocommerce form .form-row label{
	font-family:"Manrope",sans-serif;font-weight:600;font-size:14.5px;
	color:var(--fx-ink);margin-bottom:7px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-container .select2-selection--single,
.woocommerce form .form-row select{
	border:1.5px solid var(--fx-line)!important;border-radius:11px!important;
	padding:13px 15px!important;font-size:15.5px;background:#fff!important;
	transition:border-color .22s,box-shadow .22s;
	height:auto!important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
	border-color:var(--fx-accent)!important;
	box-shadow:0 0 0 4px var(--fx-accent-soft)!important;outline:none!important;
}
.woocommerce-checkout #payment{
	background:var(--fx-surface)!important;border-radius:var(--fx-r)!important;
	box-shadow:var(--fx-sh-1);padding:8px 4px;
}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--fx-line)!important;padding:18px!important;}
.woocommerce-checkout #payment ul.payment_methods li{margin-bottom:10px;}
.woocommerce-checkout #payment ul.payment_methods label{font-weight:600;color:var(--fx-ink);}
.woocommerce-checkout #payment div.payment_box{
	background:var(--fx-accent-soft)!important;border-radius:11px!important;
	color:var(--fx-text)!important;font-size:14.5px;
}
.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--fx-accent-soft)!important;}
.woocommerce table.shop_table{
	border-radius:var(--fx-r)!important;border:0!important;
	background:var(--fx-surface);box-shadow:var(--fx-sh-1);overflow:hidden;
}
.woocommerce table.shop_table th{
	font-family:"Manrope",sans-serif;font-weight:700;color:var(--fx-ink);
	border-color:var(--fx-line)!important;
}
.woocommerce table.shop_table td{border-color:var(--fx-line)!important;}
#order_review_heading,.woocommerce-billing-fields h3{font-size:22px;margin-bottom:16px;}

/* ---------- breadcrumbs / result count / ordering ---------- */
.woocommerce .woocommerce-breadcrumb{
	font-size:14px;color:var(--fx-muted);margin-bottom:22px;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--fx-muted);}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--fx-accent);}
.woocommerce .woocommerce-result-count{color:var(--fx-muted);font-size:14.5px;}
.woocommerce .woocommerce-ordering select{
	border:1.5px solid var(--fx-line)!important;border-radius:10px!important;
	padding:10px 14px!important;font-size:14.5px;background:#fff;
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.site-footer, .ast-small-footer, .site-below-footer-wrap, .site-primary-footer-wrap{
	background:var(--fx-ink)!important;color:#A29C93!important;
}
.site-footer a, .ast-small-footer a{color:#C8C2B8!important;}
.site-footer a:hover{color:var(--fx-accent)!important;}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:980px){
	.fx-hero__inner{grid-template-columns:1fr;text-align:center;}
	.fx-hero__copy p{margin-left:auto;margin-right:auto;}
	.fx-hero__actions{justify-content:center;}
	.fx-hero__meta{justify-content:center;}
	.fx-hero__art{order:-1;min-height:270px;}
	.fx-hero__tilt{max-width:430px;margin:0 auto;}
	.fx-pillars,.fx-cats{grid-template-columns:1fr;}
	.fx-cta{flex-direction:column;align-items:flex-start;text-align:left;}
}
@media (max-width:600px){
	body{font-size:16px;}
	.fx-hero__meta{gap:18px;}
	.fx-hero__meta b{font-size:17px;}
	.fx-btn{padding:14px 24px;font-size:15px;}
	.fx-cta__act{width:100%;}
	.fx-cta__act .fx-btn{flex:1 1 auto;}

	/* the gear cluster was filling almost half the screen on phones —
	   shrink it well below the 980px-breakpoint's 430px cap */
	.fx-hero__art{min-height:170px;}
	.fx-hero__tilt{max-width:210px;}
}

@media (prefers-reduced-motion:reduce){
	*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
	.fx-rise{opacity:1;transform:none;}
}

/* ==========================================================================
   HOMEPAGE FULL-BLEED + legacy fixes
   ========================================================================== */
.ast-site-identity .ast-site-title-wrap{display:none;}
.page-id-13 .entry-header{display:none;}
.page-id-13 #primary{margin-top:0!important;padding:0!important;}
.page-id-13 .site-content > .ast-container{max-width:100%!important;padding-left:0!important;padding-right:0!important;}
.page-id-13 .entry-content{max-width:100%!important;}
.page-id-13 .ast-article-single,
.page-id-13 .ast-separate-container .ast-article-single{
	padding:0!important;background:transparent!important;box-shadow:none!important;border:0!important;
}
.page-id-13.ast-separate-container .site-content{background:var(--fx-bg);}
.page-id-13 #content{background:var(--fx-bg);}
.page-id-13 .entry-content > *{margin-block-start:0;}

/* full-bleed override for homepage sections */
.page-id-13 .entry-content > .fx-hero,
.page-id-13 .entry-content > .fx-sec,
.fx-hero, .fx-sec{max-width:100%!important;width:100%!important;}

/* warm page background (override theme) */
body, body.ast-plain-container, body.ast-separate-container,
.site, #content, .site-content{background-color:var(--fx-bg)!important;}
.woocommerce-page #content, .single-product #content{background-color:var(--fx-bg)!important;}

/* ---------- stock badge ---------- */
.fx-stock{display:inline-flex;align-items:center;gap:6px;margin:2px 0 10px;
  font-family:"Manrope",sans-serif;font-size:12.5px;font-weight:700;
  letter-spacing:.01em;padding:5px 11px;border-radius:100px;line-height:1.4;}
.fx-stock--in{background:rgba(22,138,84,.10);color:#168A54;}
.fx-stock--made{background:rgba(110,106,99,.10);color:#6E6A63;}
.woocommerce ul.products li.product .fx-stock{margin-top:0;}
.single-product .summary .fx-stock{margin:6px 0 18px;font-size:13.5px;padding:7px 14px;}

/* ---------- header logo sizing ---------- */
.custom-logo{height:40px!important;width:auto!important;max-width:none!important;}
.ast-primary-header-bar .site-branding{padding:14px 0;}
@media (max-width:921px){.custom-logo{height:36px!important;}}
@media (max-width:480px){.custom-logo{height:32px!important;}}

/* ---------- no underline on custom buttons ---------- */
.fx-btn,.fx-btn:hover,.fx-btn:focus,
.entry-content .fx-btn,.entry-content .fx-btn:hover,
.fx-cat,.entry-content .fx-cat,.fx-cat:hover,
.fx-cat__go,.entry-content .fx-cat__go{text-decoration:none!important;}

/* ---------- product image: never crop, always contain ---------- */
.single-product div.product .woocommerce-product-gallery{
  background:#EEEBE6;border-radius:var(--fx-r-lg);
}
.single-product div.product .woocommerce-product-gallery__image img{
  object-fit:contain!important;width:100%;height:auto;
}

/* ---------- product image v2: contain on the <img> itself, no clipping wrapper ---------- */
.woocommerce ul.products li.product img{
  aspect-ratio:1/1!important;width:100%!important;height:auto!important;
  object-fit:contain!important;object-position:center;
  background:#EEEBE6!important;border-radius:13px!important;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap{overflow:visible!important;height:auto!important;}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{overflow:visible!important;height:auto!important;}
.fx-stock{position:relative;z-index:2;}

/* ===== FX MOBILE PACK START ===== */

/* ---- Cart button in the mobile header (next to the burger) ---- */
.fx-cart-btn{display:none;}
.fx-cart-btn.is-placed{
  display:inline-flex;align-items:center;justify-content:center;position:relative;
  width:42px;height:42px;margin-right:6px;border-radius:12px;
  color:#292A2C;text-decoration:none;flex:0 0 auto;align-self:center;
  transition:background .15s ease;
}
.fx-cart-btn.is-placed:hover,.fx-cart-btn.is-placed:focus{background:rgba(41,42,44,.07);color:#292A2C;}
.fx-cart-btn__icon{display:inline-flex;}
.fx-cart-btn__count{
  position:absolute;top:2px;right:1px;min-width:18px;height:18px;padding:0 5px;
  border-radius:9px;background:#B25325;color:#fff;
  font-size:11px;line-height:18px;font-weight:700;text-align:center;
  box-shadow:0 0 0 2px #fff;
}
.fx-cart-btn__count--empty{display:none;}
/* Desktop header already exposes the cart in the menu */
@media (min-width:922px){.fx-cart-btn{display:none!important;}}

/* ---- Made-to-order note under the add-to-cart area ---- */
.fx-madeorder-note{
  margin:14px 0 0;padding:11px 14px;border-radius:10px;
  background:#EEEBE6;color:#55534F;font-size:14px;line-height:1.45;
}
.backorder_notification{color:#8F4517;font-size:13px;margin-top:6px;}

/* =======================================================
   MOBILE ONLY
   ======================================================= */
@media (max-width:921px){

  /* Stop iOS Safari from zooming in when a field is focused.
     Any input under 16px triggers that auto-zoom. */
  input[type="text"],input[type="tel"],input[type="email"],input[type="number"],
  input[type="password"],input[type="search"],textarea,select,
  .woocommerce input.input-text,.wc-block-components-text-input input{
    font-size:16px!important;
  }

  /* Comfortable field height + tap targets */
  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select,
  .select2-container .select2-selection--single{
    min-height:50px;padding:12px 14px;border-radius:10px;
  }
  .woocommerce form .form-row label{font-size:14px;font-weight:600;margin-bottom:6px;}
  .woocommerce form .form-row{margin-bottom:16px;}

  /* Page titles: smaller so they don't eat the first screen */
  .entry-title,.woocommerce-products-header__title,h1.entry-title{
    font-size:28px!important;line-height:1.2!important;margin-bottom:16px!important;
  }

  /* The cart/checkout blocks are "alignwide", which pulls them 20px outside
     the content column on each side. On a phone that puts text against the
     screen edges, so pull them back into the column. */
  .wp-block-woocommerce-cart.alignwide,
  .wp-block-woocommerce-checkout.alignwide,
  .wp-block-woocommerce-cart.alignfull,
  .wp-block-woocommerce-checkout.alignfull{
    margin-left:0!important;margin-right:0!important;
    max-width:100%!important;
  }

  /* ---- Cart ---- */
  .woocommerce-cart table.cart img{width:70px;height:auto;}
  .woocommerce-cart table.cart td.product-name{font-size:15px;line-height:1.35;}
  .woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:12px 8px;}

  /* Quantity stepper: big enough to hit with a thumb */
  .woocommerce .quantity input.qty,
  .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{
    min-height:46px;font-size:16px!important;
  }
  .wc-block-components-quantity-selector__button{min-width:42px;min-height:46px;}

  /* Buttons: full width, proper tap height */
  .woocommerce .cart .button,
  .woocommerce .checkout-button,
  .woocommerce #place_order,
  .woocommerce button.button.alt,
  .wc-block-cart__submit-button{
    width:100%!important;min-height:52px;font-size:16px!important;border-radius:12px;
    padding-left:16px!important;padding-right:16px!important;
  }

  /* Order summary / totals block.
     Theme ships 0 32px here, which starves the button on a 375px screen. */
  .woocommerce .cart_totals,
  .woocommerce-checkout-review-order,
  .woocommerce-checkout #order_review{
    margin-top:22px;padding:16px!important;border-radius:14px;background:#F4F2EE;
  }
  .woocommerce-checkout-payment{padding-left:0!important;padding-right:0!important;}
  .woocommerce .cart_totals h2,.woocommerce-checkout-review-order h3{font-size:19px;margin-bottom:12px;}
  .woocommerce-checkout-review-order-table{width:100%;font-size:15px;}
  .woocommerce-checkout-review-order-table td,
  .woocommerce-checkout-review-order-table th{padding:10px 6px;}

  /* Coupon row stacks instead of squeezing side by side */
  .woocommerce .coupon{display:flex;flex-direction:column;gap:10px;width:100%;float:none;}
  .woocommerce .coupon input.input-text{width:100%;}
  .woocommerce .coupon .button{width:100%;}

  /* Checkout: stack the two columns, keep breathing room */
  .woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:100%;float:none;margin-bottom:8px;}
  .woocommerce-billing-fields h3,.woocommerce-additional-fields h3{font-size:20px;margin-bottom:14px;}

  /* Payment methods */
  .woocommerce-checkout #payment ul.payment_methods li{padding:12px 0;font-size:15px;}
  .woocommerce-checkout #payment div.form-row{padding:16px 0 0;}

  /* Notices sit closer to the content they describe */
  .woocommerce-message,.woocommerce-info,.woocommerce-error{
    font-size:14px;line-height:1.45;padding:14px 16px 14px 46px;border-radius:12px;
  }

  /* Tables that genuinely need width can scroll on their own */
  .woocommerce table.shop_table_responsive,.woocommerce-order-details table{
    display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;
  }
}

/* Very narrow phones */
@media (max-width:400px){
  .entry-title,h1.entry-title{font-size:25px!important;}
  .woocommerce-cart table.cart img{width:60px;}
}
/* ===== FX MOBILE PACK END ===== */



/* ===== FX ABOUT START ===== */
/* The hero carries the page name, so Astra's duplicate title is hidden. */
.page-id-20 .entry-header,.page-id-21 .entry-header{display:none;}

.fxa{margin-top:-8px;}
.fxa-eyebrow{
  display:inline-block;font-family:"Manrope",sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--fx-accent);margin-bottom:14px;
}

/* ---------- hero ---------- */
.fxa-hero{
  position:relative;overflow:hidden;isolation:isolate;
  border-radius:var(--fx-r-lg);
  background:
    radial-gradient(760px 440px at 82% 14%, rgba(194,102,46,.24), transparent 62%),
    radial-gradient(620px 400px at 8% 96%, rgba(150,142,130,.20), transparent 66%),
    linear-gradient(152deg,#202021 0%,#242527 54%,#232426 100%);
  box-shadow:var(--fx-sh-3);
  margin-bottom:clamp(38px,5vw,58px);
}
.fxa-hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(circle at 42% 40%,#000 26%,transparent 76%);
  -webkit-mask-image:radial-gradient(circle at 42% 40%,#000 26%,transparent 76%);
}
.fxa-hero__in{position:relative;z-index:2;padding:clamp(34px,5vw,62px) clamp(24px,4vw,54px);max-width:760px;}
.fxa-hero__h{
  color:#fff;margin:0 0 16px;font-family:"Manrope",sans-serif;font-weight:800;
  font-size:clamp(28px,4.1vw,46px);line-height:1.1;letter-spacing:-.03em;
}
.fxa-hero__h em{
  font-style:normal;
  background:linear-gradient(96deg,#E8B183 0%,#CB7038 46%,#C2662E 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.fxa-hero__p{color:#BEB8AE;font-size:clamp(15.5px,1.5vw,18px);line-height:1.62;margin:0;max-width:520px;}
.fxa-hero__meta{
  list-style:none;margin:30px 0 0;padding:24px 0 0;display:flex;flex-wrap:wrap;
  gap:clamp(20px,3.2vw,44px);border-top:1px solid rgba(255,255,255,.11);
}
.fxa-hero__meta li{display:flex;flex-direction:column;gap:3px;}
.fxa-hero__meta b{font-family:"Manrope",sans-serif;color:#fff;font-size:19px;font-weight:800;letter-spacing:-.02em;}
.fxa-hero__meta span{color:#9A948B;font-size:13.5px;}

/* ---------- sections ---------- */
.fxa-block{margin-bottom:clamp(34px,4.4vw,52px);}
.fxa-h3{
  font-family:"Manrope",sans-serif;font-weight:800;color:var(--fx-ink);
  font-size:clamp(21px,2.4vw,28px);letter-spacing:-.024em;margin:0 0 clamp(16px,2vw,22px);
}
.fxa-grid{display:grid;gap:16px;}
.fxa-grid--2{grid-template-columns:repeat(2,1fr);}
.fxa-grid--3{grid-template-columns:repeat(3,1fr);}
.fxa-grid--4{grid-template-columns:repeat(4,1fr);}

/* ---------- feature cards ---------- */
.fxa-card{
  background:var(--fx-surface);border:1px solid var(--fx-line);border-radius:var(--fx-r);
  padding:24px 22px;box-shadow:var(--fx-sh-1);
  transition:transform .3s var(--fx-ease),box-shadow .3s var(--fx-ease);
}
.fxa-card:hover{transform:translateY(-3px);box-shadow:var(--fx-sh-2);}
.fxa-card__ico{
  display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;
  background:linear-gradient(180deg,var(--fx-accent-2),var(--fx-accent));color:#fff;
  box-shadow:0 4px 12px rgba(194,102,46,.30);margin-bottom:16px;
}
.fxa-card__ico svg{width:21px;height:21px;}
.fxa-card__t{font-family:"Manrope",sans-serif;font-size:17px;font-weight:800;color:var(--fx-ink);margin:0 0 7px;letter-spacing:-.015em;}
.fxa-card__p{font-size:15px;line-height:1.55;color:var(--fx-muted);margin:0;}

/* ---------- numbered steps (ghost numerals) ---------- */
.fxa-step{
  position:relative;overflow:hidden;
  background:var(--fx-surface);border:1px solid var(--fx-line);border-radius:var(--fx-r);
  padding:24px 22px 22px;box-shadow:var(--fx-sh-1);
  transition:transform .3s var(--fx-ease),box-shadow .3s var(--fx-ease);
}
.fxa-step:hover{transform:translateY(-3px);box-shadow:var(--fx-sh-2);}
.fxa-step__n{
  position:absolute;top:-6px;right:10px;
  font-family:"Manrope",sans-serif;font-size:62px;font-weight:800;line-height:1;
  color:var(--fx-accent);opacity:.13;letter-spacing:-.04em;pointer-events:none;
}
.fxa-step__t{position:relative;font-family:"Manrope",sans-serif;font-size:17px;font-weight:800;color:var(--fx-ink);margin:0 0 7px;letter-spacing:-.015em;}
.fxa-step__p{position:relative;font-size:15px;line-height:1.55;color:var(--fx-muted);margin:0;}

/* ---------- materials ---------- */
.fxa-mat{
  position:relative;background:var(--fx-surface);border:1px solid var(--fx-line);
  border-radius:var(--fx-r);padding:24px 22px;box-shadow:var(--fx-sh-1);overflow:hidden;
}
.fxa-mat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--fx-ink-3);}
.fxa-mat--soft::before{background:linear-gradient(180deg,var(--fx-accent-2),var(--fx-accent));}
.fxa-mat__tag{display:block;font-family:"Manrope",sans-serif;font-size:16px;font-weight:800;color:var(--fx-ink);margin-bottom:8px;letter-spacing:-.015em;}
.fxa-mat--soft .fxa-mat__tag{color:var(--fx-accent);}
.fxa-mat__p{font-size:15px;line-height:1.55;color:var(--fx-muted);margin:0;}

/* ---------- closing CTA ---------- */
.fxa-cta{
  position:relative;overflow:hidden;border-radius:var(--fx-r-lg);
  background:
    radial-gradient(620px 340px at 88% 10%, rgba(194,102,46,.26), transparent 60%),
    linear-gradient(150deg,#202021 0%,#232426 60%,#232426 100%);
  box-shadow:var(--fx-sh-2);
}
.fxa-cta__in{position:relative;z-index:2;padding:clamp(30px,4vw,52px) clamp(24px,4vw,48px);max-width:640px;}
.fxa-cta__h{font-family:"Manrope",sans-serif;font-size:clamp(21px,2.6vw,30px);font-weight:800;color:#fff;margin:0 0 10px;letter-spacing:-.026em;line-height:1.18;}
.fxa-cta__p{color:#BEB8AE;font-size:16px;line-height:1.6;margin:0 0 24px;}
.fxa-cta__act{display:flex;flex-wrap:wrap;gap:12px;}

/* ---------- tablet ---------- */
@media (max-width:980px){
  .fxa-grid--4{grid-template-columns:repeat(2,1fr);}
  .fxa-grid--3{grid-template-columns:repeat(2,1fr);}
}

/* ---------- phone ---------- */
@media (max-width:640px){
  .fxa-grid,.fxa-grid--2,.fxa-grid--3,.fxa-grid--4{grid-template-columns:1fr;gap:12px;}
  .fxa-hero{border-radius:18px;margin-bottom:30px;}
  .fxa-hero__in{padding:28px 20px;}
  .fxa-hero__meta{margin-top:24px;padding-top:20px;gap:18px;}
  .fxa-hero__meta li{flex:1 1 40%;}
  .fxa-hero__meta b{font-size:17px;}
  .fxa-block{margin-bottom:30px;}
  .fxa-card,.fxa-step,.fxa-mat{padding:20px 18px;}
  .fxa-card__ico{width:40px;height:40px;margin-bottom:13px;}
  .fxa-step__n{font-size:52px;top:-4px;right:8px;}
  .fxa-cta{border-radius:18px;}
  .fxa-cta__in{padding:26px 20px;}
  .fxa-cta__act{flex-direction:column;}
  .fxa-cta__act .fx-btn{width:100%;}
}
/* ===== FX ABOUT END ===== */

/* ===== FX CONTACTS START ===== */
/* WordPress auto-inserts <br> between inline tags that sit on separate
   source lines; inside a flex/grid row those become stray cells. */
.fxc-msgr > br,.fxa-cta__act > br,.fxa-hero__meta > br,.fxa-grid > br,
.fxa-card > br,.fxa-step > br,.fxa-mat > br,.fxc-soc > br{display:none!important;}

/* Only the pieces unique to Контакти — layout comes from the fxa- set. */

.fxc-phone{
  display:inline-block;margin:6px 0 18px;
  font-family:"Manrope",sans-serif;font-weight:800;letter-spacing:-.03em;
  font-size:clamp(30px,4.4vw,44px);line-height:1.1;
  color:#fff!important;text-decoration:none;
}
.fxc-phone:hover{color:#E8B183!important;}

.fxc-msgr{display:flex;flex-wrap:wrap;gap:9px;}
.fxc-msgr__b{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 18px;border-radius:11px;
  font-family:"Manrope",sans-serif;font-size:14.5px;font-weight:700;
  color:#fff!important;text-decoration:none;
  transition:transform .25s var(--fx-ease),filter .25s var(--fx-ease);
}
.fxc-msgr__b:hover{transform:translateY(-2px);filter:brightness(1.08);color:#fff!important;}
.fxc-msgr__b--viber{background:#7360F2;}
.fxc-msgr__b--tg{background:#2AABEE;}
.fxc-msgr__b--wa{background:#25D366;}

.fxc-soc{
  display:flex;align-items:center;gap:14px;
  background:var(--fx-surface);border:1px solid var(--fx-line);border-radius:var(--fx-r);
  padding:18px 20px;text-decoration:none;box-shadow:var(--fx-sh-1);
  transition:transform .3s var(--fx-ease),box-shadow .3s var(--fx-ease),border-color .3s var(--fx-ease);
}
.fxc-soc:hover{transform:translateY(-3px);box-shadow:var(--fx-sh-2);border-color:rgba(194,102,46,.45);}
.fxc-soc__ico{
  flex:0 0 44px;width:44px;height:44px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  background:var(--fx-ink);color:#fff;
}
.fxc-soc__ico svg{width:21px;height:21px;}
.fxc-soc__m{display:flex;flex-direction:column;min-width:0;}
.fxc-soc__m b{font-family:"Manrope",sans-serif;font-size:16px;font-weight:800;color:var(--fx-ink);letter-spacing:-.015em;line-height:1.3;}
.fxc-soc__m span{font-size:13.5px;color:var(--fx-muted);line-height:1.4;}

@media (max-width:640px){
  .fxc-phone{margin:4px 0 14px;}
  /* three equal pills on one row instead of a 2 + 1 stagger */
  .fxc-msgr{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
  .fxc-msgr__b{padding:11px 6px;font-size:13.5px;min-height:44px;}
  .fxc-soc{padding:16px;}
}
/* ===== FX CONTACTS END ===== */

/* ===== FX CARD SIZE START ===== */
/* Trim the product-card chrome so cards read as compact, not oversized.
   The thumbnail itself stays a true square (tied to card width by the
   theme's aspect-ratio rule) — this only tightens padding/type/spacing. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  padding:11px 11px 16px!important;
}
.woocommerce ul.products li.product .fx-stock{
  padding:4px 9px!important;font-size:11.5px!important;margin-bottom:7px!important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:14.5px!important;line-height:1.3!important;
  margin:9px 0 4px!important;
}
.woocommerce ul.products li.product .price{
  font-size:15px!important;margin-bottom:6px!important;
}
.woocommerce ul.products li.product a.add_to_cart_button,
.woocommerce ul.products li.product a.button{
  font-size:13.5px!important;padding:8px 14px!important;min-height:auto!important;
}
@media (max-width:640px){
  .woocommerce ul.products li.product{padding:9px 9px 14px!important;}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14px!important;}
  .woocommerce ul.products li.product .price{font-size:14.5px!important;}
}
/* ===== FX CARD SIZE END ===== */

/* ===== FX EASTER EGG START ===== */
.custom-logo-link{cursor:pointer;}

.fx-egg{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:20px;}
.fx-egg.is-open{display:flex;}
.fx-egg__backdrop{
  position:absolute;inset:0;background:rgba(26,26,27,.62);backdrop-filter:blur(3px);
  animation:fxEggFade .25s ease;
}
@keyframes fxEggFade{from{opacity:0;}to{opacity:1;}}

.fx-egg__card{
  position:relative;z-index:2;width:100%;max-width:420px;text-align:center;
  background:var(--fx-surface);border-radius:var(--fx-r-lg);
  padding:40px 32px 32px;box-shadow:var(--fx-sh-3);
  animation:fxEggPop .35s cubic-bezier(.22,1.4,.36,1);
}
@keyframes fxEggPop{
  0%{opacity:0;transform:scale(.85) translateY(10px);}
  100%{opacity:1;transform:scale(1) translateY(0);}
}

.fx-egg__x{
  position:absolute;top:14px;right:14px;width:32px;height:32px;border:0;border-radius:50%;
  background:transparent;color:var(--fx-muted);font-size:22px;line-height:1;cursor:pointer;
  transition:background .2s ease,color .2s ease;
}
.fx-egg__x:hover{background:rgba(31,30,28,.06);color:var(--fx-ink);}

.fx-egg__gear{
  display:flex;align-items:center;justify-content:center;width:74px;height:74px;margin:0 auto 18px;
  border-radius:50%;color:#fff;
  background:linear-gradient(180deg,var(--fx-accent-2),var(--fx-accent));
  box-shadow:0 8px 20px rgba(194,102,46,.35);
  animation:fxEggSpin 3.2s linear infinite;
}
@keyframes fxEggSpin{from{transform:rotate(0);}to{transform:rotate(360deg);}}

.fx-egg__eyebrow{
  display:inline-block;font-family:"Manrope",sans-serif;font-size:12.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--fx-accent);margin-bottom:10px;
}
.fx-egg__title{
  font-family:"Manrope",sans-serif;font-size:25px;font-weight:800;color:var(--fx-ink);
  letter-spacing:-.02em;margin:0 0 10px;line-height:1.2;
}
.fx-egg__text{font-size:15px;line-height:1.55;color:var(--fx-muted);margin:0 0 22px;}

.fx-egg__code{
  font-family:"Manrope",sans-serif;font-size:24px;font-weight:800;letter-spacing:.06em;
  color:var(--fx-ink);background:var(--fx-bg);border:1.5px dashed var(--fx-accent);
  border-radius:12px;padding:14px 18px;margin-bottom:16px;
}
.fx-egg__copy{width:100%;margin-bottom:14px;}
.fx-egg__shop{font-size:14px;font-weight:700;color:var(--fx-accent);}
.fx-egg__shop:hover{color:var(--fx-accent-2);}

@media (max-width:480px){
  .fx-egg__card{padding:34px 22px 26px;}
  .fx-egg__title{font-size:21px;}
  .fx-egg__code{font-size:20px;}
}
/* ===== FX EASTER EGG END ===== */

/* ===== FX TAGLINE+SOS START ===== */

/* ---- rotating tagline under the logo ----
   Absolutely positioned over the blank strip the logo SVG now reserves
   where its baked-in tagline used to sit. Zero flow height added, so it
   can never stretch or break the header row. */
.custom-logo-link{display:flex;flex-direction:column;align-items:flex-start;}
.fx-tagline{
  display:block;margin-top:3px;
  font-family:"Segoe UI","Inter",sans-serif;
  font-size:9.5px;font-weight:400;letter-spacing:.02em;
  color:var(--fx-muted,#6E6A63);
  white-space:nowrap;line-height:1;
  pointer-events:none;
}

/* ---- SOS floating button ---- */
.fx-sos-btn{
  position:fixed;right:18px;bottom:18px;z-index:9000;
  width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#FF6B5B,#E8432F);
  box-shadow:0 6px 18px rgba(232,67,47,.42),0 2px 6px rgba(232,67,47,.3);
  animation:fxSosPulse 2.6s ease-in-out infinite;
  transition:transform .2s ease;
}
.fx-sos-btn:hover{transform:scale(1.06);}
.fx-sos-btn__emoji{font-size:24px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));}
@keyframes fxSosPulse{
  0%,100%{box-shadow:0 6px 18px rgba(232,67,47,.42),0 0 0 0 rgba(232,67,47,.35);}
  50%{box-shadow:0 6px 18px rgba(232,67,47,.42),0 0 0 10px rgba(232,67,47,0);}
}

.fx-sos-card__emoji{font-size:40px;line-height:1;margin-bottom:10px;}
.fx-sos-card__viber{width:100%;margin-bottom:12px;}

@media (max-width:640px){
  .fx-sos-btn{width:50px;height:50px;right:14px;bottom:14px;}
  .fx-sos-btn__emoji{font-size:21px;}
  .fx-tagline{font-size:8.5px;}
}
/* ===== FX TAGLINE+SOS END ===== */

/* ===== FX FILTERS START ===== */

/* Default "Uncategorized" is always empty on this catalogue — noise, hide it.
   !important because it ties in specificity with the .cat-item flex rule below
   and loses on source order otherwise. */
.product-categories .cat-item-19{display:none!important;}

/* ---------- widget cards ---------- */
.widget-area .widget{
  background:var(--fx-surface);border:1px solid var(--fx-line);border-radius:var(--fx-r-lg);
  padding:22px 20px;margin-bottom:16px;box-shadow:var(--fx-sh-1);
}
.widget-area .widget-title{
  font-family:"Manrope",sans-serif;font-size:15px;font-weight:800;color:var(--fx-ink);
  letter-spacing:-.01em;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--fx-line);
}

/* ---------- category list ----------
   Markup is <li class="cat-item"><a>Name</a> <span class="count">(N)</span></li> —
   the count is a SIBLING of the link, not nested inside it, so the flex row
   has to live on the <li>, not the <a>. */
.product-categories,.product-categories ul.children{list-style:none;margin:0;padding:0;}
.product-categories ul.children{margin:2px 0 4px 14px;padding-left:10px;border-left:1.5px solid var(--fx-line);flex-basis:100%;}
.product-categories .cat-item{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;
  border-radius:8px;transition:background .15s ease;
}
.product-categories .cat-item:hover{background:var(--fx-bg);}
.product-categories .cat-item > a{
  flex:1 1 auto;min-width:0;padding:7px 8px;
  font-size:14px;color:var(--fx-text);text-decoration:none;
  transition:color .15s ease;
}
.product-categories .cat-item:hover > a{color:var(--fx-accent);}
.product-categories .cat-item.current-cat > a{color:var(--fx-accent);font-weight:700;}
.product-categories .count{
  font-size:11.5px;font-weight:700;color:var(--fx-muted);background:var(--fx-bg);
  border-radius:100px;padding:2px 8px;margin-right:8px;flex:0 0 auto;
}
.product-categories .cat-item.current-cat .count{background:rgba(194,102,46,.14);color:var(--fx-accent);}

/* ---------- price filter ---------- */
.widget_price_filter .price_slider_wrapper{margin-top:2px;}
.widget_price_filter .price_slider{
  height:5px!important;background:var(--fx-line)!important;border:0!important;border-radius:100px!important;
  margin-bottom:18px!important;
}
.widget_price_filter .ui-slider-range{
  background:linear-gradient(90deg,var(--fx-accent-2),var(--fx-accent))!important;border-radius:100px!important;
}
.widget_price_filter .ui-slider-handle{
  width:17px!important;height:17px!important;top:-6px!important;margin-left:-8px!important;
  background:#fff!important;border:2.5px solid var(--fx-accent)!important;border-radius:50%!important;
  box-shadow:0 2px 6px rgba(31,30,28,.18)!important;cursor:grab;outline:none!important;
}
.widget_price_filter .ui-slider-handle:active{cursor:grabbing;transform:scale(1.1);}
.price_slider_amount{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.price_slider_amount .button{
  font-family:"Manrope",sans-serif;font-weight:700;font-size:13.5px;
  background:linear-gradient(180deg,var(--fx-accent-2),var(--fx-accent))!important;color:#fff!important;
  border:0!important;border-radius:10px!important;padding:9px 18px!important;
  box-shadow:0 3px 10px rgba(194,102,46,.28);
}
.price_label{font-size:13px;color:var(--fx-muted);}
.price_label span{color:var(--fx-ink);font-weight:700;}

/* ---------- material (layered nav) list ---------- */
.woocommerce-widget-layered-nav-list{list-style:none;margin:0;padding:0;}
.woocommerce-widget-layered-nav-list__item{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  margin:0;border-radius:8px;transition:background .15s ease;
}
.woocommerce-widget-layered-nav-list__item:hover{background:var(--fx-bg);}
.woocommerce-widget-layered-nav-list__item a{
  flex:1 1 auto;min-width:0;padding:7px 8px;font-size:14px;color:var(--fx-text);text-decoration:none;
  transition:color .15s ease;
}
.woocommerce-widget-layered-nav-list__item:hover a{color:var(--fx-accent);}
.woocommerce-widget-layered-nav-list__item .count{
  font-size:11.5px;font-weight:700;color:var(--fx-muted);background:var(--fx-bg);
  border-radius:100px;padding:2px 8px;margin-right:8px;flex:0 0 auto;
}
.woocommerce-widget-layered-nav-list__item--chosen a{color:var(--fx-accent);font-weight:700;}
.woocommerce-widget-layered-nav-list__item--chosen a::before{content:"✕ ";font-size:11px;}

/* ---------- mobile filters toggle + drawer ---------- */
.fx-filters-toggle{display:none;}
.fx-filters-backdrop{display:none;}
.fx-filters-drawer-head{display:none;}

@media (max-width:921px){
  .fx-filters-toggle{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 16px;margin-bottom:16px;border-radius:10px;border:1.5px solid var(--fx-line);
    background:var(--fx-surface);color:var(--fx-ink);
    font-family:"Manrope",sans-serif;font-weight:700;font-size:14px;cursor:pointer;
  }
  .fx-filters-toggle svg{color:var(--fx-accent);}

  .fx-filters-backdrop{
    display:block;position:fixed;inset:0;z-index:9400;background:rgba(26,26,27,.55);
    opacity:0;pointer-events:none;transition:opacity .25s ease;
  }
  body.fx-filters-open .fx-filters-backdrop{opacity:1;pointer-events:auto;}

  .widget-area{
    position:fixed;top:0;left:0;bottom:0;z-index:9500;
    width:86%;max-width:340px;overflow-y:auto;
    background:var(--fx-bg);padding:18px 16px 28px;
    transform:translateX(-105%);transition:transform .3s var(--fx-ease);
    box-shadow:0 0 40px rgba(0,0,0,.25);
  }
  body.fx-filters-open .widget-area{transform:translateX(0);}

  .fx-filters-drawer-head{
    display:flex;align-items:center;justify-content:space-between;
    padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--fx-line);
  }
  .fx-filters-drawer-head span{font-family:"Manrope",sans-serif;font-weight:800;font-size:18px;color:var(--fx-ink);}
  .fx-filters-close{
    width:32px;height:32px;border-radius:50%;border:0;background:transparent;
    color:var(--fx-muted);font-size:22px;line-height:1;cursor:pointer;
  }
  .fx-filters-close:hover{background:rgba(31,30,28,.06);color:var(--fx-ink);}
}
/* ===== FX FILTERS END ===== */

/* ===== FX BRANDS START ===== */
.fx-brands{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,20px);}
.fx-brand{
  display:flex;flex-direction:column;gap:8px;
  padding:26px 24px;border-radius:var(--fx-r-lg);
  background:var(--fx-surface);border:1px solid var(--fx-line);
  box-shadow:var(--fx-sh-1);text-decoration:none;
  transition:transform .3s var(--fx-ease),box-shadow .3s var(--fx-ease),border-color .3s var(--fx-ease);
}
.fx-brand:hover{transform:translateY(-4px);box-shadow:var(--fx-sh-2);border-color:rgba(194,102,46,.4);}
.fx-brand__name{
  font-family:"Manrope",sans-serif;font-size:24px;font-weight:800;
  color:var(--fx-ink);letter-spacing:-.02em;line-height:1.1;
}
.fx-brand__desc{font-size:14.5px;line-height:1.5;color:var(--fx-muted);flex:1 1 auto;}
.fx-brand__go{
  display:inline-flex;align-items:center;gap:6px;margin-top:6px;
  font-family:"Manrope",sans-serif;font-size:14px;font-weight:700;color:var(--fx-accent);
}
.fx-brand__go svg{transition:transform .25s var(--fx-ease);}
.fx-brand:hover .fx-brand__go svg{transform:translateX(3px);}

.fx-brands__note{
  margin:22px 0 0;text-align:center;font-size:15px;color:var(--fx-muted);
}
.fx-brands__note a{font-weight:700;}

@media (max-width:860px){
  .fx-brands{grid-template-columns:1fr;}
  .fx-brand{padding:20px 18px;}
  .fx-brand__name{font-size:21px;}
  .fx-brands__note{font-size:14px;text-align:left;}
}
/* ===== FX BRANDS END ===== */

/* ===== FX HERO CHIPS START ===== */
.fx-hero__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px;}
.fx-chip{
	display:inline-flex;align-items:center;gap:7px;
	padding:7px 14px;border-radius:100px;
	font-family:"Manrope",sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.015em;
	color:#CBC5BB;background:rgba(255,255,255,.055);
	border:1px solid rgba(255,255,255,.13);
	backdrop-filter:blur(4px);text-decoration:none;
	transition:border-color .25s var(--fx-ease),color .25s var(--fx-ease),transform .25s var(--fx-ease);
}
.fx-chip--live{color:#fff;border-color:rgba(194,102,46,.5);}
.fx-chip--live::before{
	content:"";width:6px;height:6px;border-radius:50%;
	background:var(--fx-accent);box-shadow:0 0 8px rgba(194,102,46,.8);
}
a.fx-chip:hover{border-color:var(--fx-accent);color:#fff;transform:translateY(-1px);}

@media (max-width:980px){
	.fx-hero__chips{justify-content:center;}
}
@media (max-width:600px){
	.fx-hero__copy h1{font-size:25px;}
	.fx-chip{font-size:12px;padding:6px 12px;}
}
/* ===== FX HERO CHIPS END ===== */

/* ===== FX HERO BTNS START ===== */
@media (max-width:600px){
  /* The two hero buttons were 203px + 199px + gap = 416px against a 335px
     column, so they wrapped onto separate lines. Split the row evenly and
     trim the type/padding so both fit side by side. */
  .fx-hero__actions{
    display:flex;flex-wrap:nowrap;gap:10px;width:100%;
  }
  .fx-hero__actions .fx-btn{
    flex:1 1 0;min-width:0;
    padding:12px 8px;font-size:13.5px;
    white-space:nowrap;gap:6px;
  }
  .fx-hero__actions .fx-btn svg{flex:0 0 auto;width:15px;height:15px;}
}
@media (max-width:360px){
  .fx-hero__actions .fx-btn{font-size:12.5px;padding:11px 6px;}
}
/* ===== FX HERO BTNS END ===== */

/* ===== FX SHIPPING NOTE START ===== */
/* The block cart renders a zero shipping cost as a literal "Безкоштовно"
   <strong>, which is wrong here — the buyer pays the carrier on delivery.
   Swap that one value for an honest note. */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value strong{
  display:none;
}
.wc-block-components-totals-shipping .wc-block-components-totals-item__value::after{
  content:"за тарифом перевізника";
  font-family:"Inter",sans-serif;
  font-size:13.5px;font-weight:600;line-height:1.4;
  color:var(--fx-muted,#6E6A63);
}
/* classic checkout note next to the method name */
.fx-ship-note{color:var(--fx-muted,#6E6A63);font-weight:500;font-size:13.5px;}
/* ===== FX SHIPPING NOTE END ===== */



/* ===== FX RHYTHM START ===== */
/* The picker and the three selling points are one thought — close the 150px
   gap between them so the top of the page reads as a compact unit. */
.fx-sec--picker{padding-top:52px;padding-bottom:22px;}
.fx-sec--points{padding-top:0;padding-bottom:52px;}
.fx-sec--points .fx-brands__note{margin-top:0;}
@media (max-width:760px){
  .fx-sec--picker{padding-top:34px;padding-bottom:16px;}
  .fx-sec--points{padding-top:0;padding-bottom:34px;}
}
/* ===== FX RHYTHM END ===== */

/* ===== FX RAIL START ===== */

/* ---------- scrollable parts rail ---------- */
.fx-rail{margin-top:22px;}

.fx-rail__bar{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;margin-bottom:14px;flex-wrap:wrap;
}
.fx-rail__chips{display:flex;gap:8px;flex-wrap:wrap;}
.fx-rail__chip{
  display:inline-flex;align-items:center;
  padding:7px 14px;border-radius:999px;
  background:var(--fx-card,#fff);
  border:1px solid var(--fx-line,#E9E5DE);
  font-size:13.4px;font-weight:650;
  color:var(--fx-ink,#1F2021);
  text-decoration:none!important;
  transition:border-color .22s ease,background .22s ease,transform .22s ease;
}
.fx-rail__chip:hover{border-color:rgba(194,102,46,.5);background:rgba(194,102,46,.06);transform:translateY(-1px);}
.fx-rail__chip--all{background:var(--fx-ink,#1F2021);color:#fff;border-color:var(--fx-ink,#1F2021);}
.fx-rail__chip--all:hover{background:#2E2F31;color:#fff;}

.fx-rail__nav{display:flex;gap:8px;flex:0 0 auto;}
.fx-rail__btn{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  background:var(--fx-card,#fff);
  border:1px solid var(--fx-line,#E9E5DE);
  color:var(--fx-ink,#1F2021);
  transition:border-color .22s ease,background .22s ease,opacity .22s ease;
}
.fx-rail__btn:hover:not(:disabled){border-color:rgba(194,102,46,.55);background:rgba(194,102,46,.08);}
.fx-rail__btn:disabled{opacity:.32;cursor:default;}

/* the track itself — native horizontal scroll, snapped */
.fx-rail__track{
  display:grid;grid-auto-flow:column;
  grid-auto-columns:minmax(196px,1fr);
  gap:14px;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:2px 2px 12px;
  scrollbar-width:thin;
  scrollbar-color:rgba(31,30,28,.22) transparent;
  -webkit-overflow-scrolling:touch;
}
.fx-rail__track::-webkit-scrollbar{height:5px;}
.fx-rail__track::-webkit-scrollbar-track{background:rgba(31,30,28,.06);border-radius:99px;}
.fx-rail__track::-webkit-scrollbar-thumb{background:rgba(31,30,28,.22);border-radius:99px;}
.fx-rail__track::-webkit-scrollbar-thumb:hover{background:rgba(31,30,28,.34);}

/* ---------- product card ---------- */
.fx-pcard{
  scroll-snap-align:start;
  display:flex;flex-direction:column;
  background:var(--fx-card,#fff);
  border:1px solid var(--fx-line,#E9E5DE);
  border-radius:15px;overflow:hidden;
  text-decoration:none!important;
  transition:transform .28s var(--fx-ease,cubic-bezier(.22,1,.36,1)),
             box-shadow .28s var(--fx-ease,cubic-bezier(.22,1,.36,1)),
             border-color .28s ease;
}
.fx-pcard *{text-decoration:none!important;}
.fx-pcard:hover{
  transform:translateY(-4px);
  box-shadow:var(--fx-sh-2,0 14px 30px rgba(31,30,28,.11));
  border-color:rgba(194,102,46,.42);
}
.fx-pcard__ph{
  position:relative;display:block;
  aspect-ratio:1/1;
  background:linear-gradient(150deg,#EFEDE8,#EEEBE6);
  overflow:hidden;
}
.fx-pcard__ph img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .45s var(--fx-ease,cubic-bezier(.22,1,.36,1));
}
.fx-pcard:hover .fx-pcard__ph img{transform:scale(1.06);}
.fx-pcard__tag{
  position:absolute;left:9px;top:9px;
  padding:4px 9px;border-radius:999px;
  font-size:11px;font-weight:750;letter-spacing:.01em;
  background:rgba(255,255,255,.94);color:#177245;
  box-shadow:0 1px 4px rgba(31,30,28,.12);
}
.fx-pcard__tag.is-order{color:#94501A;}

.fx-pcard__name{
  padding:11px 13px 0;
  font-size:13.6px;font-weight:650;line-height:1.35;
  color:var(--fx-ink,#1F2021);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:2.7em;
}
.fx-pcard__foot{
  margin-top:auto;
  padding:8px 13px 12px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.fx-pcard__price{font-size:15.5px;font-weight:800;color:var(--fx-ink,#1F2021);}
.fx-pcard__price .woocommerce-Price-amount{font-weight:800;}
.fx-pcard__go{color:var(--fx-accent,#C2662E);transition:transform .24s var(--fx-ease,cubic-bezier(.22,1,.36,1));}
.fx-pcard:hover .fx-pcard__go{transform:translateX(3px);}

/* ---------- four tinted feature tiles ---------- */
/* ---------- tablet ---------- */
@media (max-width:1000px){
  .fx-points{grid-template-columns:repeat(2,1fr);}
  .fx-rail__track{grid-auto-columns:minmax(180px,1fr);}
}

/* ---------- phone ---------- */
@media (max-width:760px){
  .fx-rail{margin-top:18px;}
  .fx-rail__bar{gap:10px;}
  .fx-rail__chip{padding:6px 12px;font-size:12.8px;}
  .fx-rail__nav{display:none;} /* swipe instead */
  .fx-rail__track{
    grid-auto-columns:minmax(152px,1fr);
    gap:11px;padding-bottom:10px;
  }
  .fx-pcard__name{font-size:12.9px;padding:9px 11px 0;}
  .fx-pcard__foot{padding:7px 11px 11px;}
  .fx-pcard__price{font-size:14.5px;}
  .fx-pcard__tag{font-size:10.2px;padding:3px 7px;left:7px;top:7px;}

}
/* ===== FX RAIL END ===== */

/* ===== FX POINTS DARK START ===== */
/* Pale pastel boxes read as a stock template and left the page all-white top to
   bottom. One dark panel — same navy/amber as the hero — anchors the section
   and gives the white catalogue below something to sit against. */
.fx-points{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:0;
  position:relative;isolation:isolate;overflow:hidden;
  border-radius:var(--fx-r-lg,22px);
  background:
    radial-gradient(680px 380px at 82% 6%, rgba(194,102,46,.15), transparent 62%),
    radial-gradient(620px 400px at 6% 96%, rgba(160,152,140,.22), transparent 68%),
    linear-gradient(152deg,#202021 0%,#26272A 55%,#2B2C2E 100%);
  box-shadow:var(--fx-sh-3,0 26px 60px rgba(31,30,28,.14));
}
/* faint engineering grid, same idea as the hero art */
.fx-points::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 78%);
  -webkit-mask-image:radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 78%);
}

.fx-point{
  position:relative;z-index:1;
  margin:0;padding:28px 24px 30px;
  background:transparent;border:0;border-radius:0;box-shadow:none;
  border-right:1px solid rgba(255,255,255,.085);
  transition:background .3s ease;
}
.fx-point:last-child{border-right:0;}
.fx-point:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.035);}

.fx-point__ic{
  display:grid;place-items:center;
  width:42px;height:42px;margin:0 0 15px;
  border-radius:13px;
  background:linear-gradient(150deg, rgba(194,102,46,.26), rgba(194,102,46,.10));
  border:1px solid rgba(194,102,46,.32);
  color:#DD9257;
  box-shadow:0 4px 14px rgba(194,102,46,.16);
}
.fx-point__ic svg{width:21px;height:21px;}

.fx-point h3{
  margin:0 0 7px;
  font-size:16px;font-weight:750;line-height:1.3;letter-spacing:-.01em;
  color:#FFFFFF;
}
.fx-point p{
  margin:0;
  font-size:13.2px;line-height:1.55;
  color:rgba(232,228,221,.66);
}

@media (max-width:1000px){
  .fx-points{grid-template-columns:repeat(2,1fr);}
  .fx-point:nth-child(2n){border-right:0;}
  .fx-point:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.085);}
}
@media (max-width:760px){
  .fx-points{grid-template-columns:1fr;border-radius:18px;}
  .fx-point{padding:20px 19px 21px;border-right:0;border-bottom:1px solid rgba(255,255,255,.085);}
  .fx-point:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.085);}
  .fx-point:last-child{border-bottom:0;}
  .fx-point__ic{width:38px;height:38px;margin-bottom:12px;border-radius:11px;}
  .fx-point__ic svg{width:19px;height:19px;}
  .fx-point h3{font-size:15.4px;}
  .fx-point p{font-size:13px;}
}
/* ===== FX POINTS DARK END ===== */

/* ===== FX CATS START ===== */
/* Two of the three directions are still roadmap items. Giving all three equal
   width made the row read as mostly empty, so the category that can actually
   be bought from takes the space and the other two sit compactly beside it. */
.fx-cats{
  display:grid;
  grid-template-columns:1.55fr 1fr;
  gap:14px;
  align-items:stretch;
}

/* ---------- feature card ---------- */
.fx-cat--feature{
  display:grid;grid-template-columns:1fr auto;
  gap:22px;align-items:center;
  padding:30px 30px 30px 32px;
  background:var(--fx-surface,#fff);
  border:1px solid var(--fx-line,#E4E0D9);
  border-radius:var(--fx-r-lg,22px);
  box-shadow:var(--fx-sh-1);
  position:relative;overflow:hidden;
  text-decoration:none!important;
  transition:transform .3s var(--fx-ease),box-shadow .3s var(--fx-ease),border-color .3s ease;
}
.fx-cat--feature::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(420px 240px at 88% 12%, rgba(194,102,46,.10), transparent 65%);
}
.fx-cat--feature:hover{
  transform:translateY(-4px);
  box-shadow:var(--fx-sh-3);
  border-color:rgba(194,102,46,.42);
}
.fx-cat__body{position:relative;z-index:1;display:block;min-width:0;}

.fx-cat__eyebrow{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
  color:var(--fx-accent,#C2662E);margin-bottom:11px;
}
.fx-cat__dot{
  width:7px;height:7px;border-radius:50%;
  background:#28A264;box-shadow:0 0 0 3px rgba(40,162,100,.16);
}
.fx-cat--feature h3{
  margin:0 0 9px;font-size:25px;font-weight:800;
  letter-spacing:-.02em;line-height:1.15;color:var(--fx-ink,#1A1A1B);
}
.fx-cat--feature p{
  margin:0 0 15px;font-size:14.6px;line-height:1.6;
  color:var(--fx-muted,#6E6A63);max-width:44ch;
}
.fx-cat__meta{
  display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;
  padding:8px 14px;margin-bottom:16px;
  border-radius:999px;
  background:var(--fx-accent-soft,rgba(194,102,46,.10));
  border:1px solid rgba(194,102,46,.22);
  font-size:13.4px;color:#7A4A24;
}
.fx-cat__meta b{font-weight:800;color:#6B3F1B;}
.fx-cat__meta i{width:4px;height:4px;border-radius:50%;background:rgba(122,74,36,.42);display:inline-block;}

.fx-cat__go{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14.4px;font-weight:750;color:var(--fx-accent,#C2662E);
}
.fx-cat__go svg{transition:transform .3s var(--fx-ease);}
.fx-cat--feature:hover .fx-cat__go svg{transform:translateX(5px);}

/* fanned product photos */
.fx-cat__shots{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(2,86px);
  grid-auto-rows:86px;gap:10px;flex:0 0 auto;
}
.fx-cat__shot{
  border-radius:14px;overflow:hidden;
  background:linear-gradient(150deg,#EFEDE8,#EDEAE4);
  border:1px solid rgba(31,30,28,.06);
  display:block;
  transition:transform .35s var(--fx-ease);
}
.fx-cat__shot img{width:100%;height:100%;object-fit:cover;display:block;}
.fx-cat__shot--1{grid-row:span 2;height:182px;}
.fx-cat--feature:hover .fx-cat__shot--1{transform:translateY(-3px);}
.fx-cat--feature:hover .fx-cat__shot--2{transform:translateY(-2px);}
.fx-cat--feature:hover .fx-cat__shot--3{transform:translateY(-1px);}

/* ---------- upcoming column ---------- */
.fx-cat__side{display:grid;grid-template-rows:1fr 1fr;gap:14px;}
.fx-cat--soon{
  display:grid;grid-template-columns:auto 1fr;
  grid-template-areas:"ic txt" "badge badge";
  gap:13px;align-content:center;
  padding:22px 22px;
  background:#EEEBE6;
  border:1px solid rgba(31,30,28,.05);
  border-radius:var(--fx-r-lg,22px);
  box-shadow:none;
}
.fx-cat--soon .fx-cat__ic{
  grid-area:ic;
  width:40px;height:40px;margin:0;border-radius:12px;
  display:grid;place-items:center;
  background:rgba(110,106,99,.10);color:#969087;
}
.fx-cat--soon .fx-cat__ic svg{width:20px;height:20px;}
.fx-cat__txt{grid-area:txt;min-width:0;}
.fx-cat--soon h3{margin:0 0 4px;font-size:16px;font-weight:750;color:#767068;line-height:1.25;}
.fx-cat--soon p{margin:0;font-size:12.9px;line-height:1.5;color:#9E988F;}
.fx-cat--soon .fx-badge{
  grid-area:badge;justify-self:start;margin-top:12px;
  padding:4px 11px;border-radius:999px;
  background:rgba(110,106,99,.10);
  color:#85807A;font-size:11.4px;font-weight:750;
  letter-spacing:.02em;
}

/* ---------- tablet ---------- */
@media (max-width:1000px){
  .fx-cats{grid-template-columns:1fr;}
  .fx-cat__side{grid-template-rows:none;grid-template-columns:1fr 1fr;}
}

/* ---------- phone ---------- */
@media (max-width:760px){
  .fx-cat--feature{
    grid-template-columns:1fr;gap:18px;
    padding:22px 20px 24px;border-radius:18px;
  }
  .fx-cat--feature h3{font-size:21px;}
  .fx-cat--feature p{font-size:14px;margin-bottom:13px;}
  .fx-cat__meta{font-size:12.8px;padding:7px 12px;margin-bottom:14px;}
  .fx-cat__shots{grid-template-columns:repeat(3,1fr);grid-auto-rows:92px;gap:8px;}
  .fx-cat__shot--1{grid-row:auto;height:92px;}
  .fx-cat__side{grid-template-columns:1fr;gap:10px;}
  .fx-cat--soon{padding:17px 17px;border-radius:16px;gap:11px;}
  .fx-cat--soon .fx-cat__ic{width:36px;height:36px;border-radius:11px;}
  .fx-cat--soon h3{font-size:15.3px;}
}
/* ===== FX CATS END ===== */

/* ===== FX HERO PHOTO START ===== */
/* The hero art is now the whole range shot as a single photo. The copy sits on
   the left over a warm scrim; the parts stay readable on the right. */
/* The photo is 2.4:1, so the section is held near that ratio — otherwise a wide
   monitor makes a 3:1 strip and `cover` crops the top and bottom rows away. */
.fx-hero{
	min-height:clamp(500px,40vw,780px);
	display:flex;align-items:center;
	background:
		linear-gradient(100deg, rgba(26,26,27,.95) 0%, rgba(31,31,33,.86) 30%, rgba(37,38,40,.50) 52%, rgba(41,42,44,.16) 74%, rgba(43,44,46,.04) 100%),
		radial-gradient(1000px 620px at 76% 32%, rgba(221,146,87,.16), transparent 68%),
		url("/wp-content/uploads/hero/parts-wall-v5.webp") center/cover no-repeat,
		#2B2C2E !important;
}
.fx-hero::before{opacity:.3;}
.fx-hero__inner{grid-template-columns:minmax(0,660px);}
.fx-hero__art{display:none;}
.fx-hero__copy h1{text-shadow:0 3px 26px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.45);}
.fx-hero__copy p{color:#CFC9C0;text-shadow:0 1px 12px rgba(0,0,0,.42);}
.fx-hero__meta span{color:#B0A89C;}
.fx-hero__chips .fx-chip{color:#D4CEC5;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.17);}
.fx-hero__chips .fx-chip--live{color:#fff;border-color:rgba(194,102,46,.55);}
/* the 110px fade was washing out the bottom row of parts */
.fx-hero__fade{height:62px;}

/* On phones the photo is cropped hard, so the parts drop back to a texture and
   the scrim runs top-to-bottom instead of left-to-right. */
@media (max-width:980px){
	.fx-hero{
		min-height:0;
		background:
			linear-gradient(180deg, rgba(26,26,27,.95) 0%, rgba(30,30,32,.90) 55%, rgba(35,36,38,.83) 100%),
			url("/wp-content/uploads/hero/parts-wall-v5-m.webp") 76% center/cover no-repeat,
			#2B2C2E !important;
	}
	.fx-hero__inner{grid-template-columns:1fr;}
}
/* ===== FX HERO PHOTO END ===== */

/* ===== FX ASTRA TOKENS START ===== */
/* Astra prints these inline in <head>, so they need !important to lose. */
:root{
	--ast-global-color-0:#C2662E!important;   /* посилання, акценти теми */
	--ast-global-color-1:#A8541F!important;   /* наведення */
	--ast-global-color-2:#1A1A1B!important;   /* заголовки */
	--ast-global-color-3:#1F1E1C!important;   /* основний текст */
	--ast-global-color-5:#F6F4F1!important;   /* альтернативне тло */
	--ast-global-color-7:#E4E0D9!important;   /* рамки */
	--ast-global-color-secondary:#F6F4F1!important;
	--ast-global-color-subtle-background:#E4E0D9!important;
	--ast-border-color:#E4E0D9!important;
	--ast-search-border-color:#E4E0D9!important;
	--ast-widget-bg-color:#F6F4F1!important;
	--ast-bg-style-guide:#F6F4F1!important;
	--ast-code-block-background:#EEEBE6!important;
	--ast-lifter-hover-bg:#EEEBE6!important;
	--ast-wc-container-head-bg-color:#F6F4F1!important;
	--ast-global-dark-lfs:#F6F4F1!important;
	--ast-title-layout-bg:#EEEBE6!important;
}
/* ===== FX ASTRA TOKENS END ===== */

/* ===== FX ASSORT START ===== */
/* Homepage "Що ми друкуємо": a readable left-aligned column, not centred text. */
.fx-assort{max-width:760px;margin:0 auto;}
.fx-assort p{color:var(--fx-muted);font-size:16.5px;line-height:1.75;margin:0 0 16px;}
.fx-assort p:last-child{margin-bottom:0;}
.fx-assort strong{color:var(--fx-text);font-weight:600;}
/* ===== FX ASSORT END ===== */
