*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	outline: none;
	outline-style: none;
}

li {
	list-style: none;
}

a {
	border: none;
	text-decoration: none;
}

a img {
	border: none;
}

.d-none {
	display: none;
}

:focus {
	outline: none;
}

::-webkit-input-placeholder { color: #37203f94; }
::-moz-placeholder { color: #37203f94; }
:-moz-placeholder { color: #37203f94; }
:-ms-input-placeholder { color: #37203f94; }

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0
}

html {
	scroll-behavior: smooth
}

:root {
	--bg: #FBF7F1;
	--bg2: #FFFFFF;
	--bg3: #F4EDE3;
	--bg4: #EFE6D8;
	--ln: #E6DCCC;
	--ln2: #D8CBB6;
	--terra: #D2603A;
	--terra-d: #B54E2C;
	--terra-soft: #F8E6DD;
	--pine: #2F5E4E;
	--pine-d: #244A3D;
	--pine-soft: #E0EAE5;
	--ink: #2A2723;
	--ink2: #5A544C;
	--ink3: #8C8579;
	--ink4: #B5AD9F;
	--gold: #C99A3C;
	--sans: 'Manrope', system-ui, sans-serif;
	--serif: 'Spectral', Georgia, serif;
	--r: 18px;
	--r-sm: 12px;
	--r-lg: 26px;
}

body {
	font-family: var(--sans);
	background: var(--bg);
	color: var(--ink);
	line-height: 1.55;
	overflow-x: hidden
}

a {
	text-decoration: none;
	color: inherit
}

button,
input,
select,
textarea {
	font-family: inherit
}

::-webkit-scrollbar {
	width: 11px
}

::-webkit-scrollbar-track {
	background: var(--bg3)
}

::-webkit-scrollbar-thumb {
	background: var(--ln2);
	border-radius: 6px;
	border: 3px solid var(--bg3)
}

.pg {
	display: none
}

.pg.on {
	display: block
}

.wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 28px
}

/* ─── ANNOUNCE ─── */
.announce {
	background: var(--pine);
	color: #fff;
	text-align: center;
	font-size: 13px;
	font-weight: 500;
	padding: 9px 20px;
	letter-spacing: .01em
}

.announce b {
	color: #fff;
	font-weight: 700
}

/* ─── HEADER ─── */
.hdr {
	background: var(--bg);
	position: sticky;
	top: 0;
	z-index: 900;
	border-bottom: 1px solid var(--ln)
}

.hdr-in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 16px 28px;
	display: flex;
	align-items: center;
	gap: 28px
}

.logo {
	display: flex;
	align-items: center;
	gap: 11px;
	cursor: pointer;
	flex-shrink: 0
}

.logo-mark {
	width: 42px;
	height: 42px;
	background: var(--terra);
	border-radius: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	transform: rotate(-4deg)
}

.logo-mark svg {
	width: 23px;
	height: 23px
}

.logo-txt {
	display: flex;
	flex-direction: column;
	line-height: 1
}

.logo-name {
	font-family: var(--serif);
	font-size: 23px;
	font-weight: 600;
	color: var(--ink);
	letter-spacing: -.01em
}

.logo-sub {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--terra);
	margin-top: 3px
}

.search {
	flex: 1;
	display: flex;
	align-items: center;
	background: var(--bg2);
	border: 2px solid var(--ln);
	border-radius: 100px;
	padding: 4px 4px 4px 20px;
	transition: border-color .2s
}

.search:focus-within {
	border-color: var(--terra)
}

.search svg {
	width: 18px;
	height: 18px;
	color: var(--ink4);
	flex-shrink: 0
}

.search .dgwt-wcas-sf-wrapp {
	display: flex;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.search .dgwt-wcas-search-wrapp {
	max-width: unset;
	width: 100%;
}

.search input {
	flex: 1;
	border: none;
	background: none;
	padding: 9px 12px;
	font-size: 14px;
	color: var(--ink);
	outline: none
}

.search input::placeholder {
	color: var(--ink4)
}

.search button {
	background: var(--terra);
	color: #fff;
	border: none;
	border-radius: 100px;
	padding: 9px 22px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s
}

.search button:hover {
	background: var(--terra-d)
}

.hdr-acts {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0
}

.hbtn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	background: none;
	border: none;
	color: var(--ink2);
	cursor: pointer;
	padding: 8px 12px;
	border-radius: var(--r-sm);
	transition: all .18s;
	position: relative
}

.hbtn:hover {
	background: var(--bg3);
	color: var(--terra)
}

.hbtn svg {
	width: 21px;
	height: 21px
}

.hbtn span {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .02em
}

.hbdg {
	position: absolute;
	top: 3px;
	right: 7px;
	min-width: 17px;
	height: 17px;
	background: var(--terra);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
	border: 2px solid var(--bg)
}

/* ─── NAV ─── */
.nav {
	background: var(--bg2);
	border-bottom: 1px solid var(--ln)
}

.nav-in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 28px;
	display: flex;
	align-items: center;
	gap: 4px;
	height: 50px;
	overflow-x: auto
}

.nav-in::-webkit-scrollbar {
	display: none
}

.nav-cat {
	display: flex;
	align-items: center;
	gap: 9px;
	background: var(--pine);
	color: #fff;
	border: none;
	border-radius: 100px;
	padding: 9px 18px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
	transition: background .2s;
	margin-right: 8px
}

.nav-cat:hover {
	background: var(--pine-d)
}

.nav-cat svg {
	width: 15px;
	height: 15px
}

.nav-in ul {
	display: flex;
	gap: 9px;
}

.nav-in ul a {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink2);
	padding: 9px 15px;
	border-radius: 100px;
	cursor: pointer;
	white-space: nowrap;
	transition: all .16s
}

.nav-in ul a:hover,
.nav-in ul .current-menu-item a {
	background: var(--terra-soft);
	color: var(--terra-d)
}

/* ─── BUTTONS ─── */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 700;
	padding: 12px 24px;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	transition: all .2s;
	white-space: nowrap
}

.btn-terra {
	background: var(--terra);
	color: #fff
}

.btn-terra:hover {
	background: var(--terra-d);
	transform: translateY(-1px)
}

.btn-pine {
	background: var(--pine);
	color: #fff
}

.btn-pine:hover {
	background: var(--pine-d);
	transform: translateY(-1px)
}

.btn-out {
	background: transparent;
	border: 2px solid var(--ln2);
	color: var(--ink2)
}

.btn-out:hover {
	border-color: var(--terra);
	color: var(--terra)
}

.btn-soft {
	background: var(--terra-soft);
	color: var(--terra-d)
}

.btn-soft:hover {
	background: var(--terra);
	color: #fff
}

.btn-cream {
	background: var(--bg3);
	color: var(--ink)
}

.btn-cream:hover {
	background: var(--bg4)
}

.btn-lg {
	font-size: 15px;
	padding: 15px 32px
}

.btn-sm {
	font-size: 12px;
	padding: 9px 16px
}

.btn-block {
	width: 100%
}

/* ─── HERO ─── */
.hero {
	padding: 56px 0 20px
}

.hero-in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 28px;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 48px;
	align-items: center
}

.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--pine-soft);
	color: var(--pine-d);
	font-size: 12px;
	font-weight: 700;
	padding: 7px 15px;
	border-radius: 100px;
	margin-bottom: 22px
}

.hero-badge::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pine)
}

.hero-h {
	font-family: var(--serif);
	font-size: clamp(36px, 5vw, 58px);
	font-weight: 600;
	line-height: 1.08;
	letter-spacing: -.015em;
	color: var(--ink);
	margin-bottom: 22px
}

.hero-h em {
	font-style: italic;
	color: var(--terra)
}

.hero-p {
	font-size: 17px;
	color: var(--ink2);
	line-height: 1.7;
	margin-bottom: 30px;
	max-width: 480px
}

.hero-acts {
	display: flex;
	gap: 13px;
	flex-wrap: wrap;
	margin-bottom: 34px
}

.hero-trust {
	display: flex;
	gap: 28px;
	flex-wrap: wrap
}

.htr {
	display: flex;
	align-items: center;
	gap: 10px
}

.htr-ic {
	width: 38px;
	height: 38px;
	border-radius: 11px;
	background: var(--bg3);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	flex-shrink: 0
}

.htr-t {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink)
}

.htr-d {
	font-size: 11px;
	color: var(--ink3)
}

/* hero visual */
.hero-visual {
	position: relative
}

.hero-blob {
	position: absolute;
	inset: -8% -4%;
	background: radial-gradient(circle at 60% 40%, var(--terra-soft), transparent 65%);
	border-radius: 50%;
	z-index: 0
}

.hero-card {
	position: relative;
	z-index: 1;
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r-lg);
	padding: 26px;
	box-shadow: 0 24px 60px -20px rgba(42, 39, 35, .16)
}

.hero-card-media {
	background: var(--bg3);
	border-radius: var(--r);
	height: 230px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	position: relative;
	overflow: hidden
}

.hero-card-media img {
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.hero-card-media svg {
	width: 170px
}

.hero-card-pill {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--terra);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 5px 12px;
	border-radius: 100px
}

.hero-card-brand {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 7px
}

.hero-card-nm {
	font-family: var(--serif);
	font-size: 20px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 14px;
	line-height: 1.25
}

.hero-card-row {
	display: flex;
	align-items: center;
	justify-content: space-between
}

.hero-card-price {
	font-size: 24px;
	font-weight: 800;
	color: var(--ink)
}

.hero-card-price small {
	display: block;
	font-size: 11px;
	font-weight: 600;
	color: var(--ink3);
	text-transform: uppercase;
	letter-spacing: .04em
}

/* ─── TRUST STRIP ─── */
.tstrip {
	max-width: 1280px;
	margin: 32px auto 0;
	padding: 0 28px
}

.tstrip-in {
	background: var(--pine);
	border-radius: var(--r-lg);
	padding: 8px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px
}

.tstrip-c {
	padding: 22px 20px;
	text-align: center;
	border-radius: var(--r);
	transition: background .2s
}

.tstrip-c:hover {
	background: rgba(255, 255, 255, .06)
}

.tstrip-n {
	font-size: 32px;
	font-weight: 800;
	color: #fff;
	line-height: 1
}

.tstrip-l {
	font-size: 12px;
	color: rgba(255, 255, 255, .7);
	margin-top: 7px;
	font-weight: 500
}

/* ─── SECTION ─── */
.sec {
	max-width: 1280px;
	margin: 0 auto;
	padding: 72px 28px 0
}

.sec-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 32px;
	gap: 20px;
	flex-wrap: wrap
}

.sec-head-c {
	text-align: center;
	display: block;
	margin-bottom: 40px
}

.sec-eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 12px
}

.sec-title {
	font-family: var(--serif);
	font-size: clamp(26px, 3.4vw, 40px);
	font-weight: 600;
	color: var(--ink);
	letter-spacing: -.01em;
	line-height: 1.1
}

.sec-title em {
	font-style: italic;
	color: var(--terra)
}

.sec-desc {
	font-size: 15px;
	color: var(--ink2);
	max-width: 520px;
	margin: 14px auto 0;
	line-height: 1.7
}

.sec-tabs {
	display: flex;
	gap: 7px;
	flex-wrap: wrap
}

.stab {
	font-size: 13px;
	font-weight: 600;
	padding: 9px 18px;
	border-radius: 100px;
	border: 2px solid var(--ln);
	background: var(--bg2);
	color: var(--ink2);
	cursor: pointer;
	transition: all .18s
}

.stab:hover {
	border-color: var(--terra)
}

.stab.on {
	background: var(--terra);
	border-color: var(--terra);
	color: #fff
}

/* ─── CATEGORY PILLS ─── */
.cat-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px
}

.cat-card {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 26px;
	cursor: pointer;
	transition: all .22s;
	position: relative;
	overflow: hidden
}

.cat-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 40px -18px rgba(42, 39, 35, .18);
	border-color: var(--terra)
}

.cat-card-ic {
	width: 54px;
	height: 54px;
	border-radius: 15px;
	background: var(--terra-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	margin-bottom: 16px;
	transition: all .22s
}

.cat-card:hover .cat-card-ic {
	background: var(--terra);
	transform: rotate(-6deg)
}

.cat-card-nm {
	font-family: var(--serif);
	font-size: 18px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 5px
}

.cat-card-c {
	font-size: 13px;
	color: var(--ink3);
	font-weight: 500
}

.cat-card-arrow {
	position: absolute;
	top: 26px;
	right: 26px;
	color: var(--ink4);
	transition: all .22s
}

.cat-card:hover .cat-card-arrow {
	color: var(--terra);
	transform: translate(3px, -3px)
}

/* ─── PRODUCT CARD ─── */
.prods {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px
}

.prods.cols3 {
	grid-template-columns: repeat(3, 1fr)
}

.pcard {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	overflow: hidden;
	cursor: pointer;
	transition: all .22s;
	display: flex;
	flex-direction: column;
	position: relative
}

.pcard:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 44px -20px rgba(42, 39, 35, .2);
	border-color: var(--ln2)
}

.pcard-media {
	position: relative;
	height: 200px;
	border-bottom: 1px solid var(--bg3);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden
}

.pcard-media .imgL {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.pcard-media img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.pcard-media svg {
	width: 118px;
	transition: transform .35s
}

.pcard:hover .pcard-media svg {
	transform: scale(1.07) rotate(-2deg)
}

.pcard-pills {
	position: absolute;
	top: 13px;
	left: 13px;
	display: flex;
	flex-direction: column;
	gap: 5px
}

.ppill {
	font-size: 10px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 100px;
	letter-spacing: .02em
}

.pp-terra {
	background: var(--terra);
	color: #fff
}

.pp-pine {
	background: var(--pine);
	color: #fff
}

.pp-gold {
	background: var(--gold);
	color: #fff
}

.pcard-fav {
	position: absolute;
	top: 13px;
	right: 13px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--bg2);
	border: 1px solid var(--ln);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--ink4);
	font-size: 15px;
	transition: all .18s;
	z-index: 2
}

.pcard-fav:hover,
.pcard-fav.on {
	color: var(--terra);
	border-color: var(--terra);
	background: var(--terra-soft)
}

.pcard-quick {
	position: absolute;
	left: 13px;
	right: 13px;
	bottom: 13px;
	background: var(--ink);
	color: #fff;
	border: none;
	border-radius: 100px;
	padding: 11px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	opacity: 0;
	transform: translateY(8px);
	transition: all .25s;
	z-index: 2;
	text-align: center;
}

.pcard:hover .pcard-quick {
	opacity: 1;
	transform: translateY(0)
}

.pcard-quick:hover {
	background: var(--terra)
}

.pcard-body {
	padding: 18px;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.pcard-brand {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 7px
}

.pcard-nm {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.35;
	margin-bottom: 10px;
	min-height: 38px
}

.pcard-rating {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 12px
}

.pcard-stars {
	color: var(--gold);
	font-size: 12px;
	letter-spacing: .5px
}

.pcard-rating-n {
	font-size: 11px;
	color: var(--ink3);
	font-weight: 600
}

.pcard-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-bottom: 13px
}

.ptag {
	font-size: 10px;
	font-weight: 600;
	color: var(--ink3);
	background: var(--bg3);
	padding: 4px 9px;
	border-radius: 7px
}

.pcard-foot {
	margin-top: auto
}

.pcard-avail {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11px;
	font-weight: 700;
	margin-bottom: 11px
}

.av-y {
	color: var(--pine)
}

.av-y::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pine)
}

.av-o {
	color: var(--gold)
}

.av-o::before {
	content: '';
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gold)
}

.pcard-price-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 13px
}

.pcard-price {
	font-size: 21px;
	font-weight: 800;
	color: var(--ink);
	letter-spacing: -.01em
}

.pcard-price small {
	display: block;
	font-size: 10px;
	font-weight: 600;
	color: var(--ink3);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 1px
}

.pcard-lease {
	font-size: 11px;
	font-weight: 600;
	color: var(--pine);
	text-align: right
}

.pcard-lease small {
	display: block;
	color: var(--ink4);
	font-weight: 500
}

.pcard-acts {
	display: flex;
	gap: 7px
}

.pcard-acts form {
	flex: 1;
}

.pcard-cart {
	width: 100%;
	background: var(--terra-soft);
	color: var(--terra-d);
	border: none;
	border-radius: 100px;
	padding: 11px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: all .18s
}

.pcard-cart:hover {
	background: var(--terra);
	color: #fff
}

.pcard-cmp {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	flex-shrink: 0;
	background: var(--bg3);
	border: none;
	border-radius: 100px;
	cursor: pointer;
	font-size: 15px;
	font-weight: 500;
	color: var(--ink3);
	transition: all .18s
}

.pcard-cmp:hover,
.pcard-cmp.on {
	background: var(--pine);
	color: #fff
}

/* list view */
.prods.listv {
	grid-template-columns: 1fr;
	gap: 14px
}

.prods.listv .pcard {
	flex-direction: row
}

.prods.listv .pcard-media {
	width: 200px;
	flex-shrink: 0;
	height: auto
}

.prods.listv .pcard-quick {
	display: none
}

.prods.listv .pcard-body {
	flex-direction: row;
	align-items: center;
	gap: 28px;
	flex: 1
}

.prods.listv .pcard-main {
	flex: 1
}

.prods.listv .pcard-nm {
	min-height: 0;
	font-size: 16px
}

.prods.listv .pcard-foot {
	width: 230px;
	flex-shrink: 0;
	margin: 0
}

/* ─── BREADCRUMB ─── */
.bcrumb {
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px 28px 0;
	display: flex;
	gap: 9px;
	align-items: center;
	flex-wrap: wrap
}

.bcrumb a {
	font-size: 13px;
	color: var(--ink3);
	cursor: pointer;
	font-weight: 500;
	transition: color .15s
}

.bcrumb i {
	font-size: 13px;
	color: var(--ink4);
	cursor: pointer;
	font-weight: 500;
	transition: color .15s;
	font-style: normal;
}

.bcrumb a:hover {
	color: var(--terra)
}

.bcrumb span {
	color: var(--ink4);
	font-size: 12px
}

.bcrumb b {
	font-size: 13px;
	color: var(--ink2);
	font-weight: 600
}

/* ─── CATALOG ─── */
.cat-layout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 28px 72px;
	display: grid;
	grid-template-columns: 270px 1fr;
	gap: 32px;
	align-items: start
}

.filters {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 8px;
	position: sticky;
	top: 140px
}

.fg {
	border-bottom: 1px solid var(--ln);
	padding: 18px 16px
}

.fg:last-child {
	border-bottom: none
}

.fg-t {
	font-size: 14px;
	font-weight: 800;
	color: var(--ink);
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 8px
}

.fg-t::before {
	content: '';
	width: 4px;
	height: 15px;
	background: var(--terra);
	border-radius: 2px
}

.filters .bapf_sfilter ul li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0 !important;
	cursor: pointer
}

.filters .bapf_sfilter ul li input {
	appearance: none;
	width: 19px;
	height: 19px;
	border: 2px solid var(--ln2);
	border-radius: 6px;
	cursor: pointer;
	flex-shrink: 0;
	position: relative;
	transition: all .15s;
	margin: 0 !important;
}

.filters .bapf_sfilter ul li input:checked {
	background: var(--terra);
	border-color: var(--terra)
}

.filters .bapf_sfilter ul li input:checked::after {
	content: '✓';
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 12px;
	font-weight: 800
}

.fopt-l {
	font-size: 13px;
	color: var(--ink2);
	font-weight: 500;
	flex: 1
}

.filters .bapf_sfilter ul li:hover .fopt-l {
	color: var(--ink)
}

.fopt-n {
	font-size: 11px;
	color: var(--ink4);
	font-weight: 600;
	background: var(--bg3);
	padding: 2px 8px;
	border-radius: 100px
}

.filters .bapf_show_hide {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ink4);
	height: 30px;
	border: 2px solid var(--ln);
	margin: 20px auto 0px auto;
	border-radius: 20px;
}

.woocommerce-pagination {
	display: flex;
	justify-content: center;
	margin-top: 36px;
	width: 100%;
}

.woocommerce-pagination .page-numbers {
	display: flex;
	align-items: center;
	gap: 6px;
	justify-content: center;
}

.woocommerce-pagination a,
.woocommerce-pagination span {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--ln);
	border-radius: 8px;
	font-size: 15px;
	background: white;
	cursor: pointer;
	transition: 0.2s linear;
}

.woocommerce-pagination a:hover {
	color: var(--ln);
}

.woocommerce-pagination .dots {
	border: none;
	cursor: default;
}

.woocommerce-pagination .current {
	background: var(--ln);
	color: white;
}

.fprice {
	display: flex;
	align-items: center;
	gap: 9px
}

.fprice input {
	width: 100%;
	background: var(--bg3);
	border: 1px solid var(--ln);
	border-radius: 10px;
	padding: 10px 12px;
	font-size: 13px;
	color: var(--ink);
	outline: none;
	font-weight: 600
}

.fprice input:focus {
	border-color: var(--terra);
	background: var(--bg2)
}

.fprice span {
	color: var(--ink4)
}

.fbtn {
	width: 100%;
	margin-top: 12px;
	background: var(--pine);
	color: #fff;
	border: none;
	border-radius: 100px;
	padding: 11px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .2s
}

.fbtn:hover {
	background: var(--pine-d)
}

.fclear {
	width: 100%;
	margin-top: 8px;
	background: none;
	border: none;
	color: var(--ink3);
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	padding: 6px
}

.fclear:hover {
	color: var(--terra)
}

.cat-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 22px;
	gap: 16px;
	flex-wrap: wrap
}

.woocommerce-result-count {
	font-size: 14px;
	color: var(--ink2);
	font-weight: 500
}

.cat-bar-r {
	display: flex;
	align-items: center;
	gap: 12px
}

.orderby {
	background: var(--bg2);
	border: 2px solid var(--ln);
	border-radius: 100px;
	padding: 9px 16px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink2);
	outline: none;
	cursor: pointer
}

.cat-bar-l .bapf_sfilter {
	margin: 0;
}

.cat-bar-l .bapf-sfa-grey-rounded .berocket_aapf_widget_selected_area li a {
	display: flex!important;
	align-items: center;
	gap: 6px;
	background: var(--bg2);
	color: var(--ink2);
	font-size: 12px;
	padding: 5px 30px 5px 12px;
	border-radius: 20px;
	border: 2px solid var(--ln);
	position: relative;
	font-weight: 500;
}

.cat-bar-l .bapf-sfa-grey-rounded .berocket_aapf_widget_selected_area li a:before {
    color: var(--ink2);
    content: "×";
    rotate: none;
    display: block;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 16px;
    line-height: 1;
    font-weight: 500;
    width: auto;
    height: auto;
}

.cat-bar-l .bapf-sfa-grey-rounded .berocket_aapf_widget_selected_area a.braapf_unselect_all {
	background: none;
	border: none;
	font-size: 13px;
	color: var(--terra);
	display: flex;
	align-items: center;
	padding: 0;
}

.vsw {
	display: flex;
	gap: 4px;
	background: var(--bg2);
	border: 2px solid var(--ln);
	border-radius: 100px;
	padding: 3px
}

.vbtn {
	width: 34px;
	height: 30px;
	border: none;
	background: none;
	border-radius: 100px;
	color: var(--ink3);
	cursor: pointer;
	font-size: 14px;
	transition: all .15s
}

.vbtn.on {
	background: var(--terra);
	color: #fff
}

/* ─── DETAIL ─── */
.det {
	max-width: 1280px;
	margin: 0 auto;
	padding: 24px 28px 72px
}

.det-top {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 44px;
	margin-bottom: 56px
}

.det-media-main {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r-lg);
	height: 440px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	margin-bottom: 14px
}

.det-media-main a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.det-media-main a img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.det-media-main svg {
	width: 240px
}

.det-media-pill {
	position: absolute;
	top: 18px;
	left: 18px;
	background: var(--terra);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	padding: 6px 14px;
	border-radius: 100px
}

.det-thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 11px
}

.det-thumb {
	background: var(--bg2);
	border: 2px solid var(--ln);
	border-radius: var(--r-sm);
	height: 76px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: border-color .18s
}

.det-thumb svg {
	width: 52px
}

.det-thumb:hover,
.det-thumb.on {
	border-color: var(--terra)
}

.det-brand {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--terra-d);
	background: var(--terra-soft);
	padding: 5px 13px;
	border-radius: 100px;
	margin-bottom: 15px
}

.det-name {
	font-family: var(--serif);
	font-size: clamp(26px, 3.2vw, 38px);
	font-weight: 600;
	color: var(--ink);
	line-height: 1.15;
	margin-bottom: 16px
}

.det-rate {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--ln)
}

.det-stars {
	color: var(--gold);
	font-size: 16px;
	letter-spacing: 1px
}

.det-rate-n {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink)
}

.det-rate-link {
	font-size: 13px;
	color: var(--ink3);
	cursor: pointer
}

.det-rate-link:hover {
	color: var(--terra)
}

.det-price-card {
	background: var(--bg3);
	border-radius: var(--r);
	padding: 24px;
	margin-bottom: 22px
}

.det-price-top {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 16px
}

.det-price-lbl {
	font-size: 12px;
	font-weight: 600;
	color: var(--ink3);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 4px
}

.det-price {
	font-size: 38px;
	font-weight: 800;
	color: var(--ink);
	line-height: 1
}

.det-lease-badge {
	background: var(--pine-soft);
	color: var(--pine-d);
	font-size: 13px;
	font-weight: 700;
	padding: 9px 15px;
	border-radius: 100px
}

.det-avail {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 14px;
	font-weight: 700;
	color: var(--pine)
}

.det-avail::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pine)
}

.det-acts {
	display: flex;
	gap: 11px;
	margin-bottom: 24px
}

.det-acts .cart,
.det-acts .form_24 {
	flex: 1;
}

.det-acts .cart .btn {
	width: 100%;
}

.det-fav-btn {
	flex: 0 0 auto !important;
	width: 54px;
	padding: 0;
	font-size: 19px
}

.det-perks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 13px
}

.det-perk {
	display: flex;
	align-items: center;
	gap: 12px
}

.det-perk-ic {
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--bg3);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--pine)
}

.det-perk-ic svg {
	width: 21px;
	height: 21px
}

.det-perk-t {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink)
}

.det-perk-d {
	font-size: 11px;
	color: var(--ink3)
}

/* tabs */
.det-tabs {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r-lg);
	overflow: hidden
}

.det-tabnav {
	display: flex;
	gap: 0;
	border-bottom: 1px solid var(--ln);
	padding: 8px;
	background: var(--bg3)
}

.dtab {
	flex: 1;
	font-size: 14px;
	font-weight: 700;
	padding: 14px;
	background: none;
	border: none;
	color: var(--ink3);
	cursor: pointer;
	border-radius: var(--r-sm);
	transition: all .18s
}

.dtab:hover {
	color: var(--ink)
}

.dtab.on {
	background: var(--bg2);
	color: var(--terra);
	box-shadow: 0 3px 12px -4px rgba(42, 39, 35, .15)
}

.dpane {
	display: none;
	padding: 34px
}

.dpane.on {
	display: block
}

.dpane .section_info p {
	font-weight: 400;
	margin-bottom: 10px;
	line-height: 1.6;
	font-size: 14px;
	color: var(--ink);
}

.dpane .section_info h2:nth-of-type(1) {
	margin-top: 0;
}

.dpane .section_info h2 {
	font-size: 18px;
	margin: 40px 0px 20px 0px;
	position: relative;
	color: var(--pine);
}

.dpane .section_info h3 {
	font-size: 16px;
	margin: 30px 0px 20px 0px;
	position: relative;
	color: var(--pine);
	font-weight: 500;
}

.dpane .section_info li {
	font-weight: 400;
	line-height: 1.8;
	list-style-type: none;
	position: relative;
	padding-left: 20px;
}

.dpane .section_info li:after {
	content: '';
	position: absolute;
	display: block;
	width: 7px;
	height: 7px;
	background: var(--ink);
	left: 0;
	top: 9px;
	border-radius: 50%;
}

.dpane .section_info ul {
	padding-left: 30px;
	margin-bottom: 20px;
	font-size: 15px;
}

.dpane .section_info strong {
	font-weight: 400;
}

.dpane .section_info em {
	font-weight: 400;
	font-style: normal;
}

.spec-table {
	width: 100%;
	border-collapse: collapse;
	max-width: 720px;
	margin: 0 auto
}

.spec-table tr {
	border-bottom: 1px solid var(--ln)
}

.spec-table td {
	padding: 13px 16px;
	font-size: 14px
}

.spec-table td:first-child {
	color: var(--ink3);
	font-weight: 500;
	width: 44%
}

.spec-table td:last-child {
	color: var(--ink);
	font-weight: 700
}

.spec-table tr:nth-child(odd) {
	background: var(--bg3)
}

.docs-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 13px;
	max-width: 760px;
	margin: 0 auto
}

.doc {
	display: flex;
	align-items: center;
	gap: 13px;
	background: var(--bg3);
	border-radius: var(--r-sm);
	padding: 16px;
	cursor: pointer;
	transition: all .18s
}

.doc:hover {
	background: var(--terra-soft)
}

.doc-ic {
	width: 42px;
	height: 42px;
	border-radius: 11px;
	background: var(--terra);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 800;
	flex-shrink: 0
}

.doc-nm {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink)
}

.doc-mt {
	font-size: 11px;
	color: var(--ink3)
}

.reviews {
	max-width: 760px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 14px
}

.rev {
	background: var(--bg3);
	border-radius: var(--r);
	padding: 22px
}

.rev-top {
	display: flex;
	align-items: center;
	gap: 13px;
	margin-bottom: 12px
}

.rev-ava {
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--terra-soft);
	color: var(--terra-d);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 800;
	flex-shrink: 0
}

.rev-who {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink)
}

.rev-role {
	font-size: 12px;
	color: var(--ink3)
}

.rev-stars {
	margin-left: auto;
	color: var(--gold);
	font-size: 13px;
	letter-spacing: .5px
}

.rev-txt {
	font-size: 14px;
	color: var(--ink2);
	line-height: 1.7
}

.rev-vr {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	color: var(--pine);
	margin-top: 12px
}

/* ─── CART DRAWER ─── */
.dovl {
	position: fixed;
	inset: 0;
	background: rgba(42, 39, 35, .45);
	z-index: 940;
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s;
	backdrop-filter: blur(2px)
}

.dovl.on {
	opacity: 1;
	pointer-events: all
}

.drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 410px;
	background: var(--bg);
	z-index: 950;
	transform: translateX(100%);
	transition: transform .34s cubic-bezier(.4, 0, .2, 1);
	display: flex;
	flex-direction: column
}

.drawer.on {
	transform: none
}

.drawer-h {
	padding: 24px 26px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--ln)
}

.drawer-h-t {
	font-family: var(--serif);
	font-size: 22px;
	font-weight: 600;
	color: var(--ink)
}

.drawer-x {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--bg3);
	border: none;
	color: var(--ink2);
	cursor: pointer;
	font-size: 18px;
	transition: all .18s
}

.drawer-x:hover {
	background: var(--terra);
	color: #fff
}

.drawer-items {
	flex: 1;
	overflow-y: auto;
	padding: 20px 26px
}

.ditem {
	display: flex;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--ln)
}

.ditem-media {
	width: 70px;
	height: 70px;
	border-radius: var(--r-sm);
	background: var(--bg3);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.ditem-media svg {
	width: 46px
}

.ditem-nm {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.35;
	margin-bottom: 5px
}

.ditem-pr {
	font-size: 15px;
	font-weight: 800;
	color: var(--terra)
}

.ditem-q {
	font-size: 12px;
	color: var(--ink3);
	margin-top: 3px
}

.ditem-rm {
	background: none;
	border: none;
	color: var(--ink4);
	cursor: pointer;
	font-size: 12px;
	font-weight: 600;
	margin-top: 5px
}

.ditem-rm:hover {
	color: var(--terra)
}

.drawer-foot {
	padding: 22px 26px;
	border-top: 1px solid var(--ln);
	background: var(--bg2)
}

.drawer-tot {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 18px
}

.drawer-tot-l {
	font-size: 14px;
	font-weight: 600;
	color: var(--ink2)
}

.drawer-tot-v {
	font-size: 26px;
	font-weight: 800;
	color: var(--ink)
}

.drawer-empty {
	text-align: center;
	padding: 60px 20px;
	color: var(--ink3)
}

.drawer-empty-ic {
	font-size: 46px;
	margin-bottom: 14px
}

/* ─── PAGE HEAD ─── */
.phead {
	max-width: 1280px;
	margin: 0 auto;
	padding: 40px 28px 28px
}

.phead-t {
	font-family: var(--serif);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 600;
	color: var(--ink);
	letter-spacing: -.01em
}

.phead-s {
	font-size: 15px;
	color: var(--ink3);
	margin-top: 8px
}

/* ─── CART PAGE ─── */
.cart-layout {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 28px 72px;
	display: grid;
	grid-template-columns: 1fr 370px;
	gap: 32px;
	align-items: start
}

.cart-list {
	display: flex;
	flex-direction: column;
	gap: 14px
}

.crow {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 18px;
	display: flex;
	gap: 18px;
	align-items: center
}

.crow-media {
	width: 104px;
	height: 104px;
	border-radius: var(--r-sm);
	background: var(--bg3);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.crow-media svg {
	width: 70px
}

.crow-info {
	flex: 1;
	min-width: 0
}

.crow-brand {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 5px
}

.crow-nm {
	font-size: 16px;
	font-weight: 700;
	color: var(--ink);
	margin-bottom: 8px
}

.crow-av {
	font-size: 12px;
	font-weight: 700;
	color: var(--pine);
	display: flex;
	align-items: center;
	gap: 6px
}

.crow-av::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--pine)
}

.crow-ctrl {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	flex-shrink: 0
}

.qty .qib-button-wrapper {
	display: flex;
	align-items: center;
	background: var(--bg3);
	border-radius: 100px;
	padding: 4px;
	margin: 0;
	float: none;
}

.qty .qib-button-wrapper div.quantity.wqpmb_quantity {
	height: 32px;
}

.qty .qib-button-wrapper button.qib-button {
	width: 32px !important;
	height: 32px !important;
	min-width: 32px;
	border-radius: 50%;
	border: none;
	background: var(--bg2) !important;
	color: var(--ink2);
	font-size: 17px;
	cursor: pointer;
	transition: all .15s;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
}

.qty button:hover {
	background: var(--terra);
	color: #fff
}

.qty .qib-button-wrapper .quantity input.input-text.qty.text {
	min-width: 40px;
	text-align: center;
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
	background: transparent;
	height: auto;
}

.crow-price {
	font-size: 19px;
	font-weight: 800;
	color: var(--ink)
}

.woocommerce a.remove.crow-rm {
	background: none;
	border: none;
	color: var(--ink4) !important;
	cursor: pointer;
	font-size: 12px;
	font-weight: 600;
	height: auto;
	width: auto;
}

.crow-rm:hover {
	color: var(--terra)
}

.summary {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r-lg);
	padding: 28px;
	position: sticky;
	top: 140px
}

.summary-t {
	font-family: var(--serif);
	font-size: 22px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 22px
}

.summary-row {
	display: flex;
	justify-content: space-between;
	font-size: 14px;
	margin-bottom: 13px;
	color: var(--ink2)
}

.summary-row b {
	color: var(--ink);
	font-weight: 700
}

.summary-promo {
	display: flex;
	gap: 8px;
	margin: 18px 0
}

.summary-promo input {
	flex: 1;
	background: var(--bg3);
	border: 1px solid var(--ln);
	border-radius: 100px;
	padding: 11px 16px;
	font-size: 13px;
	outline: none;
	font-weight: 600
}

.summary-promo input:focus {
	border-color: var(--terra)
}

.summary-promo button {
	background: var(--ink);
	color: #fff;
	border: none;
	border-radius: 100px;
	padding: 11px 18px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer
}

.summary-tot {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-top: 18px;
	border-top: 2px solid var(--ln);
	margin: 6px 0 20px
}

.summary-tot-l {
	font-size: 15px;
	font-weight: 700;
	color: var(--ink)
}

.summary-tot-v {
	font-size: 28px;
	font-weight: 800;
	color: var(--ink)
}

.summary-note {
	font-size: 12px;
	color: var(--ink3);
	text-align: center;
	margin-top: 14px;
	line-height: 1.6
}

/* ─── CHECKOUT ─── */
.co {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 28px 72px
}

.co-steps {
	display: flex;
	justify-content: center;
	gap: 0;
	margin-bottom: 36px
}

.co-step {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 0 26px;
	position: relative
}

.co-step::after {
	content: '';
	position: absolute;
	right: 0;
	top: 18px;
	width: 1px;
	height: 22px;
	background: var(--ln)
}

.co-step:last-child::after {
	display: none
}

.co-step-n {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--bg3);
	color: var(--ink3);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 800;
	flex-shrink: 0;
	transition: all .2s
}

.co-step.on .co-step-n {
	background: var(--terra);
	color: #fff
}

.co-step-t {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink3)
}

.co-step.on .co-step-t {
	color: var(--ink)
}

.co-grid {
	display: grid;
	grid-template-columns: 1fr 350px;
	gap: 32px;
	align-items: start
}

.co-block {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 26px;
	margin-bottom: 18px
}

.co-block-t {
	font-family: var(--serif);
	font-size: 19px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 20px
}

.fld {
	margin-bottom: 16px
}

.fld2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px
}

.fld-l {
	display: block;
	font-size: 13px;
	font-weight: 700;
	color: var(--ink2);
	margin-bottom: 8px
}

.fld input,
.fld select,
.fld textarea {
	width: 100%;
	background: var(--bg3);
	border: 1px solid var(--ln);
	border-radius: 12px;
	padding: 12px 15px;
	font-size: 14px;
	color: var(--ink);
	outline: none;
	transition: all .18s;
	font-weight: 500
}

.fld input:focus,
.fld select:focus,
.fld textarea:focus {
	border-color: var(--terra);
	background: var(--bg2)
}

.fld textarea {
	resize: vertical;
	min-height: 90px
}

.opt {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	background: var(--bg3);
	border: 2px solid transparent;
	border-radius: var(--r-sm);
	padding: 15px 18px;
	margin-bottom: 10px;
	cursor: pointer;
	transition: all .18s
}

.opt:hover {
	border-color: var(--ln2)
}

.opt.on {
	border-color: var(--terra);
	background: var(--terra-soft)
}

.opt-l {
	display: flex;
	align-items: center;
	gap: 13px
}

.opt-ic {
	font-size: 21px
}

.opt-nm {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink)
}

.opt-d {
	font-size: 12px;
	color: var(--ink3);
	margin-top: 1px
}

.opt-p {
	font-size: 14px;
	font-weight: 800;
	color: var(--pine)
}

.pays {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px
}

.pay {
	background: var(--bg3);
	border: 2px solid transparent;
	border-radius: var(--r-sm);
	padding: 16px;
	text-align: center;
	cursor: pointer;
	transition: all .18s
}

.pay:hover {
	border-color: var(--ln2)
}

.pay.on {
	border-color: var(--terra);
	background: var(--terra-soft)
}

.pay-ic {
	font-size: 24px;
	margin-bottom: 7px
}

.pay-nm {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink)
}

.pay-d {
	font-size: 11px;
	color: var(--ink3);
	margin-top: 2px
}

/* ─── EMPTY ─── */
.empty {
	max-width: 520px;
	margin: 0 auto;
	text-align: center;
	padding: 70px 28px
}

.empty-ic {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	background: var(--bg3);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 42px;
	margin: 0 auto 22px
}

.empty-t {
	font-family: var(--serif);
	font-size: 25px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 10px
}

.empty-d {
	font-size: 14px;
	color: var(--ink3);
	margin-bottom: 26px;
	line-height: 1.6
}

/* ─── COMPARE ─── */
.cmp-scroll {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 28px 72px;
	overflow-x: auto
}

.cmp-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 680px
}

.cmp-table th,
.cmp-table td {
	padding: 16px;
	text-align: center;
	border-bottom: 1px solid var(--ln)
}

.cmp-table th:first-child,
.cmp-table td:first-child {
	text-align: left;
	width: 190px;
	color: var(--ink3);
	font-size: 13px;
	font-weight: 600
}

.cmp-prod-media {
	width: 96px;
	height: 96px;
	border-radius: var(--r-sm);
	background: var(--bg3);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 12px
}

.cmp-prod-media svg {
	width: 64px
}

.cmp-prod-nm {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	margin-bottom: 7px;
	line-height: 1.3
}

.cmp-prod-pr {
	font-size: 18px;
	font-weight: 800;
	color: var(--terra);
	margin-bottom: 12px
}

.cmp-table td {
	font-size: 13px;
	color: var(--ink2);
	font-weight: 600
}

/* ─── INFO / ABOUT / SERVICE / CONTACT ─── */
.editorial {
	max-width: 940px;
	margin: 0 auto;
	padding: 0 28px 72px
}

.ed-hero {
	text-align: center;
	padding: 60px 0 50px
}

.ed-eyebrow {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--terra);
	margin-bottom: 16px
}

.ed-h {
	font-family: var(--serif);
	font-size: clamp(32px, 4.6vw, 52px);
	font-weight: 600;
	color: var(--ink);
	line-height: 1.1;
	margin-bottom: 20px
}

.ed-h em {
	font-style: italic;
	color: var(--terra)
}

.ed-p {
	font-size: 17px;
	color: var(--ink2);
	max-width: 600px;
	margin: 0 auto;
	line-height: 1.75
}

.ed-metrics {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 56px
}

.ed-metric {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 28px 20px;
	text-align: center
}

.ed-metric-n {
	font-size: 38px;
	font-weight: 800;
	color: var(--terra);
	line-height: 1
}

.ed-metric-l {
	font-size: 12px;
	color: var(--ink3);
	margin-top: 8px;
	font-weight: 600
}

.ed-block {
	margin-bottom: 50px
}

.ed-block-h {
	font-family: var(--serif);
	font-size: 28px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 16px;
	text-align: center
}

.ed-block-p {
	font-size: 15px;
	color: var(--ink2);
	line-height: 1.85;
	text-align: center;
	max-width: 680px;
	margin: 0 auto
}

.ed-list {
	max-width: 620px;
	margin: 24px auto 0;
	display: grid;
	gap: 12px
}

.ed-li {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r-sm);
	padding: 16px 18px
}

.ed-li-ic {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--pine-soft);
	color: var(--pine);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.ed-li-ic svg {
	width: 15px;
	height: 15px
}

.ed-li-tx {
	font-size: 14px;
	color: var(--ink2);
	line-height: 1.6;
	font-weight: 500
}

.team {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px
}

.tm {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 26px 20px;
	text-align: center
}

.tm-ava {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	background: var(--terra-soft);
	color: var(--terra-d);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: 800;
	margin: 0 auto 16px
}

.tm-nm {
	font-size: 15px;
	font-weight: 700;
	color: var(--ink)
}

.tm-ro {
	font-size: 12px;
	color: var(--ink3);
	margin-top: 4px
}

.tm-ex {
	font-size: 12px;
	color: var(--terra);
	font-weight: 700;
	margin-top: 8px
}

.certs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px
}

.cert {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 24px;
	text-align: center
}

.cert-ic {
	font-size: 30px;
	margin-bottom: 14px
}

.cert-nm {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	margin-bottom: 7px
}

.cert-d {
	font-size: 12px;
	color: var(--ink3);
	line-height: 1.5
}

/* service */
.srv-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-bottom: 56px
}

.srv-c {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 28px
}

.srv-c-ic {
	width: 56px;
	height: 56px;
	border-radius: 16px;
	background: var(--terra-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	margin-bottom: 18px
}

.srv-c-t {
	font-family: var(--serif);
	font-size: 19px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 9px
}

.srv-c-d {
	font-size: 13px;
	color: var(--ink2);
	line-height: 1.65;
	margin-bottom: 14px
}

.srv-c-p {
	font-size: 13px;
	font-weight: 700;
	color: var(--terra)
}

.sla {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 56px
}

.sla-c {
	background: var(--pine);
	border-radius: var(--r);
	padding: 28px 20px;
	text-align: center
}

.sla-n {
	font-size: 34px;
	font-weight: 800;
	color: #fff;
	line-height: 1
}

.sla-l {
	font-size: 12px;
	color: rgba(255, 255, 255, .7);
	margin-top: 8px;
	font-weight: 600
}

.tariffs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-bottom: 24px
}

.tariff {
	background: var(--bg2);
	border: 2px solid var(--ln);
	border-radius: var(--r-lg);
	padding: 30px 26px;
	position: relative
}

.tariff.feat {
	border-color: var(--terra)
}

.tariff.feat::before {
	content: 'Популярный';
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--terra);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 5px 16px;
	border-radius: 100px
}

.tariff-nm {
	font-family: var(--serif);
	font-size: 21px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 6px
}

.tariff-d {
	font-size: 13px;
	color: var(--ink3);
	margin-bottom: 18px;
	min-height: 36px
}

.tariff-pr {
	font-size: 32px;
	font-weight: 800;
	color: var(--ink);
	margin-bottom: 4px
}

.tariff-pr span {
	font-size: 14px;
	font-weight: 600;
	color: var(--ink3)
}

.tariff-list {
	list-style: none;
	margin: 20px 0;
	display: flex;
	flex-direction: column;
	gap: 12px
}

.tariff-list li {
	font-size: 13px;
	color: var(--ink2);
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-weight: 500;
	line-height: 1.5
}

.tariff-list li::before {
	content: '✓';
	color: var(--pine);
	font-weight: 800;
	flex-shrink: 0
}

.steps {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px
}

.step {
	text-align: center
}

.step-n {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--bg2);
	border: 2px solid var(--terra);
	color: var(--terra);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 800;
	margin: 0 auto 14px
}

.step-t {
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	margin-bottom: 5px
}

.step-d {
	font-size: 12px;
	color: var(--ink3);
	line-height: 1.5
}

/* contact */
.cnt {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 28px 72px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px
}

.cnt-method {
	display: flex;
	gap: 16px;
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 22px;
	margin-bottom: 14px
}

.cnt-ic {
	width: 50px;
	height: 50px;
	border-radius: 14px;
	background: var(--terra-soft);
	color: var(--terra-d);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0
}

.cnt-l {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink3);
	margin-bottom: 4px
}

.cnt-v {
	font-size: 17px;
	font-weight: 700;
	color: var(--ink)
}

.cnt-d {
	font-size: 12px;
	color: var(--ink3);
	margin-top: 2px
}

.cnt-form {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r-lg);
	padding: 32px
}

/* thanks */
.thx {
	max-width: 600px;
	margin: 0 auto;
	padding: 72px 28px;
	text-align: center
}

.thx-ic {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	background: var(--pine-soft);
	color: var(--pine);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 46px;
	margin: 0 auto 26px
}

.thx-h {
	font-family: var(--serif);
	font-size: 36px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 14px
}

.thx-p {
	font-size: 16px;
	color: var(--ink2);
	line-height: 1.75;
	margin-bottom: 28px
}

.thx-order {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r);
	padding: 20px;
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	align-items: center
}

.thx-order-l {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ink3)
}

.thx-order-v {
	font-size: 22px;
	font-weight: 800;
	color: var(--terra)
}

.thx-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: 34px
}

.thx-step {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: var(--r-sm);
	padding: 20px;
	text-align: left
}

.thx-step-n {
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--terra-soft);
	color: var(--terra-d);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 800;
	margin-bottom: 12px
}

.thx-step-t {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink);
	margin-bottom: 4px
}

.thx-step-d {
	font-size: 12px;
	color: var(--ink3);
	line-height: 1.5
}

.thx-acts {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap
}

/* ─── MODAL ─── */
.ovl {
	position: fixed;
	inset: 0;
	background: rgba(42, 39, 35, .5);
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s;
	padding: 20px;
	backdrop-filter: blur(3px)
}

.ovl.on {
	opacity: 1;
	pointer-events: all
}

.modal {
	background: var(--bg2);
	border-radius: var(--r-lg);
	max-width: 480px;
	width: 100%;
	transform: translateY(16px) scale(.98);
	transition: transform .28s;
	overflow: hidden
}

.ovl.on .modal {
	transform: none
}

.modal-h {
	padding: 26px 28px 0;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	position: relative
}

.modal-ic {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--terra-soft);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0
}

.modal-t {
	font-family: var(--serif);
	font-size: 21px;
	font-weight: 600;
	color: var(--ink)
}

.modal-s {
	font-size: 13px;
	color: var(--ink3);
	margin-top: 3px
}

.modal-x {
	position: absolute;
	top: 20px;
	right: 22px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--bg3);
	border: none;
	color: var(--ink2);
	cursor: pointer;
	font-size: 16px
}

.modal-x:hover {
	background: var(--terra);
	color: #fff
}

.modal-b {
	padding: 24px 28px 28px
}

.modal-ok {
	text-align: center;
	padding: 44px 28px
}

.modal-ok-ic {
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: var(--pine-soft);
	color: var(--pine);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 34px;
	margin: 0 auto 18px
}

.modal-ok-t {
	font-family: var(--serif);
	font-size: 22px;
	font-weight: 600;
	color: var(--ink);
	margin-bottom: 9px
}

.modal-ok-d {
	font-size: 14px;
	color: var(--ink3);
	line-height: 1.6;
	margin-bottom: 22px
}

/* ─── TOAST ─── */
.toast {
	position: fixed;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%) translateY(16px);
	background: var(--ink);
	color: #fff;
	padding: 14px 26px;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	z-index: 9999;
	opacity: 0;
	pointer-events: none;
	transition: all .3s;
	display: flex;
	align-items: center;
	gap: 10px;
	white-space: nowrap;
	box-shadow: 0 16px 40px -12px rgba(42, 39, 35, .4)
}

.toast.show {
	opacity: 1;
	transform: translateX(-50%) translateY(0)
}

.toast::before {
	content: '✓';
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--terra);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 800
}

/* ─── FOOTER ─── */
footer {
	background: var(--bg2);
	border-top: 1px solid var(--ln);
	margin-top: 80px
}

.ft-cta {
	max-width: 1280px;
	margin: 0 auto;
	padding: 56px 28px;
	border-bottom: 1px solid var(--ln);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	flex-wrap: wrap
}

.ft-cta-h {
	font-family: var(--serif);
	font-size: 30px;
	font-weight: 600;
	color: var(--ink);
	line-height: 1.2
}

.ft-cta-h em {
	font-style: italic;
	color: var(--terra)
}

.ft-cta-p {
	font-size: 14px;
	color: var(--ink3);
	margin-top: 8px
}

.ft-top {
	max-width: 1280px;
	margin: 0 auto;
	padding: 50px 28px;
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: 40px
}

.ft-logo {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 16px
}

.ft-logo-mark {
	width: 38px;
	height: 38px;
	background: var(--terra);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: rotate(-4deg)
}

.ft-logo-mark svg {
	width: 20px;
	height: 20px
}

.ft-logo-name {
	font-family: var(--serif);
	font-size: 21px;
	font-weight: 600;
	color: var(--ink)
}

.ft-ab {
	font-size: 13px;
	color: var(--ink3);
	line-height: 1.7;
	max-width: 270px;
	margin-bottom: 16px
}

.ft-pol {
	font-size: 13px;
	color: var(--ink3);
	line-height: 1.7;
	max-width: 270px;
	margin-bottom: 16px
}

.ft-contact {
	font-size: 17px;
	font-weight: 800;
	color: var(--ink);
	margin-bottom: 5px
}

.ft-email {
	font-size: 13px;
	color: var(--ink3)
}

.ft-h {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ink);
	margin-bottom: 16px
}

.ft-links {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 11px
}

.ft-links a {
	font-size: 13px;
	color: var(--ink3);
	cursor: pointer;
	font-weight: 500;
	transition: color .15s
}

.ft-links a:hover {
	color: var(--terra)
}

.ft-bot {
	border-top: 1px solid var(--ln)
}

.ft-bot-in {
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px 28px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center
}

.ft-bot-in p {
	font-size: 12px;
	color: var(--ink4)
}

.ft-badges {
	display: flex;
	gap: 9px
}

.ft-badge {
	font-size: 11px;
	font-weight: 600;
	color: var(--ink3);
	background: var(--bg3);
	padding: 5px 12px;
	border-radius: 100px
}

/* ─── REVEAL ─── */
.rv {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s ease, transform .6s ease
}

.rv.in {
	opacity: 1;
	transform: translateY(0)
}

/* ─── RESPONSIVE ─── */
@media(max-width:1080px) {
	.hero-in {
		grid-template-columns: 1fr;
		gap: 40px
	}

	.hero-visual {
		max-width: 440px
	}

	.tstrip-in {
		grid-template-columns: repeat(2, 1fr)
	}

	.cat-row {
		grid-template-columns: repeat(2, 1fr)
	}

	.prods,
	.prods.cols3 {
		grid-template-columns: repeat(3, 1fr)
	}

	.cat-layout {
		grid-template-columns: 1fr
	}

	.filters {
		display: none
	}

	.det-top {
		grid-template-columns: 1fr;
		gap: 32px
	}

	.det-media-main {
		height: 360px
	}

	.cart-layout {
		grid-template-columns: 1fr
	}

	.summary {
		position: static
	}

	.co-grid {
		grid-template-columns: 1fr
	}

	.ed-metrics {
		grid-template-columns: repeat(2, 1fr)
	}

	.team {
		grid-template-columns: repeat(2, 1fr)
	}

	.srv-cards,
	.tariffs,
	.certs {
		grid-template-columns: 1fr
	}

	.sla {
		grid-template-columns: repeat(2, 1fr)
	}

	.steps {
		grid-template-columns: repeat(3, 1fr)
	}

	.cnt {
		grid-template-columns: 1fr
	}

	.ft-top {
		grid-template-columns: 1fr 1fr
	}

	.drawer {
		width: 100%
	}
}

@media(max-width:680px) {

	.wrap,
	.hdr-in {
		padding-left: 18px;
		padding-right: 18px
	}

	.hdr-in {
		gap: 14px;
		flex-wrap: wrap
	}

	.search {
		order: 3;
		max-width: none;
		width: 100%
	}

	.hbtn span {
		display: none
	}

	.prods,
	.prods.cols3 {
		grid-template-columns: 1fr 1fr;
		gap: 12px
	}

	.pcard-media {
		height: 150px
	}

	.pcard-media svg {
		width: 90px
	}

	.pcard-body {
		padding: 13px
	}

	.cat-row {
		grid-template-columns: 1fr 1fr
	}

	.tstrip-in {
		grid-template-columns: 1fr 1fr
	}

	.det-perks {
		grid-template-columns: 1fr
	}

	.docs-grid {
		grid-template-columns: 1fr
	}

	.det-tabnav {
		flex-direction: column
	}

	.ed-metrics {
		grid-template-columns: 1fr 1fr
	}

	.team {
		grid-template-columns: 1fr 1fr
	}

	.sla {
		grid-template-columns: 1fr 1fr
	}

	.steps {
		grid-template-columns: 1fr 1fr
	}

	.co-steps {
		gap: 0
	}

	.co-step {
		padding: 0 12px
	}

	.co-step-t {
		display: none
	}

	.pays {
		grid-template-columns: 1fr
	}

	.fld2 {
		grid-template-columns: 1fr
	}

	.ft-top {
		grid-template-columns: 1fr
	}

	.ft-cta {
		flex-direction: column;
		align-items: flex-start
	}

	.prods.listv .pcard {
		flex-direction: column
	}

	.prods.listv .pcard-media {
		width: 100%
	}

	.prods.listv .pcard-body {
		flex-direction: column;
		align-items: stretch
	}

	.prods.listv .pcard-foot {
		width: 100%
	}

	.crow {
		flex-wrap: wrap
	}
}