*,
*::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;
}

: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;
}

.d-none {
	display: none;
}

html {
	scroll-behavior: smooth
}

:root {
	--pine: #23272E;
	--pine2: #31363F;
	--pine3: #5A6270;
	--bg: #FFFFFF;
	--bg2: #F5F6F8;
	--bg3: #EAECF0;
	--bg4: #DCDFE6;
	--lime: #FF7A1A;
	--lime-d: #E5640A;
	--amber: #FF8C2B;
	--amber-soft: #FFE9D6;
	--ln: #E4E6EB;
	--ln2: #CBCFD8;
	--ink: #1A1D23;
	--ink2: #525863;
	--ink3: #8A8F9C;
	--ink4: #B8BCC6;
	--red: #E5484D;
	--red-soft: #FBE4E4;
	--grn: #1A9E5A;
	--grn-soft: #DBF4E5;
	--disp: 'Manrope', sans-serif;
	--mono: 'Spline Sans Mono', monospace;
}

body {
	font-family: var(--disp);
	background: var(--bg2);
	color: var(--ink);
	line-height: 1.5;
}

a {
	text-decoration: none;
	color: inherit
}

button,
input,
select,
textarea {
	font-family: inherit
}

::-webkit-scrollbar {
	width: 10px;
	height: 10px
}

::-webkit-scrollbar-track {
	background: var(--bg3)
}

::-webkit-scrollbar-thumb {
	background: var(--ln2);
	border-radius: 5px;
	border: 2px solid var(--bg3)
}

.mono {
	font-family: var(--mono)
}

.wrap {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 24px
}

/* announce */
.announce {
	background: var(--pine);
	color: #fff;
	font-size: 13px;
	text-align: center;
	padding: 8px 16px;
	display: flex;
	gap: 20px;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap
}

.announce b {
	color: var(--lime)
}

/* header */
.hdr {
	background: var(--bg);
	border-bottom: 1px solid var(--ln);
	position: sticky;
	top: 0;
	z-index: 500
}

.hdr-in {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 15px 0
}

.logo {
	display: flex;
	align-items: center;
	gap: 11px;
	cursor: pointer;
	flex-shrink: 0
}

.logo-mark {
	width: 44px;
	height: 44px;
	border-radius: 13px;
	background: var(--pine);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative
}

.logo-mark::after {
	content: '';
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 2.5px solid var(--lime);
	top: 9px;
	left: 9px
}

.logo-mark svg {
	width: 24px;
	height: 24px
}

.logo-tx b {
	font-family: var(--disp);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.02em;
	display: block;
	line-height: 1
}

.logo-tx small {
	font-size: 10px;
	color: var(--ink3);
	letter-spacing: .03em
}

.hdr-search {
	flex: 1;
	max-width: 560px;
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--bg2);
	border: 1.5px solid var(--ln);
	border-radius: 13px;
	padding: 12px 16px;
	transition: border-color .15s
}

.hdr-search:focus-within {
	border-color: var(--pine3)
}

.hdr-search .dgwt-wcas-sf-wrapp {
	display: flex;
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.hdr-search .dgwt-wcas-search-wrapp {
	max-width: unset;
	width: 100%;
}

.hdr-search svg {
	width: 19px;
	height: 19px;
	color: var(--ink3);
	flex-shrink: 0
}

.hdr-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input {
	flex: 1;
	border: none;
	background: none;
	outline: none;
	font-size: 14px;
	padding: 0;
	line-height: 1;
	border-radius: 0;
	font-family: inherit;
}

.hdr-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:hover,
.hdr-search .dgwt-wcas-sf-wrapp input[type=search].dgwt-wcas-search-input:focus {
	background-color: transparent !important;
	background: none;
	outline: none;
}

.hdr-search .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
	display: none;
}

.hdr-sp {
	flex: 1
}

.hdr-phone {
	text-align: right;
	line-height: 1.25
}

.hdr-phone a {
	font-family: var(--disp);
	font-size: 17px;
	font-weight: 800;
	white-space: nowrap
}

.hdr-phone small {
	font-size: 11px;
	color: var(--grn);
	font-weight: 600;
	display: block;
}

.hdr-cart {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--pine);
	color: #fff;
	border: none;
	border-radius: 13px;
	padding: 12px 18px;
	cursor: pointer;
	transition: background .15s
}

.hdr-cart:hover {
	background: var(--pine2)
}

.hdr-cart svg {
	width: 20px;
	height: 20px
}

.hdr-cart-v {
	font-family: var(--disp);
	font-size: 13px;
	font-weight: 700
}

.hdr-cart-bdg {
	position: absolute;
	top: -6px;
	right: -6px;
	min-width: 21px;
	height: 21px;
	background: var(--lime);
	color: #ffffff;
	font-family: var(--disp);
	font-size: 11px;
	font-weight: 800;
	border-radius: 11px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 6px;
	border: 2px solid #fff;
	font-style: normal;
}

/* layout */
.shell {
	display: grid;
	grid-template-columns: 268px 1fr;
	gap: 26px;
	padding: 26px 0 60px;
	align-items: start
}

.side {
	/* position: sticky; */
	/* top: 96px; */
	/* background: var(--bg); */
	/* border: 1px solid var(--ln); */
	/* border-radius: 18px; */
	overflow: hidden;
}

.side-h {
	padding: 17px 20px;
	font-family: var(--disp);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--ink3);
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 18px 18px 0px 0px;
}

.bapf_show_hide {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--pine);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 11px;
	margin: 5px 0px 10px 0px;
	font-size: 12.5px;
	font-weight: 500;
	cursor: pointer;
}

.bapf_show_hide:hover {
	background: var(--pine2)
}

.side-nav .bapf_sfilter {
	margin: 0;
}

.brands-search-block { 
	position: relative; 
}

.brands-search-block input {
	background: var(--bg2);
	border: 1.5px solid var(--ln);
	border-radius: 13px;
	width: 100%;
	padding: 12px 16px;
}

#brand-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 999;
    background: #fff;
    border: 1px solid var(--ln);
	border-radius: 20px;
    display: none;
    box-shadow: 0 12px 30px -8px rgba(15, 61, 62, .38);
}

.no-results {
	padding: 12px 16px;
	font-size: 13px
}

#brand-search-results.active { 
	display: block; 
}

.search-result-item {
    display: block;
    padding: 8px 12px;
    text-decoration: none;
    color: #333;
}

.search-result-item:hover { 
	background: #f5f5f5; 
}

.side-nav {
	padding: 8px;
	/* overflow-y: auto; */
	/* max-height: calc(100vh - 170px); */
	background: var(--bg);
	border: 1px solid var(--ln);
	border-top: none;
	border-radius: 0px 0px 18px 18px;
	margin-bottom: 10px;
}

.side-nav .bapf_sfilter .bapf_body>ul {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.side-nav .bapf_sfilter ul li input {
	display: none;
}

.side-nav .bapf_sfilter ul li label {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 10px;
	padding: 11px 13px;
	border-radius: 11px;
	cursor: pointer;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink2);
	transition: all .14s;
	border: none;
	background: none;
	text-align: left;
	line-height: 1;
}

.cat-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 10px;
	padding: 11px 13px;
	border-radius: 11px;
	cursor: pointer;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ink2);
	transition: all .14s;
	border: none;
	background: none;
	text-align: left;
	line-height: 1;
}

.btn-show-more {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--pine);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 11px;
	margin: 5px 0px 10px 0px;
	font-size: 12.5px;
	font-weight: 500;
	cursor: pointer;
}

.btn-show-more:hover {
	background: var(--pine2)
}

.side-nav .bapf_sfilter ul li label:hover,
.cat-link:hover {
	background: var(--bg2);
	color: var(--ink)
}

.side-nav .bapf_sfilter ul li.checked label {
	background: var(--pine);
	color: #fff
}

.cat-link .c {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--ink4);
	background: var(--bg3);
	padding: 2px 7px;
	border-radius: 6px;
	flex-shrink: 0
}

.side-nav .bapf_sfilter ul li.checked .c {
	background: rgba(255, 255, 255, .18);
	color: #fff
}

.cat-link.deal {
	color: var(--amber);
	font-weight: 700
}

.cat-link.deal.on {
	background: var(--amber);
	color: #fff
}

.side-help {
	margin: 8px;
	padding: 16px;
	background: linear-gradient(150deg, var(--pine), var(--pine3));
	border-radius: 14px;
	color: #fff;
	position: fixed;
	right: 5px;
	bottom: 50px;
	z-index: 8888;
	width: 230px;
	display: none;
}

.side-help.show{
	display: block;
}

.side-help .close-btn {
	cursor: pointer;
	font-size: 24px;
	line-height: 1;
	color: #ffffff;
	position: absolute;
	top: 15px;
	right: 13px;
	z-index: 9;
}

.side-help h4 {
	font-size: 15px;
	font-weight: 800;
	margin-bottom: 6px
}

.side-help p {
	font-size: 12px;
	color: rgba(255, 255, 255, .75);
	margin-bottom: 12px;
	line-height: 1.3;
}

.side-help .button_kp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	background: var(--lime);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 10px;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	transition: 0.2s linear;
}

.side-help .button_kp:hover {
	background: #fff;
	color: var(--lime);
}

/* main */
.crumbs {
	font-size: 12px;
	color: var(--ink3);
	margin-bottom: 14px
}

.crumbsRU {
	padding: 18px 0 14px;
    display: flex;
    gap: 6px;
    align-items: center;
    flex-wrap: wrap;
}

.crumbs span {
	color: var(--ink)
}

.page-h {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 6px;
	flex-wrap: wrap
}

.page-h h1 {
	font-family: var(--disp);
	font-size: 27px;
	font-weight: 800;
	letter-spacing: -.02em
}

.page-h .h1 {
	font-family: var(--disp);
	font-size: 27px;
	font-weight: 800;
	letter-spacing: -.02em;
}

.page-sub {
	font-size: 14px;
	color: var(--ink3);
	margin-bottom: 22px
}

.toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 20px;
	flex-wrap: wrap
}

.toolbar-cnt {
	font-size: 13px;
	color: var(--ink2)
}

.toolbar-cnt b {
	font-family: var(--mono);
	font-size: 14px;
}

.toolbar .bapf_sfilter {
	margin: 0;
}

.toolbar .bapf-sfa-grey-rounded .berocket_aapf_widget_selected_area li a {
	display: flex!important;
	align-items: center;
	gap: 6px;
	background: var(--bg);
	color: var(--ink2);
	font-size: 12px;
	padding: 5px 30px 5px 12px;
	border-radius: 20px;
	border: 1.5px solid var(--ln2);
	position: relative;
	font-weight: 500;
}

.toolbar .bapf-sfa-grey-rounded .berocket_aapf_widget_selected_area li a:before {
    color: var(--ink2);
    content: '\00D7';
    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;
}

.toolbar .bapf-sfa-grey-rounded .berocket_aapf_widget_selected_area a.braapf_unselect_all {
	background: none;
	border: none;
	font-size: 12px;
	color:var(--ink3);
	display: flex;
	align-items: center;
	padding: 0;
}

.sort {
	background: var(--bg);
	border: 1.5px solid var(--ln2);
	border-radius: 11px;
	padding: 10px 14px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ink2);
	outline: none;
	cursor: pointer
}

.heroCat {
	background: linear-gradient(140deg, #f0f6ff, #ffffff);
	border: 1px solid var(--ln);
	border-radius: 22px;
	padding: 30px 40px;
	position: relative;
	overflow: hidden;
	margin-bottom: 26px;
	display: flex;
	justify-content: space-between;
}

.heroCat .hero-in {
	width: 70%;
}

.heroCat .btn {
	padding: 0;
	background: transparent;
	color: var(--pine);
}

.heroCat .btn:hover {
	background: transparent;
	color: var(--lime-d);
}

.heroCat .imgsQ {
	width: 23%;
}

.heroCat .imgsQ a {
	display: flex;
	align-items: center;
	flex-direction: column;
}

.heroCat .imgsQ img {
	width: 80%;
}

.heroCat .imgsQ span {
	font-size: 11px;
	color: var(--ink3);
	line-height: 1.2;
	display: inline-flex;
	text-align: center;
	margin-top: 11px;
}

.heroCat h2 {
	font-family: var(--disp);
    font-size: 32px;
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.08;
    margin-bottom: 14px;
}

.heroCat p {
	font-size: 15px;
	margin-bottom: 22px
}

.heroCat .blocks {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin: 25px 0px 25px 0px;
}

.heroCat .blocks .block {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 14px;
	padding: 7px 16px 7px 7px;
	display: flex;
	gap: 12px;
	align-items: center;
	transition: all .2s
}

.heroCat .blocks .block:hover {
	border-color: var(--ln2);
	box-shadow: 0 16px 36px -22px rgba(15, 61, 62, .4);
	transform: translateY(-1px)
}

.heroCat .blocks .block img {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.heroCat .blocks .block h3 {
	font-size: 13px;
	font-weight: 700
}

/* hero banner (shop home) */
.hero {
	background: linear-gradient(140deg, var(--pine), var(--pine3));
	border-radius: 22px;
	padding: 40px;
	color: #fff;
	position: relative;
	overflow: hidden;
	margin-bottom: 26px
}

.hero::after {
	content: '';
	position: absolute;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	border: 2px solid rgba(182, 233, 74, .25);
	top: -120px;
	right: -80px;
}

.hero::before {
	content: '';
	position: absolute;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	border: 2px solid rgba(182, 233, 74, .15);
	bottom: -90px;
	right: 120px
}

.hero-in {
	position: relative;
	z-index: 1;
	max-width: 560px;
}

.hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, .12);
	border-radius: 100px;
	padding: 6px 13px;
	font-size: 12px;
	font-weight: 600;
	margin-bottom: 16px
}

.hero-badge i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lime)
}

.hero h2 {
	font-family: var(--disp);
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.08;
	margin-bottom: 14px
}

.hero h2 mark {
	background: none;
	color: var(--lime)
}

.hero p {
	font-size: 15px;
	color: rgba(255, 255, 255, .8);
	margin-bottom: 22px
}

.hero-acts {
	display: flex;
	gap: 12px;
	flex-wrap: wrap
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-weight: 700;
	font-size: 14px;
	padding: 13px 24px;
	border: none;
	border-radius: 12px;
	cursor: pointer;
	transition: all .16s;
	white-space: nowrap
}

.btn-lime {
	background: var(--lime);
	color: #fff
}

.btn-lime:hover {
	background: var(--lime-d)
}

.btn-ghost {
	background: rgba(255, 255, 255, .12);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .25)
}

.btn-ghost:hover {
	background: rgba(255, 255, 255, .2)
}

.btn-pine {
	background: var(--pine);
	color: #fff
}

.btn-pine:hover {
	background: var(--pine2)
}

.btn-out {
	background: var(--bg);
	border: 1.5px solid var(--ln2);
	color: var(--ink2)
}

.btn-out:hover {
	border-color: var(--pine3);
	color: var(--pine)
}

.btn-block {
	width: 100%
}

.btn-lg {
	padding: 15px 30px;
	font-size: 15px
}

.btn-sm {
	padding: 9px 15px;
	font-size: 12px;
	border-radius: 9px
}

.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: 1px solid var(--ln);
	border-radius: 8px;
	font-size: 15px;
	background: white;
	cursor: pointer;
	transition: 0.2s linear;
}

.woocommerce-pagination a:hover {
	background: var(--amber-soft);
	color: var(--amber);
	border: 1px solid var(--amber);
}

.woocommerce-pagination .dots {
	border: none;
	cursor: default;
}

.woocommerce-pagination .current {
	background: var(--amber);
	color: #fff;
	border: 1px solid var(--amber);
}

.listСat {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin-bottom: 40px;
}

.listСat .block {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 17px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all .2s
}

.listСat .block:hover {
	border-color: var(--ln2);
	box-shadow: 0 16px 36px -22px rgba(15, 61, 62, .4);
	transform: translateY(-3px)
}

.listСat .block .image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 120px;
}

.listСat .block img {
	width: 90%;
	height: 80%;
	object-fit: contain;
}

.listСat .block h3 {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	padding: 0px 16px 16px 16px;
	text-align: center;
	flex: 1;
	align-items: center;
	justify-content: center;
	display: inline-flex;
}

.card-nm:hover {
	color: var(--pine3)
}

/* grid */
.grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px
}

.card {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 17px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all .2s
}

.card:hover {
	border-color: var(--ln2);
	box-shadow: 0 16px 36px -22px rgba(15, 61, 62, .4);
	transform: translateY(-3px)
}

.card-media {
	height: 170px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	cursor: pointer
}

.card-media svg.prod {
	width: 120px;
	height: 120px;
	transition: transform .3s
}

.card:hover .card-media svg.prod {
	transform: scale(1.06)
}

.card-disc {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--red);
	color: #fff;
	font-family: var(--disp);
	font-size: 12px;
	font-weight: 800;
	padding: 4px 9px;
	border-radius: 7px
}

.card-tag {
	position: absolute;
	top: 12px;
	right: 12px;
	font-family: var(--disp);
	font-size: 10px;
	font-weight: 800;
	padding: 4px 8px;
	border-radius: 6px;
	letter-spacing: .02em
}

.tg-hit {
	background: var(--amber);
	color: #fff
}

.tg-top {
	background: var(--pine);
	color: #fff
}

.tg-4k {
	background: var(--lime);
	color: #fff
}

.tg-disc {
	background: var(--red);
	color: #fff
}

.card-body {
	padding: 16px;
	flex: 1;
	display: flex;
	flex-direction: column
}

.card-brand {
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 600;
	color: var(--pine3);
	text-transform: uppercase;
	letter-spacing: .03em;
	margin-bottom: 7px
}

.card-nm {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: 11px;
	cursor: pointer;
	min-height: 57px
}

.card-nm:hover {
	color: var(--pine3)
}

.card-avail {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--grn);
	margin-bottom: 13px
}

.card-avail::before {
	content: '';
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--grn);
	box-shadow: 0 0 0 3px var(--grn-soft)
}

.card-avail.req {
	color: var(--ink3)
}

.card-avail.req::before {
	background: var(--ink4);
	box-shadow: 0 0 0 3px var(--bg3)
}

.card-foot {
	margin-top: auto
}

.card-old {
	font-size: 12px;
	color: var(--ink4);
	text-decoration: line-through;
	font-family: var(--mono);
	height: 16px
}

.card-price {
	font-family: var(--disp);
	font-size: 21px;
	font-weight: 800;
	letter-spacing: -.02em;
	margin-bottom: 3px
}

.card-price.req {
	font-size: 15px;
	color: var(--ink2);
	font-weight: 700
}

.card-lease {
	font-size: 11px;
	color: var(--pine3);
	font-weight: 600;
	margin-bottom: 13px
}

.card-acts {
	display: flex;
	gap: 8px;
}

.card-add {
	flex: 1;
	cursor: pointer;
	transition: background .15s;
	display: flex;
	gap: 6px;
}

.card-add button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--pine);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 11px;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
}

.card-add button:hover {
	background: var(--pine2)
}

.card-kp {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	background: var(--amber-soft);
	color: var(--amber);
	border: none;
	border-radius: 10px;
	padding: 11px;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	transition: all .15s
}

.card-kp:hover {
	background: var(--amber);
	color: #fff
}

/* trust row */
.trust {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-bottom: 26px
}

.trust-c {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 14px;
	padding: 16px;
	display: flex;
	gap: 12px;
	align-items: center
}

.trust-ic {
	width: 42px;
	height: 42px;
	border-radius: 11px;
	background: var(--bg2);
	color: var(--pine3);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.trust-ic svg {
	width: 21px;
	height: 21px
}

.trust-t {
	font-size: 13px;
	font-weight: 700
}

.trust-d {
	font-size: 11px;
	color: var(--ink3)
}

/* empty */
.empty {
	grid-column: 1/-1;
	text-align: center;
	padding: 60px 20px
}

.empty-ic {
	width: 80px;
	height: 80px;
	border-radius: 22px;
	background: var(--bg3);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	margin: 0 auto 16px
}

.empty-t {
	font-family: var(--disp);
	font-size: 19px;
	font-weight: 800;
	margin-bottom: 8px
}

.empty-d {
	font-size: 14px;
	color: var(--ink3);
	margin-bottom: 20px
}

/* drawer cart */
.ovl {
	position: fixed;
	inset: 0;
	background: rgba(16, 35, 31, .5);
	z-index: 900;
	opacity: 0;
	pointer-events: none;
	transition: opacity .26s;
	backdrop-filter: blur(2px)
}

.ovl.on {
	opacity: 1;
	pointer-events: all
}

.drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: 430px;
	max-width: 92vw;
	background: var(--bg);
	z-index: 910;
	transform: translateX(100%);
	transition: transform .32s cubic-bezier(.4, 0, .2, 1);
	display: flex;
	flex-direction: column;
	box-shadow: -18px 0 50px -20px rgba(16, 35, 31, .4)
}

.drawer.on {
	transform: none
}

.drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 24px;
	border-bottom: 1px solid var(--ln)
}

.drawer-head h3 {
	font-family: var(--disp);
	font-size: 20px;
	font-weight: 800
}

.drawer-x {
	width: 36px;
	height: 36px;
	border-radius: 11px;
	background: var(--bg2);
	border: none;
	cursor: pointer;
	font-size: 18px;
	color: var(--ink2)
}

.drawer-x:hover {
	background: var(--pine);
	color: #fff
}

.drawer-body {
	flex: 1;
	overflow-y: auto;
	padding: 18px 24px
}

.ci {
	display: flex;
	gap: 13px;
	padding: 15px 0;
	border-bottom: 1px solid var(--ln)
}

.ci-media {
	width: 66px;
	height: 66px;
	border-radius: 12px;
	background: linear-gradient(150deg, var(--bg2), var(--bg3));
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.ci-media svg {
	width: 44px;
	height: 44px
}

.ci-info {
	flex: 1;
	min-width: 0
}

.ci-brand {
	font-family: var(--mono);
	font-size: 10px;
	color: var(--pine3);
	text-transform: uppercase
}

.ci-nm {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	margin: 3px 0 7px
}

.ci-pr {
	font-family: var(--disp);
	font-size: 14px;
	font-weight: 800
}

.ci-pr.req {
	font-size: 12px;
	color: var(--ink3);
	font-weight: 600
}

.ci-r {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between
}

.ci-rm {
	background: none;
	border: none;
	color: var(--ink4);
	cursor: pointer;
	font-size: 15px
}

.ci-rm:hover {
	color: var(--red)
}

.ci-qty {
	display: flex;
	align-items: center;
	background: var(--bg2);
	border: 1px solid var(--ln2);
	border-radius: 9px;
	overflow: hidden
}

.ci-qty button {
	width: 27px;
	height: 27px;
	border: none;
	background: none;
	cursor: pointer;
	font-size: 14px;
	color: var(--ink2)
}

.ci-qty button:hover {
	background: var(--pine);
	color: #fff
}

.ci-qty span {
	min-width: 28px;
	text-align: center;
	font-family: var(--mono);
	font-size: 12px;
	font-weight: 600
}

.drawer-empty {
	text-align: center;
	padding: 60px 24px;
	color: var(--ink3)
}

.drawer-empty-ic {
	width: 78px;
	height: 78px;
	border-radius: 22px;
	background: var(--bg2);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 34px;
	margin: 0 auto 16px
}

.drawer-foot {
	border-top: 1px solid var(--ln);
	padding: 20px 24px;
	background: var(--bg2)
}

.drawer-note {
	font-size: 11px;
	color: var(--ink3);
	margin-bottom: 13px;
	display: flex;
	gap: 7px;
	align-items: flex-start
}

.drawer-note svg {
	width: 14px;
	height: 14px;
	color: var(--pine3);
	flex-shrink: 0;
	margin-top: 1px
}

.drawer-tot {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 6px
}

.drawer-tot-l {
	font-size: 14px;
	font-weight: 600;
	color: var(--ink2)
}

.drawer-tot-v {
	font-family: var(--disp);
	font-size: 24px;
	font-weight: 800
}

.drawer-save {
	font-size: 12px;
	color: var(--grn);
	font-weight: 600;
	margin-bottom: 14px;
	text-align: right
}

/* modal */
.modal-ovl {
	position: fixed;
	inset: 0;
	background: rgba(16, 35, 31, .6);
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .24s;
	backdrop-filter: blur(3px)
}

.modal-ovl.on {
	opacity: 1;
	pointer-events: all
}

.modal {
	background: #fff;
	border-radius: 22px;
	max-width: 460px;
	width: 100%;
	transform: translateY(16px) scale(.97);
	transition: transform .27s;
	overflow: hidden;
	max-height: 92vh;
	overflow-y: auto
}

.modal-ovl.on .modal {
	transform: none
}

.modal-head {
	padding: 28px 28px 0;
	position: relative
}

.modal-head .badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-family: var(--disp);
	font-size: 12px;
	font-weight: 800;
	color: var(--pine3);
	background: var(--bg2);
	padding: 6px 12px;
	border-radius: 8px;
	margin-bottom: 14px
}

.modal-head h3 {
	font-family: var(--disp);
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 8px
}

.modal-head p {
	font-size: 14px;
	color: var(--ink2);
	line-height: 1.5
}

.modal-x {
	position: absolute;
	top: 20px;
	right: 22px;
	width: 34px;
	height: 34px;
	border-radius: 11px;
	background: var(--bg2);
	border: none;
	cursor: pointer;
	font-size: 17px;
	color: var(--ink2)
}

.modal-x:hover {
	background: var(--pine);
	color: #fff
}

.modal-prod {
	display: flex;
	gap: 13px;
	align-items: center;
	background: var(--bg2);
	border-radius: 13px;
	padding: 13px;
	margin: 20px 28px 0
}

.modal-prod svg {
	width: 46px;
	height: 46px;
	flex-shrink: 0
}

.modal-prod-nm {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3
}

.modal-prod-pr {
	font-family: var(--disp);
	font-size: 15px;
	font-weight: 800;
	margin-top: 3px
}

.modal-body {
	padding: 22px 28px 28px
}

.mf {
	margin-bottom: 14px
}

.mf label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--ink2);
	margin-bottom: 7px
}

.mf input,
.mf textarea {
	width: 100%;
	background: var(--bg2);
	border: 1.5px solid var(--ln);
	border-radius: 11px;
	padding: 13px 15px;
	font-size: 14px;
	outline: none;
	transition: border-color .15s
}

.mf input:focus,
.mf textarea:focus {
	border-color: var(--pine3)
}

.mf textarea {
	resize: vertical;
	min-height: 72px
}

.modal-note {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	color: var(--ink3);
	margin-top: 13px;
	justify-content: center
}

.modal-note svg {
	width: 14px;
	height: 14px;
	color: var(--grn);
	flex-shrink: 0
}

.modal-ok {
	text-align: center;
	padding: 48px 30px
}

.modal-ok-ic {
	width: 74px;
	height: 74px;
	border-radius: 21px;
	background: var(--grn-soft);
	color: var(--grn);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	margin: 0 auto 18px
}

.modal-ok h3 {
	font-family: var(--disp);
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 10px
}

.modal-ok p {
	font-size: 14px;
	color: var(--ink2);
	line-height: 1.6;
	margin-bottom: 22px
}

/* checkout */
.co {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 26px;
	align-items: start
}

.co-card {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 18px;
	padding: 26px;
	margin-bottom: 18px;
	gap: 10px;
	display: flex;
	flex-direction: column;
}

.crow {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: 12px;
	padding: 16px;
	display: flex;
	gap: 16px;
	align-items: center
}

.crow-media {
	width: 96px;
	height: 96px;
	border-radius: 10px;
	background: var(--bg);
	border: 1px solid var(--ln);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.crow-media img {
	width: 64px;
	height: 64px;
	object-fit: contain;
}

.crow-info {
	flex: 1;
	min-width: 0
}

.crow-brand {
	font-family: var(--mono);
	font-size: 10px;
	font-weight: 600;
	color: var(--blue);
	margin-bottom: 5px
}

.crow-nm {
	font-size: 15px;
	font-weight: 700;
	color: var(--ink);
	margin-bottom: 7px;
	letter-spacing: -.01em
}

.crow-art {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--ink3)
}

.crow-ctrl {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	/* gap: 11px; */
	flex-shrink: 0
}

.crow-ctrl .qty .qib-button-wrapper {
	display: flex;
	align-items: center;
	background: var(--bg);
	border: 1px solid var(--ln2);
	border-radius: 8px;
	overflow: hidden;
	margin: 0;
}

.crow-ctrl .qty .qib-button-wrapper div.quantity.wqpmb_quantity {
	height: 30px;
}

.crow-ctrl .qty .qib-button-wrapper button.qib-button {
	width: 32px;
	height: 32px;
	border: none;
	background: var(--bg2);
	color: var(--ink2);
	font-size: 16px;
	cursor: pointer;
	transition: all .15s
}

.crow-ctrl .qty .qib-button-wrapper button.qib-button:hover {
	background: var(--pine);
	color: #fff
}

.crow-ctrl .qty .qib-button-wrapper .quantity input.input-text.qty.text {
	min-width: 42px;
	text-align: center;
	font-family: var(--mono);
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	height: 32px;
	background: none;
	border: none;
	padding: 0px;
}

.crow-price {
	font-family: var(--mono);
	font-size: 18px;
	font-weight: 700;
	color: var(--ink)
}

.crow-price .Null {
	color: var(--pine3);
	font-size: 14px;
}

.woocommerce a.remove.crow-rm {
	background: none;
	border: none;
	color: var(--ink3) !important;
	cursor: pointer;
	font-size: 11px;
	font-weight: 600;
	height: auto;
	width: auto;
}

.crow-rm:hover {
	color: var(--red)
}

.co-card h3 {
	font-family: var(--disp);
	font-size: 18px;
	font-weight: 800;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 10px
}

.co-card h3 i {
	width: 28px;
	height: 28px;
	border-radius: 9px;
	background: var(--pine);
	color: #fff;
	font-family: var(--mono);
	font-size: 13px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-style: normal
}

.fld {
	margin-bottom: 15px
}

.fld2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px
}

.fld label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--ink2);
	margin-bottom: 7px
}

.fld input,
.fld select,
.fld textarea {
	width: 100%;
	background: var(--bg2);
	border: 1.5px solid var(--ln);
	border-radius: 11px;
	padding: 12px 14px;
	font-size: 14px;
	outline: none;
	transition: border-color .15s
}

.fld input:focus,
.fld select:focus,
.fld textarea:focus {
	border-color: var(--pine3)
}

.fld textarea {
	resize: vertical;
	min-height: 74px
}

.opt {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 13px;
	background: var(--bg2);
	border: 1.5px solid var(--ln);
	border-radius: 12px;
	padding: 14px 16px;
	margin-bottom: 10px;
	cursor: pointer;
	transition: all .15s
}

.opt:hover {
	border-color: var(--ln2)
}

.opt.on {
	border-color: var(--pine3);
	background: var(--bg)
}

.opt-l {
	display: flex;
	align-items: center;
	gap: 12px
}

.opt-ic {
	font-size: 20px
}

.opt-nm {
	font-size: 14px;
	font-weight: 700
}

.opt-d {
	font-size: 12px;
	color: var(--ink3)
}

.opt-p {
	font-family: var(--disp);
	font-size: 13px;
	font-weight: 800;
	color: var(--grn)
}

.co-side {
	position: sticky;
	top: 96px;
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 18px;
	padding: 24px
}

.co-side h3 {
	font-family: var(--disp);
	font-size: 17px;
	font-weight: 800;
	margin-bottom: 16px
}

.co-items {
	margin-bottom: 16px;
	max-height: 260px;
	overflow-y: auto
}

.co-srow {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: var(--ink2);
	margin-bottom: 11px
}

.co-srow b {
	font-family: var(--disp);
	color: var(--ink);
	font-weight: 700
}

.co-tot {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding-top: 15px;
	border-top: 2px solid var(--ln);
	margin: 5px 0 16px
}

.co-tot-l {
	font-size: 14px;
	font-weight: 700
}

.co-tot-v {
	font-family: var(--disp);
	font-size: 22px;
	font-weight: 800
}

/* footer */
footer {
	background: var(--pine);
	color: #fff;
	margin-top: 40px
}

.ft-top {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 38px;
	padding: 46px 0 36px;
	border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.ft-logo {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 15px
}

.ft-logo .logo-mark {
	width: 40px;
	height: 40px;
	background: rgba(255, 255, 255, .1)
}

.ft-logo b {
	font-family: var(--disp);
	font-size: 19px;
	font-weight: 800
}

.ft-ab {
	font-size: 13px;
	color: rgba(255, 255, 255, .6);
	line-height: 1.7;
	margin-bottom: 16px;
	max-width: 300px
}

.ft-abc {
	font-size: 11px;
	color: rgba(255, 255, 255, .6);
	line-height: 1.7;
	margin-bottom: 16px;
	max-width: 300px
}

.ft-col h5 {
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: rgba(255, 255, 255, .45);
	margin-bottom: 15px
}

.ft-col ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px
}

.ft-col a {
	font-size: 13px;
	color: rgba(255, 255, 255, .7);
	cursor: pointer
}

.ft-col a:hover {
	color: var(--lime)
}

.ft-ci {
	font-size: 13px;
	color: rgba(255, 255, 255, .7);
	margin-bottom: 12px;
	line-height: 1.5
}

.ft-ci b {
	font-family: var(--disp);
	font-size: 16px;
	color: #fff;
	display: block
}

.ft-bot {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 18px 0;
	font-size: 12px;
	color: rgba(255, 255, 255, .4)
}

/* toast */
.toast {
	position: fixed;
	bottom: 26px;
	left: 50%;
	transform: translateX(-50%) translateY(16px);
	background: var(--pine);
	color: #fff;
	padding: 14px 24px;
	border-radius: 13px;
	font-size: 14px;
	font-weight: 600;
	z-index: 1200;
	opacity: 0;
	pointer-events: none;
	transition: all .28s;
	display: flex;
	align-items: center;
	gap: 10px;
	box-shadow: 0 16px 40px -12px rgba(16, 35, 31, .5)
}

.toast.on {
	opacity: 1;
	transform: translateX(-50%) translateY(0)
}

.toast::before {
	content: 'ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã¢â‚¬Â¦ÃƒÂ¢Ã¢â€šÂ¬Ã…â€œÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã¢â‚¬Å“';
	width: 22px;
	height: 22px;
	border-radius: 7px;
	background: var(--lime);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 800
}

/* mobile cat toggle */
.mcat {
	display: none
}

/* â”€â”€ PRODUCT LAYOUT â”€â”€ */
.product-shell {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 26px;
	align-items: start;
	padding-bottom: 60px
}

/* â”€â”€ LEFT: GALLERY + TABS â”€â”€ */
.prod-left {}

/* Gallery */
.gallery {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 20px;
	overflow: hidden;
	margin-bottom: 14px
}

.gallery-main {
	height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	cursor: zoom-in
}

.gallery-main a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.gallery-badge-wrap {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	gap: 8px
}

.gbadge {
	font-size: 11px;
	font-weight: 800;
	padding: 5px 10px;
	border-radius: 8px;
	letter-spacing: .02em
}

.gb-new {
	background: var(--lime);
	color: #fff
}

.gb-hit {
	background: var(--amber);
	color: #fff
}

.gb-cert {
	background: var(--pine);
	color: #fff
}

.gallery-share {
	position: absolute;
	top: 16px;
	right: 16px;
	display: flex;
	gap: 8px
}

.share-btn {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .85);
	border: 1px solid var(--ln);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--ink3);
	transition: all .15s
}

.share-btn:hover {
	background: var(--pine);
	color: #fff;
	border-color: var(--pine)
}

.share-btn svg {
	width: 15px;
	height: 15px
}

.gallery-thumbs {
	display: flex;
	gap: 10px;
	padding: 12px 16px;
	border-top: 1px solid var(--ln);
	background: var(--bg)
}

.thumb {
	width: 68px;
	height: 68px;
	border-radius: 10px;
	border: 2px solid var(--ln);
	background: var(--bg2);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all .15s;
	flex-shrink: 0;
	overflow: hidden;
}

.thumb:hover {
	border-color: var(--pine3)
}

.thumb.on {
	border-color: var(--lime);
	background: rgba(255, 122, 26, .06)
}

.thumb svg {
	width: 40px;
	height: 40px
}

/* Tabs */
.tabs {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 20px;
	overflow: hidden
}

.tab-nav {
	display: flex;
	border-bottom: 1px solid var(--ln);
}

.tab-btn {
	padding: 16px 22px;
	font-size: 13.5px;
	font-weight: 700;
	color: var(--ink3);
	border: none;
	background: none;
	cursor: pointer;
	white-space: nowrap;
	border-bottom: 2.5px solid transparent;
	margin-bottom: -1px;
	transition: all .15s
}

.tab-btn:hover {
	color: var(--ink)
}

.tab-btn.on {
	color: var(--lime);
	border-bottom-color: var(--lime)
}

.tab-pane {
	display: none;
	padding: 26px
}

.tab-pane.on {
	display: block
}

/* Specs table */
.desc table {
	width: 100%;
	border-collapse: collapse
}

.desc table tr {
	border-bottom: 1px solid var(--ln)
}

.desc table tr:last-child {
	border-bottom: none
}

.desc table td {
	padding: 11px 10px;
	font-size: 13.5px;
	vertical-align: top;
	border: 1px solid var(--ln)
}

.desc table th {
	padding: 11px 10px;
	font-size: 13.5px;
	vertical-align: top;
	border: 1px solid var(--ln);
	text-align: left;
}

.spec-cat {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--pine3);
	background: var(--bg2);
	padding: 8px 10px;
	border-radius: 8px;
	margin: 16px 0 8px;
	display: block
}

/* Description */
.desc p {
	font-size: 14.5px;
	color: var(--ink2);
	line-height: 1.75;
	margin: 20px 0px
}

.desc strong {
	font-weight: 400;
}

.desc em {
	font-style: normal;
}

.desc div {
	font-size: 14.5px;
	color: var(--ink2);
	line-height: 1.75;
	margin-bottom: 20px
}

.desc ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 20px
}

.desc ul li {
	font-size: 14px;
	color: var(--ink2);
	font-weight: 400;
	line-height: 1.8;
	list-style-type: none;
	position: relative;
	padding-left: 17px;
}

.desc ul li::before {
	content: '';
	position: absolute;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lime);
	left: 0;
	margin-top: 8px
}

.desc h2:nth-of-type(1) {
	margin-top: 0;
}

.desc h2 {
	font-size: 19px;
	margin: 20px 0px 20px 0px;
	position: relative;
	color: var(--ink2);
}

.desc h3 {
	font-size: 16px;
	margin: 20px 0px 20px 0px;
	position: relative;
	color: var(--ink2);
}

.desc-warn {
	display: flex;
	gap: 10px;
	background: var(--amber-soft);
	border: 1px solid #FFD0A0;
	border-radius: 13px;
	padding: 14px 16px;
	font-size: 13px;
	color: #7A4210
}

.desc-warn svg {
	width: 18px;
	height: 18px;
	color: var(--amber);
	flex-shrink: 0;
	margin-top: 1px
}

/* Documents */
.docs-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px
}

.doc-item {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 13px 14px;
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: 12px;
	cursor: pointer;
	transition: all .15s
}

.doc-item:hover {
	border-color: var(--pine3);
	background: var(--bg)
}

.doc-ic {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0
}

.doc-ic svg {
	width: 18px;
	height: 18px
}

.dic-pdf {
	background: #FBE4E4;
	color: var(--red)
}

.dic-doc {
	background: #E4EFF9;
	color: #1D6FA4
}

.dic-cert {
	background: var(--grn-soft);
	color: var(--grn)
}

.doc-nm {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35
}

.doc-sz {
	font-size: 11px;
	color: var(--ink3);
	margin-top: 2px
}

/* â”€â”€ RIGHT: BUY PANEL â”€â”€ */
.buy-panel {
	position: sticky;
	top: 96px;
	display: flex;
	flex-direction: column;
	gap: 14px
}

.panel-main {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 20px;
	padding: 24px
}

.panel-brand {
	font-family: var(--mono);
	font-size: 10.5px;
	font-weight: 600;
	color: var(--pine3);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 10px
}

.panel-nm {
	font-family: var(--disp);
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.2;
	margin-bottom: 14px
}

.panel-avail {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12.5px;
	font-weight: 700;
	margin-bottom: 18px
}

.avail-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%
}

.dot-grn {
	background: var(--grn);
	box-shadow: 0 0 0 3px var(--grn-soft)
}

.dot-amber {
	background: var(--amber);
	box-shadow: 0 0 0 3px var(--amber-soft)
}

.avail-grn {
	color: var(--grn)
}

.avail-amber {
	color: #A05A00
}

.panel-art {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--ink3);
	margin-bottom: 18px
}

.panel-art b {
	color: var(--ink)
}

.price-block {
	padding: 18px;
	background: var(--bg2);
	border-radius: 14px;
	margin-bottom: 18px
}

.price-old {
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--ink4);
	text-decoration: line-through;
	margin-bottom: 4px;
	height: 18px
}

.price-main {
	font-family: var(--disp);
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1
}

.price-save {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	color: var(--grn);
	background: var(--grn-soft);
	padding: 4px 10px;
	border-radius: 7px;
	margin-top: 8px
}

.price-lease {
	font-size: 12px;
	color: var(--pine3);
	font-weight: 600;
	margin-top: 10px
}

.price-req {
	font-family: var(--disp);
	font-size: 24px;
	font-weight: 800;
	color: var(--ink2)
}

.price-req-hint {
	font-size: 12.5px;
	color: var(--ink3);
	margin-top: 6px
}

.qty-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px
}

.qty-label {
	font-size: 13px;
	font-weight: 600;
	color: var(--ink2)
}

body .qty-row .qib-button-wrapper {
	display: flex;
	align-items: center;
	background: var(--bg2);
	border: 1.5px solid var(--ln2);
	border-radius: 11px;
	overflow: hidden;
	float: none;
	margin: 0;
}

body .qty-row .qib-button-wrapper button {
	width: 36px;
	height: 36px;
	border: none;
	background: none !important;
	cursor: pointer;
	font-size: 16px;
	color: var(--ink2);
	transition: all .14s;
	min-width: auto;
	padding: 0;
	line-height: normal;
}

body .qty-row .qib-button-wrapper div.quantity.wqpmb_quantity {
	height: auto !important;
}

body .qty-row .qib-button-wrapper button:hover {
	background: var(--pine) !important;
	color: #fff
}

body .qty-row .qib-button-wrapper .quantity input.input-text.qty.text {
	width: 38px;
	text-align: center;
	font-family: var(--mono);
	font-size: 15px;
	font-weight: 600;
	height: auto;
	padding: 0;
	background: transparent;
	border: none;
	line-height: normal;
}

.act-primary {
	width: 100%;
	background: var(--pine);
	color: #fff;
	border: none;
	border-radius: 13px;
	padding: 15px;
	font-family: var(--disp);
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: background .16s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 10px
}

.act-primary:hover {
	border-color: var(--pine3);
	background: var(--bg);
	color: var(--ink)
}

.act-primary svg {
	width: 18px;
	height: 18px
}

.act-kp {
	width: 100%;
	background: var(--amber);
	color: #fff;
	border: none;
	border-radius: 13px;
	padding: 14px;
	font-family: var(--disp);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: all .15s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 10px
}

.act-kp:hover {
	background: var(--pine2)
}

.act-secondary {
	display: flex;
	gap: 8px
}

.act-s {
	width: 100%;
	background: var(--bg2);
	color: var(--ink2);
	border: 1.5px solid var(--ln2);
	border-radius: 11px;
	padding: 11px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: all .15s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px
}

.act-s:hover {
	border-color: var(--pine3);
	background: var(--bg);
	color: var(--ink)
}

.actre {
	width: 100%;
	background: var(--grn);
	color: #ffffff;
	border: 1.5px solid var(--ln2);
	border-radius: 11px;
	padding: 11px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: all .15s;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	animation: buttonV 2s infinite linear;
}

@keyframes buttonV {
	50% {
        transform: scale(1.05);
    }
}

.actre:hover {
	background: var(--pine2)
}

.act-s svg {
	width: 15px;
	height: 15px
}

.panel-trust {
	padding: 16px 0 0;
	display: flex;
	flex-direction: column;
	gap: 10px
}

.pt-row {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12.5px;
	color: var(--ink2)
}

.pt-ic {
	width: 28px;
	height: 28px;
	border-radius: 8px;
	background: var(--bg2);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--pine3)
}

.pt-ic svg {
	width: 14px;
	height: 14px
}

.pt-row b {
	color: var(--ink)
}

/* Side panels */
.panel-delivery {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 18px;
	padding: 20px
}

.panel-delivery h4 {
	font-size: 13px;
	font-weight: 800;
	margin-bottom: 14px;
	display: flex;
	align-items: center;
	gap: 8px
}

.panel-delivery h4 svg {
	width: 16px;
	height: 16px;
	color: var(--lime)
}

.del-row {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	padding: 10px 0;
	border-bottom: 1px solid var(--ln)
}

.del-row:last-child {
	border-bottom: none
}

.del-ic {
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: var(--bg2);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--pine3)
}

.del-ic svg {
	width: 16px;
	height: 16px
}

.del-nm {
	font-size: 13px;
	font-weight: 700;
	color: var(--ink)
}

.del-d {
	font-size: 11.5px;
	color: var(--ink3);
	margin-top: 2px
}

.del-pr {
	font-size: 12.5px;
	font-weight: 700;
	color: var(--grn);
	margin-top: 3px
}

.panel-lease {
	background: linear-gradient(150deg, var(--pine), var(--pine3));
	border-radius: 18px;
	padding: 20px;
	color: #fff
}

.panel-lease h4 {
	font-size: 14px;
	font-weight: 800;
	margin-bottom: 8px;
	display: flex;
	align-items: center;
	gap: 8px
}

.panel-lease h4 svg {
	width: 16px;
	height: 16px;
	color: var(--lime)
}

.panel-lease p {
	font-size: 12px;
	color: rgba(255, 255, 255, .75);
	margin-bottom: 14px;
	line-height: 1.5
}

.lease-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 9px 0;
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	font-size: 12.5px
}

.lease-row:last-child {
	border-bottom: none
}

.lease-row .lv {
	font-weight: 700;
	font-family: var(--mono)
}

.lease-btn {
	width: 100%;
	background: var(--lime);
	color: #fff;
	border: none;
	border-radius: 11px;
	padding: 12px;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	margin-top: 14px;
	transition: background .15s
}

.lease-btn:hover {
	background: var(--lime-d)
}

/* â”€â”€ RELATED â”€â”€ */
.related {
	padding: 0px 0 60px;
}

.related-h {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
	gap: 16px
}

.related-h h2 {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.02em
}

.related-h a {
	font-size: 13.5px;
	font-weight: 700;
	color: var(--lime)
}

.related-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px
}

/* Related card (compact) */
.rcard {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 16px;
	overflow: hidden;
	transition: all .2s;
	cursor: pointer
}

.rcard:hover {
	border-color: var(--ln2);
	box-shadow: 0 12px 30px -18px rgba(15, 61, 62, .38);
	transform: translateY(-2px)
}

.rcard-media {
	height: 130px;
	background: linear-gradient(150deg, var(--bg2), var(--bg3));
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative
}

.rcard-media svg {
	width: 80px;
	height: 80px
}

.rcard-tag {
	position: absolute;
	top: 8px;
	right: 8px;
	font-size: 10px;
	font-weight: 800;
	padding: 3px 7px;
	border-radius: 5px
}

.rcard-body {
	padding: 13px
}

.rcard-brand {
	font-family: var(--mono);
	font-size: 9.5px;
	color: var(--pine3);
	text-transform: uppercase;
	letter-spacing: .03em;
	margin-bottom: 5px
}

.rcard-nm {
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	margin-bottom: 10px;
	min-height: 36px
}

.rcard-avail {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	font-weight: 600;
	color: var(--grn);
	margin-bottom: 10px
}

.rcard-avail::before {
	content: '';
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--grn)
}

.rcard-price {
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -.01em;
	margin-bottom: 10px
}

.rcard-price.req {
	font-size: 13px;
	color: var(--ink2);
	font-weight: 700
}

.rcard-add {
	width: 100%;
	background: var(--pine);
	color: #fff;
	border: none;
	border-radius: 9px;
	padding: 9px;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	transition: background .15s
}

.rcard-add:hover {
	background: var(--lime)
}

/* â”€â”€ REVIEW SECTION â”€â”€ */
.reviews {
	padding-bottom: 40px;
}

.reviews-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
	gap: 16px
}

.reviews-head h2 {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.02em
}

.rating-summary {
	display: flex;
	align-items: center;
	gap: 20px;
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 18px;
	padding: 20px 24px;
	margin-bottom: 16px
}

.rating-big {
	font-family: var(--disp);
	font-size: 52px;
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1;
	color: var(--ink)
}

.rating-stars {
	display: flex;
	gap: 3px;
	margin-bottom: 6px
}

.star {
	font-size: 18px
}

.star.on {
	color: var(--lime)
}

.star.off {
	color: var(--ln2)
}

.rating-cnt {
	font-size: 12px;
	color: var(--ink3)
}

.rating-bars {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 6px
}

.rbar {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px
}

.rbar-label {
	font-family: var(--mono);
	color: var(--ink3);
	width: 12px;
	text-align: right
}

.rbar-track {
	flex: 1;
	height: 6px;
	background: var(--bg3);
	border-radius: 3px;
	overflow: hidden
}

.rbar-fill {
	height: 100%;
	background: var(--lime);
	border-radius: 3px
}

.rbar-cnt {
	color: var(--ink3);
	width: 18px
}

.review-item {
	background: var(--bg);
	border: 1px solid var(--ln);
	border-radius: 16px;
	padding: 20px;
	margin-bottom: 12px
}

.rev-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px
}

.rev-av {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--pine);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 14px;
	flex-shrink: 0
}

.rev-author {
	font-size: 14px;
	font-weight: 700
}

.rev-role {
	font-size: 12px;
	color: var(--ink3);
	margin-top: 2px
}

.rev-stars {
	display: flex;
	gap: 2px;
	font-size: 14px
}

.rev-date {
	font-size: 11px;
	color: var(--ink4)
}

.rev-text {
	font-size: 14px;
	color: var(--ink2);
	line-height: 1.7;
	margin-bottom: 12px
}

.rev-pros-cons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 12px
}

.rev-pc {
	padding: 10px 12px;
	border-radius: 10px;
	font-size: 12.5px;
	line-height: 1.5
}

.rev-pro {
	background: var(--grn-soft);
	color: #0D6B3D
}

.rev-con {
	background: #FFF3CD;
	color: #7A5A00
}

.rev-pc strong {
	display: block;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .04em;
	opacity: .7;
	margin-bottom: 4px
}

.rev-helpful {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--ink3)
}

.rev-helpful button {
	background: var(--bg2);
	border: 1px solid var(--ln);
	border-radius: 7px;
	padding: 4px 10px;
	font-size: 12px;
	cursor: pointer;
	color: var(--ink2);
	transition: all .14s
}

.rev-helpful button:hover {
	border-color: var(--pine3);
	background: var(--bg)
}

/* â”€â”€ MODAL â”€â”€ */
.modal-ovl {
	position: fixed;
	inset: 0;
	background: rgba(16, 35, 31, .6);
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	opacity: 0;
	pointer-events: none;
	transition: opacity .24s;
	backdrop-filter: blur(3px)
}

.modal-ovl.on {
	opacity: 1;
	pointer-events: all
}

.modal {
	background: #fff;
	border-radius: 22px;
	max-width: 460px;
	width: 100%;
	transform: translateY(16px) scale(.97);
	transition: transform .27s;
	overflow: hidden;
	max-height: 92vh;
	overflow-y: auto
}

.modal-ovl.on .modal {
	transform: none
}

.modal-head {
	padding: 28px 28px 0;
	position: relative
}

.modal-head .badge {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 12px;
	font-weight: 800;
	color: var(--pine3);
	background: var(--bg2);
	padding: 6px 12px;
	border-radius: 8px;
	margin-bottom: 14px
}

.modal-head h3 {
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 8px
}

.modal-head p {
	font-size: 14px;
	color: var(--ink2);
	line-height: 1.5
}

.modal-x {
	position: absolute;
	top: 20px;
	right: 22px;
	width: 34px;
	height: 34px;
	border-radius: 11px;
	background: var(--bg2);
	border: none;
	cursor: pointer;
	font-size: 17px;
	color: var(--ink2)
}

.modal-x:hover {
	background: var(--pine);
	color: #fff
}

.modal-body {
	padding: 22px 28px 28px
}

.mf {
	margin-bottom: 14px
}

.mf label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--ink2);
	margin-bottom: 7px
}

.mf input,
.mf textarea,
.mf select {
	width: 100%;
	background: var(--bg2);
	border: 1.5px solid var(--ln);
	border-radius: 11px;
	padding: 13px 15px;
	font-size: 14px;
	outline: none;
	transition: border-color .15s;
	font-family: var(--disp)
}

.mf input:focus,
.mf textarea:focus,
.mf select:focus {
	border-color: var(--pine3)
}

.mf textarea {
	resize: vertical;
	min-height: 72px
}

.btn-pine {
	background: var(--pine);
	color: #fff;
	width: 100%;
	padding: 15px;
	border: none;
	border-radius: 12px;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
	transition: background .15s
}

.btn-pine:hover {
	background: var(--lime)
}

.modal-note {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	color: var(--ink3);
	margin-top: 13px;
	justify-content: center
}

.modal-note svg {
	width: 14px;
	height: 14px;
	color: var(--grn);
	flex-shrink: 0
}

.modal-ok {
	text-align: center;
	padding: 48px 30px
}

.modal-ok-ic {
	width: 74px;
	height: 74px;
	border-radius: 21px;
	background: var(--grn-soft);
	color: var(--grn);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	margin: 0 auto 18px
}

.modal-ok h3 {
	font-size: 22px;
	font-weight: 800;
	margin-bottom: 10px
}

.modal-ok p {
	font-size: 14px;
	color: var(--ink2);
	line-height: 1.6;
	margin-bottom: 22px
}

/* â”€â”€ TOAST â”€â”€ */
.toast {
	position: fixed;
	bottom: 28px;
	right: 28px;
	background: var(--pine);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	padding: 13px 20px;
	border-radius: 13px;
	z-index: 2000;
	transform: translateY(20px);
	opacity: 0;
	transition: all .22s;
	pointer-events: none;
	box-shadow: 0 8px 24px -8px rgba(35, 39, 46, .5)
}

.toast.on {
	transform: none;
	opacity: 1
}

a.card-media img {
	max-width: 100%;
	max-height: 150px;
	object-fit: contain;
}

.gallery-main img {
	max-height: 420px;
	max-width: 100%;
	height: 90%;
	object-fit: contain;
}

.thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 10px;
}

.error {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.error h3 {
	font-size: 40px;
    line-height: 1;
    margin: 40px 0px 0px 0px;
    padding: 0;
	text-align: center;
	color: #000000;
}

.error h5 {
	font-size: 120px;
	color: #ff7a1a;
	line-height: 1;
	margin: 20px 0px;
	text-align: center;
}

.error p {
	font-size: 16px;
	text-align: center;
}

.error a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 90%;
	max-width: 210px;
	margin-top: 20px;
	transition: 0.2s linear;
	background: var(--lime);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 10px;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.error a:hover {
	background: var(--pine);
}

.textHome {
	margin: 60px 0px 0px 0px;
}

.textHome h1 {
	font-family: var(--disp);
	font-size: 27px;
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.2;
	margin: 40px 0px;
}

.textHome h2 {
	font-size: 19px;
	margin: 20px 0px 20px 0px;
	position: relative;
	color: var(--ink2);
}

.textHome h3 {
	font-size: 16px;
	margin: 20px 0px 20px 0px;
	position: relative;
	color: var(--ink2);
}

.textHome ul {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 20px
}

.textHome ul li {
	font-size: 14px;
	color: var(--ink2);
	font-weight: 400;
	line-height: 1.8;
	list-style-type: none;
	position: relative;
	padding-left: 17px;
}

.textHome ul li::before {
	content: '';
	position: absolute;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lime);
	left: 0;
	margin-top: 8px
}

.textHome p {
	font-size: 14.5px;
	color: var(--ink2);
	line-height: 1.75;
	margin: 20px 0px;
}

.bottomABS {
	position: fixed;
	display: none;
	grid-template-columns: 1fr 1fr;
	width: 90%;
	height: auto;
	bottom: 15px;
	right: 5%;
	left: 5%;
	gap: 10px;
	z-index: 999;
}

.bottomABS a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	height: 40px;
	box-shadow: 0 0 10px 3px rgb(0 0 0 / 17%);
	border: none;
	border-radius: 10px;
	padding: 11px;
	font-size: 12.5px;
	font-weight: 700;
	cursor: pointer;
	transition: all .15s
}

.bottomABS .commercial {
	background: var(--grn);
	color: #fff;
}

.bottomABS .price {
	background: var(--lime);
	color: #fff;
}

.bottomABS a:hover {
	background: #fff;
	color: var(--lime);
}

@media(max-width: 1060px) {
	.product-shell {
		grid-template-columns: 1fr
	}

	.buy-panel {
		position: relative;
		top: auto
	}

	.related-grid {
		grid-template-columns: repeat(2, 1fr)
	}
}

@media(max-width: 640px) {
	.gallery-thumbs {
		gap: 6px
	}

	.thumb {
		width: 54px;
		height: 54px
	}

	.tab-btn {
		padding: 13px 14px;
		font-size: 12.5px
	}

	.docs-grid {
		grid-template-columns: 1fr
	}

	.rev-pros-cons {
		grid-template-columns: 1fr
	}

	.related-grid {
		grid-template-columns: 1fr 1fr
	}
}

@media(max-width:1080px) {
	.shell {
		grid-template-columns: 1fr
	}

	.side {
		position: static;
		display: none
	}

	.side.open {
		display: block
	}

	.mcat {
		display: flex;
		align-items: center;
		gap: 9px;
		background: var(--pine);
		color: #fff;
		border: none;
		border-radius: 12px;
		padding: 13px 18px;
		font-size: 14px;
		font-weight: 700;
		cursor: pointer;
		margin-bottom: 18px;
		width: 100%;
		justify-content: center
	}

	.grid {
		grid-template-columns: repeat(2, 1fr)
	}

	.trust {
		grid-template-columns: repeat(2, 1fr)
	}

	.co {
		grid-template-columns: 1fr
	}

	.co-side {
		position: static
	}

	.ft-top {
		grid-template-columns: 1fr 1fr
	}
}

@media(max-width:620px) {
	.wrap {
		padding: 0 15px
	}

	.hdr-search {
		display: none
	}

	.hdr-phone {
		display: none
	}

	.listСat {
		grid-template-columns: 1fr 1fr;
		gap: 12px
	}

	.grid {
		grid-template-columns: 1fr 1fr;
		gap: 12px
	}

	.card-nm {
		min-height: auto;
		font-size: 13px
	}

	.card-media {
		height: 130px
	}

	.card-media svg.prod {
		width: 88px;
		height: 88px
	}

	.hero {
		padding: 26px
	}

	.hero h2 {
		font-size: 24px
	}

	.ft-top {
		grid-template-columns: 1fr
	}

	.fld2 {
		grid-template-columns: 1fr
	}

	.card-acts {
		flex-direction: column
	}

	.crow {
		flex-wrap: wrap
	}

	.heroCat {
		flex-wrap: wrap;
		padding: 20px;
	}

	.heroCat .hero-in {
		width: 100%;
	}

	.heroCat .imgsQ {
		width: 100%;
		margin-top: 20px;
	}

	.heroCat .blocks {
		grid-template-columns: repeat(2, 1fr);
	}

	.heroCat h2 {
		font-size: 29px;
	}

	.heroCat .imgsQ img {
		width: 150px;
	}

	.heroCat .blocks .block img {
		width: 30px;
		height: 30px;
	}

	.announce {
		gap: 5px;
	}
	
	.bottomABS {
		display: grid;
	}
}

@media(prefers-reduced-motion:reduce) {
	* {
		transition: none !important
	}
}