:root {
	color-scheme: light;
	--radius: 12px;
	--shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	--bg: #fff;
	--surface: #fff;
	--surface-muted: #f9fafb;
	--text: #222;
	--text-main: #1f2937;
	--text-sub: #6b7280;
	--border: #e5e7eb;
	--header-bg: rgba(255, 255, 255, 0.96);
	--header-top-bg: #111;
	--header-top-text: #fff;
	--input-bg: #fff;
	--muted-bg: #f3f4f6;
	--accent: #2563eb;
	--accent-strong: #1d4ed8;
	--accent-contrast: #fff;
	--accent-soft: rgba(37, 99, 235, 0.22);
	--highlight: #d97706;
	--price: #1f2937;
	--link: #2563eb;
	--danger: #dc2626;
	--success: #16a34a;
	--focus: #2563eb;
	--card-shadow: 0 2px 4px #0003;
	--dropdown-shadow: 0 10px 28px rgba(15, 23, 42, 0.16);
	--stock-in-bg: rgba(17, 197, 108, 0.14);
	--stock-in-text: #0c7a3f;
	--stock-in-border: rgba(17, 197, 108, 0.25);
	--stock-in-dot: #11c56c;
	--stock-in-glow: rgba(17, 197, 108, 0.18);
	--stock-out-bg: rgba(11, 79, 154, 0.1);
	--stock-out-text: #0b4f9a;
	--stock-out-border: rgba(11, 79, 154, 0.18);
	--stock-out-dot: #0b4f9a;
	--stock-out-glow: rgba(11, 79, 154, 0.18);
}

[data-theme="dark"] {
	color-scheme: dark;
	--bg: #061018;
	--surface: #0d1b2e;
	--surface-muted: #12263d;
	--text: #e2e8f0;
	--text-main: #f8fafc;
	--text-sub: #94a3b8;
	--border: rgba(103, 232, 249, 0.24);
	--header-bg: rgba(6, 16, 24, 0.94);
	--header-top-bg: #040b14;
	--header-top-text: #f8fafc;
	--input-bg: #081422;
	--muted-bg: #102033;
	--accent: #22d3ee;
	--accent-strong: #06b6d4;
	--accent-contrast: #042033;
	--accent-soft: rgba(34, 211, 238, 0.28);
	--highlight: #facc15;
	--price: #facc15;
	--link: #67e8f9;
	--danger: #dc2626;
	--success: #4ade80;
	--focus: #22d3ee;
	--card-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
	--dropdown-shadow: 0 16px 36px rgba(0, 0, 0, 0.48);
	--shadow: 0 12px 32px rgba(0, 0, 0, 0.38);
	--stock-in-bg: rgba(74, 222, 128, 0.16);
	--stock-in-text: #86efac;
	--stock-in-border: rgba(74, 222, 128, 0.38);
	--stock-in-dot: #4ade80;
	--stock-in-glow: rgba(74, 222, 128, 0.24);
	--stock-out-bg: rgba(96, 165, 250, 0.16);
	--stock-out-text: #93c5fd;
	--stock-out-border: rgba(96, 165, 250, 0.34);
	--stock-out-dot: #60a5fa;
	--stock-out-glow: rgba(96, 165, 250, 0.24);
}

@font-face {
	font-family: "Lexend";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("/static/fonts/lexend/lexend-vietnamese-400.woff2") format("woff2");
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
	font-family: "Lexend";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("/static/fonts/lexend/lexend-vietnamese-700.woff2") format("woff2");
	unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

@font-face {
	font-family: "Lexend";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("/static/fonts/lexend/lexend-latin-400.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Lexend";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("/static/fonts/lexend/lexend-latin-700.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: Lexend, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 400;
	line-height: 1.5;
}

h1, h2, h3, h4, h5, h6, .heading-font { font-family: Lexend, "Helvetica Neue", Helvetica, Arial, sans-serif; }

img { max-width: 100%; border: 0; }

a { color: inherit; text-decoration: none; }

button, input { font: inherit; }

.container {
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 15px;
}

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--header-bg);
	box-shadow: 0 1px 0 var(--border);
}

.header-top {
	background: var(--header-top-bg);
	color: var(--header-top-text);
	padding: 5px 12px;
	font-size: 13px;
	font-weight: 700;
	text-align: center;
}

.header-main {
	background: transparent;
	border-bottom: 0;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 78px;
}

#logo {
	flex: 1 1 200px;
	width: min(200px, 100%);
	max-width: 200px;
	min-width: 0;
}

#logo a {
	display: block;
	max-width: 100%;
}

#logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 58px;
	object-fit: contain;
}

.logo-text {
	display: block;
	max-width: 100%;
	overflow: hidden;
	color: var(--text-main);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.1;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.searchform { width: min(100%, 280px); }

.searchform .flex-row {
	display: flex;
	align-items: center;
	border: 1px solid var(--border);
	border-radius: 99px;
	background: var(--input-bg);
	overflow: hidden;
}

.search-field {
	width: 100%;
	border: 0;
	outline: 0;
	padding: 9px 16px;
	background: transparent;
	color: var(--text);
}

.ux-search-submit {
	display: grid;
	place-items: center;
	width: 42px;
	height: 38px;
	border: 0;
	background: transparent;
	color: var(--text);
	cursor: pointer;
}

.page-main { padding: 10px 0 120px; }

.profile-tactical {
	margin-top: 10px;
	margin-bottom: 1rem;
	background: var(--surface);
	border-radius: var(--radius);
	overflow: hidden;
	box-shadow: var(--shadow);
	position: relative;
	border: 1px solid var(--border);
}

.pt-cover { width: 100%; background: var(--muted-bg); line-height: 0; overflow: hidden; }
.pt-cover-empty { height: 160px; background: var(--muted-bg); }
.pt-name svg, .pt-bio svg, .btn-tactical svg { width: 16px; height: 16px; flex: 0 0 auto; }
.product-card-sku-copy svg, .breadcrumb-sku-copy svg { width: 12px; height: 12px; }
.pt-cover img { display: block; width: 100%; height: auto; }

.pt-body {
	position: relative;
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-top: -60px;
}

.pt-avatar-box { position: relative; margin-bottom: 15px; z-index: 5; }

.pt-avatar {
	width: 130px;
	height: 130px;
	border-radius: 50%;
	border: 4px solid var(--surface);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	background: var(--muted-bg);
	object-fit: cover;
}

.pt-info { flex: 1; z-index: 5; padding-top: 5px; }

.pt-name {
	font-size: 22px;
	font-weight: 800;
	color: var(--text-main);
	margin: 0 0 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.pt-rank-badge { color: var(--accent); display: inline-flex; }
.pt-bio { color: var(--text-sub); font-size: 14px; margin-bottom: 15px; }
.pt-bio p { margin: 0 0 4px; }
.pt-bio b { font-weight: 700; }
.pt-bio .text-danger, .pt-bio .text-danger a { color: var(--danger); font-weight: 700; }

.pt-actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

.btn-tactical {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 24px;
	border-radius: 6px;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none;
	transition: all 0.2s;
	border: none;
	text-transform: uppercase;
	min-width: 130px;
	background: var(--accent);
	color: var(--accent-contrast);
}

.btn-tactical:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); color: var(--accent-contrast); }

@media (min-width: 768px) {
	.pt-body {
		flex-direction: row;
		align-items: flex-end;
		text-align: left;
		padding: 20px 30px 30px;
		margin-top: 0;
		gap: 25px;
	}
	.pt-avatar-box { margin-bottom: 0; margin-top: -80px; }
	.pt-avatar { width: 160px; height: 160px; border-width: 5px; }
	.pt-name, .pt-actions { justify-content: flex-start; }
	.pt-info { padding-top: 0; }
}

.shop-acc-stats { display: flex; gap: 0.75rem; margin: 0 0 0.75rem; }
.shop-acc-stats__item { flex: 1; min-width: 0; padding: 0.7rem 1rem; background: var(--surface-muted); border: 1px solid var(--border); border-radius: 10px; }
.shop-acc-stats__label { display: block; margin-bottom: 0.2rem; color: var(--text-sub); font-size: 0.85rem; font-weight: 600; }
.shop-acc-stats__value { display: block; color: var(--text-main); font-size: 1.15rem; font-weight: 800; line-height: 1.2; }

.shop-products-intro { margin-bottom: 1.2rem; }
.shop-products-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.85rem;
	padding: 0.6rem 1rem;
	background: var(--surface-muted);
	border: 1px solid var(--border);
	border-radius: 10px;
}
.shop-products-title { font-size: 1.25rem; font-weight: 700; margin: 0; color: var(--text-main); display: inline-flex; align-items: center; gap: 0.5rem; }

.dmtx-sort-dropdown-wrap { display: inline-block; position: relative; margin-left: auto; }
.dmtx-sort-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.4em;
	padding: 0.45em 0.95em;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--surface);
	color: var(--text);
	font-size: 0.82rem;
	font-weight: 700;
	cursor: pointer;
}
.dmtx-sort-dropdown-wrap.is-open .dmtx-sort-toggle { background: var(--accent); border-color: var(--accent-strong); color: var(--accent-contrast); box-shadow: 0 2px 6px var(--accent-soft); }
.dmtx-sort-arrow { font-size: 0.85em; transition: transform 0.15s ease; }
.dmtx-sort-dropdown-wrap.is-open .dmtx-sort-arrow { transform: rotate(180deg); }
.dmtx-sort-dropdown {
	position: absolute;
	top: calc(100% + 0.4rem);
	right: 0;
	z-index: 30;
	display: none;
	min-width: 170px;
	margin: 0;
	padding: 0.35rem;
	list-style: none;
	border: 1px solid var(--border);
	border-radius: 10px;
	background: var(--surface);
	box-shadow: var(--dropdown-shadow);
}
.dmtx-sort-dropdown-wrap.is-open .dmtx-sort-dropdown { display: block; }
.dmtx-sort-dropdown a { display: block; padding: 0.5rem 0.7rem; border-radius: 8px; color: var(--text); font-size: 0.82rem; font-weight: 600; white-space: nowrap; }
.dmtx-sort-dropdown a:hover, .dmtx-sort-dropdown a.is-active { background: var(--accent); color: var(--accent-contrast); }

.neil-price-filter-menu { display: block; margin: 0.75rem 0; }
.nav-price-filter { display: flex; flex-wrap: wrap; gap: 0.35rem; justify-content: center; margin: 0; padding: 0; list-style: none; }
.nav-price-filter > li > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.35em;
	padding: 0.45em 0.85em;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--surface);
	color: var(--text);
	font-size: 0.78rem;
	font-weight: 700;
}
.nav-price-filter > li.current-menu-item > a,
.nav-price-filter > li > a:hover { background: var(--accent); border-color: var(--accent-strong); color: var(--accent-contrast); box-shadow: 0 2px 6px var(--accent-soft); }

@media (min-width: 768px) {
	.neil-price-filter-menu { display: inline-block; margin: 0.75rem 0 0.75rem 0.45rem; vertical-align: middle; }
	.nav-price-filter { justify-content: flex-start; }
}

.products { display: grid; grid-template-columns: minmax(0, 1fr); gap: 15px; }
@media (min-width: 768px) { .products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 850px) { .products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.product-small .box { background: var(--surface); box-shadow: var(--card-shadow); border-radius: 10px; overflow: hidden; }
.products .box-image { position: relative; aspect-ratio: 4 / 3; background: var(--muted-bg); overflow: hidden; }
.products .box-image a, .products .box-image img { display: block; width: 100%; height: 100%; }
.products .box-image img { object-fit: fill; }
.box-text { position: relative; padding: 0.75rem 0.75rem 3.8rem; text-align: center; container-type: inline-size; }
.price { display: block; color: var(--price); font-size: 1.15rem; font-weight: 800; }
.box-excerpt { margin: 0.2rem 0 0; color: var(--text-sub); font-size: 0.9rem; }
.featured-badge {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 4px 8px;
	border-radius: 6px;
	background: #dc2626;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
.featured-badge svg { width: 12px; height: 12px; }

.box-text .product-card-sku-copy, .stock-status-label {
	position: absolute;
	bottom: 0.75rem;
	display: inline-flex;
	align-items: center;
	gap: 0.28em;
	box-sizing: border-box;
	height: 24px;
	margin: 0;
	padding: 0.28rem 0.5rem;
	border-radius: 6px;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
}
.box-text .product-card-sku-copy {
	left: 0.75rem;
	max-width: calc(100% - 7.4rem);
	border: 1px solid var(--border);
	background: var(--surface-muted);
	color: var(--text);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
	cursor: pointer;
}
.product-card-sku { overflow: hidden; text-overflow: ellipsis; }
.product-card-sku-copy-icon { width: 0.95em; height: 0.95em; }
.neil-sku-copy-button.is-copied .neil-sku-copy-icon { color: var(--success); }
.stock-status-label { right: 0.75rem; z-index: 5; }
.stock-status-label::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--stock-in-dot); box-shadow: 0 0 0 3px var(--stock-in-glow); }
.in-stock-label { background: var(--stock-in-bg); color: var(--stock-in-text); border: 1px solid var(--stock-in-border); }
.out-of-stock-label { background: var(--stock-out-bg); color: var(--stock-out-text); border: 1px solid var(--stock-out-border); }
.out-of-stock-label::before { background: var(--stock-out-dot); box-shadow: 0 0 0 3px var(--stock-out-glow); }

@container (max-width: 240px) {
	.neil-stock-status-badge .box-text:has(.product-card-sku-copy) :is(.product-card-sku-copy, .stock-status-label) {
		bottom: 0.55rem;
		height: 22px;
		padding: 0.25rem 0.42rem;
		font-size: 0.68rem;
		gap: 0.2em;
	}
	.neil-stock-status-badge .box-text:has(.product-card-sku-copy) .product-card-sku-copy { left: 0.5rem; max-width: calc(100% - 5.8rem); }
	.neil-stock-status-badge .box-text:has(.product-card-sku-copy) .stock-status-label { right: 0.5rem; }
	.neil-stock-status-badge .stock-status-label::before { width: 5px; height: 5px; box-shadow: 0 0 0 2px var(--stock-in-glow); }
	.neil-stock-status-badge .out-of-stock-label::before { box-shadow: 0 0 0 2px var(--stock-out-glow); }
}

.product-main { padding-top: 10px; }
.product-layout { display: grid; gap: 24px; align-items: start; }
@media (min-width: 850px) { .product-layout { grid-template-columns: 1fr 1fr; } }
.product-gallery-main { display: block; width: 100%; padding: 0; border: 0; background: var(--surface); cursor: zoom-in; }
.product-gallery-main img { display: block; width: 100%; height: auto; }
.product-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.product-thumbs button { padding: 0; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); cursor: pointer; }
.product-thumbs img { display: block; width: 72px; height: 72px; object-fit: cover; }
.product-code-copy { display: inline-flex; align-items: center; gap: 0.35em; margin: 0 0 8px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
.product-code-copy svg { width: 14px; height: 14px; }
.product-price { margin: 8px 0; color: var(--price); font-size: 28px; font-weight: 800; }
.product-description { margin: 0; color: var(--text-sub); }
.product-contact-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0 4px; }
.product-contact-btn { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; padding: 0 10px; border: 0; border-radius: 10px; color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }
.product-contact-btn:hover { color: #fff; opacity: 0.92; transform: translateY(-1px); }
.product-contact-btn svg { width: 18px; height: 18px; }
.product-contact-btn--zalo { background: #0068ff; }
.product-contact-btn--facebook { background: #1877f2; }
.product-contact-btn--call { background: #16a34a; }
.product-contact-btn--installment { background: #ea580c; }
.related-title { margin: 28px 0 12px; font-size: 1.25rem; font-weight: 800; }

.woocommerce-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 24px; }
.woocommerce-pagination a, .woocommerce-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; height: 36px; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); font-weight: 700; }
.woocommerce-pagination .current { background: var(--accent); border-color: var(--accent-strong); color: var(--accent-contrast); }

.copyright-footer { margin-top: 30px; color: var(--text); text-align: center; font-size: 14px; }
.empty-shop { padding: 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-muted); color: var(--text); }
.back-link { display: inline-block; margin-top: 12px; font-weight: 700; color: var(--link); }

.gallery-dialog, .installment-dialog { width: min(960px, calc(100% - 24px)); padding: 8px; border: 0; border-radius: 12px; background: var(--surface); color: var(--text); }
.gallery-dialog::backdrop, .installment-dialog::backdrop { background: rgba(0, 0, 0, 0.72); }
.gallery-dialog img { display: block; width: 100%; height: auto; }
.installment-dialog { position: relative; width: min(520px, calc(100% - 24px)); padding: 20px; }
.installment-dialog h3 { margin: 0 0 12px; padding-right: 52px; }
.installment-dialog label { display: flex; flex-direction: column; gap: 6px; font-weight: 700; }
.installment-dialog input { padding: 8px 10px; border: 1px solid var(--border); border-radius: 8px; background: var(--input-bg); color: var(--text); }
.dialog-close {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 999px;
	background: var(--surface-muted);
	color: var(--text-main);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}

.floating-contact-menu {
	position: fixed;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 9999;
	width: 92%;
	max-width: 680px;
	padding: 10px 18px;
	border-radius: 28px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
	background-color: rgba(25, 25, 25, 0.9);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.floating-contact-menu .contact-list { list-style: none; margin: 0; padding: 0; display: flex; width: 100%; gap: 4px; justify-content: space-between; align-items: center; }
.floating-contact-menu .contact-item { flex: 1 1 0; min-width: 0; text-align: center; margin: 0; }
.floating-contact-menu .contact-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff; font-size: 11px; font-weight: bold; padding: 5px 3px; transition: transform 0.2s ease-in-out; }
.floating-contact-menu .contact-btn:hover { transform: translateY(-3px); color: #fff; }
.search-field:focus-visible,
.ux-search-submit:focus-visible,
.dmtx-sort-toggle:focus-visible,
.nav-price-filter > li > a:focus-visible,
.woocommerce-pagination a:focus-visible,
.back-link:focus-visible,
.dialog-close:focus-visible,
.product-contact-btn:focus-visible,
.btn-tactical:focus-visible,
.product-thumbs button:focus-visible {
	outline: 2px solid var(--focus);
	outline-offset: 2px;
}

[data-theme="dark"] .profile-tactical,
[data-theme="dark"] .product-small .box {
	border: 1px solid rgba(250, 204, 21, 0.34);
	box-shadow: 0 0 0 1px rgba(34, 211, 238, 0.14), var(--card-shadow);
}

[data-theme="dark"] .ux-search-submit {
	width: 34px;
	height: 34px;
	margin: 2px;
	border-radius: 999px;
	background: var(--accent);
	color: var(--accent-contrast);
}

[data-theme="dark"] .header-top { color: var(--highlight); }

.floating-contact-menu .contact-btn img { width: 26px; height: 26px; margin-bottom: 4px; }
.floating-contact-menu .btn-text { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 768px) {
	.header-inner { min-height: 64px; gap: 10px; }
	#logo img { max-height: 42px; }
	.searchform { width: min(100%, 190px); }
	.floating-contact-menu { width: calc(100% - 30px); bottom: 10px; padding: 7px 8px; border-radius: 22px; }
	.floating-contact-menu .contact-btn { font-size: 9px; line-height: 1.1; padding: 3px 1px; }
	.floating-contact-menu .contact-btn img { width: 20px; height: 20px; margin-bottom: 2px; }
}
