/* =========================================================
   INCOUNTRY DISTRIBUTION
   Homepage Visual System
   Hero V1.2 + Categories V1 + Products V1
   ========================================================= */


/* =========================================================
   HOMEPAGE CANVAS
   ========================================================= */

body.home {
	background: #ffffff;
}

.ic-home-hero,
.ic-home-hero *,
.ic-home-categories,
.ic-home-categories *,
.ic-home-products,
.ic-home-products * {
	box-sizing: border-box;
}


/* =========================================================
   HERO
   ========================================================= */

.ic-home-hero {
	position: relative;
	overflow: hidden;
	padding: 38px 0 54px;
	background:
		radial-gradient(
			circle at 88% 12%,
			rgba(255, 107, 44, 0.08),
			transparent 19%
		),
		radial-gradient(
			circle at 8% 88%,
			rgba(214, 0, 0, 0.035),
			transparent 22%
		),
		linear-gradient(
			135deg,
			#f7f5f1 0%,
			#fbfaf8 48%,
			#f3f4f5 100%
		);
}


/* =========================================================
   HERO SHELL
   ========================================================= */

.ic-hero-shell {
	position: relative;
	display: grid;
	grid-template-columns:
		minmax(0, 0.92fr)
		minmax(520px, 1.08fr);
	align-items: stretch;
	gap: clamp(38px, 5vw, 76px);
	min-height: 610px;
	padding: clamp(42px, 5vw, 70px);
	overflow: hidden;
	background:
		linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.94),
			rgba(249, 248, 245, 0.97)
		);
	border: 1px solid rgba(22, 25, 31, 0.06);
	border-radius: 34px;
	box-shadow:
		0 26px 80px rgba(17, 19, 24, 0.08);
}

.ic-hero-shell::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 190px;
	height: 5px;
	background:
		linear-gradient(
			90deg,
			var(--ic-red),
			var(--ic-orange)
		);
	border-radius: 0 0 10px 0;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.ic-hero-content {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	min-width: 0;
	padding: 18px 0;
}

.ic-hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	padding: 8px 13px;
	color: #4f545b;
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid rgba(25, 28, 34, 0.08);
	border-radius: 999px;
	box-shadow:
		0 5px 14px rgba(17, 19, 24, 0.035);
	font-size: 10.5px;
	font-weight: 750;
	line-height: 1;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.ic-hero-eyebrow-dot {
	width: 8px;
	height: 8px;
	flex: 0 0 8px;
	background:
		linear-gradient(
			135deg,
			var(--ic-red),
			var(--ic-orange)
		);
	border-radius: 50%;
	box-shadow:
		0 0 0 5px rgba(255, 107, 44, 0.085);
}

.ic-hero-title {
	max-width: 670px;
	margin: 0;
	color: #15181d;
	font-size: clamp(48px, 4.75vw, 76px);
	font-weight: 790;
	line-height: 0.98;
	letter-spacing: -0.05em;
}

.ic-hero-title span {
	position: relative;
	display: block;
	margin-top: 5px;
	color: #555b63;
	font-weight: 640;
}

.ic-hero-title span::after {
	content: "";
	position: absolute;
	right: 4%;
	bottom: -12px;
	width: 76px;
	height: 4px;
	background:
		linear-gradient(
			90deg,
			var(--ic-red),
			var(--ic-orange)
		);
	border-radius: 99px;
}

.ic-hero-description {
	max-width: 590px;
	margin: 34px 0 0;
	color: #696e75;
	font-size: 16px;
	font-weight: 470;
	line-height: 1.72;
}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.ic-hero-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.ic-hero-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 0 23px;
	border-radius: 14px;
	font-size: 13px;
	font-weight: 760;
	line-height: 1;
	text-decoration: none;
	transition:
		transform var(--ic-transition),
		box-shadow var(--ic-transition),
		background-color var(--ic-transition),
		color var(--ic-transition),
		border-color var(--ic-transition);
}

.ic-hero-button:hover {
	transform: translateY(-2px);
}

.ic-hero-button-primary {
	color: #fff;
	background:
		linear-gradient(
			135deg,
			#e00000,
			#c40000
		);
	border: 1px solid transparent;
	box-shadow:
		0 12px 28px rgba(214, 0, 0, 0.18);
}

.ic-hero-button-primary:hover {
	color: #fff;
	box-shadow:
		0 17px 34px rgba(214, 0, 0, 0.26);
}

.ic-hero-button-primary svg {
	transition: transform var(--ic-transition);
}

.ic-hero-button-primary:hover svg {
	transform: translateX(3px);
}

.ic-hero-button-secondary {
	color: #292d33;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid #dedfe2;
	box-shadow:
		0 6px 18px rgba(17, 19, 24, 0.04);
}

.ic-hero-button-secondary:hover {
	color: #111318;
	background: #fff;
	border-color: #cacdd1;
}


/* =========================================================
   HERO COMMERCE SIGNALS
   ========================================================= */

.ic-hero-signals {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	max-width: 610px;
	margin-top: 40px;
	padding-top: 22px;
	border-top: 1px solid rgba(25, 28, 34, 0.08);
}

.ic-hero-signal {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.ic-hero-signal-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	color: #20242a;
	background: #fff;
	border: 1px solid #e4e5e7;
	border-radius: 11px;
	box-shadow:
		0 5px 14px rgba(17, 19, 24, 0.045);
}

.ic-hero-signal > span:last-child {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.ic-hero-signal strong {
	color: #25292f;
	font-size: 11.5px;
	font-weight: 760;
	line-height: 1.1;
}

.ic-hero-signal small {
	color: #8a8f96;
	font-size: 10px;
	font-weight: 560;
	line-height: 1.1;
}


/* =========================================================
   HERO VISUAL
   ========================================================= */

.ic-hero-visual {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 500px;
	padding: 30px 8px;
}

.ic-hero-visual::before {
	content: "";
	position: absolute;
	inset: 5% 3% 7%;
	background:
		linear-gradient(
			145deg,
			#15181d 0%,
			#21252b 55%,
			#2c3138 100%
		);
	border-radius: 30px;
	box-shadow:
		0 30px 65px rgba(17, 19, 24, 0.18);
	transform: rotate(-1.4deg);
}

.ic-hero-visual::after {
	content: "";
	position: absolute;
	top: 12%;
	right: 0;
	width: 45%;
	height: 48%;
	background:
		linear-gradient(
			135deg,
			rgba(255, 107, 44, 0.17),
			rgba(214, 0, 0, 0.03)
		);
	border-radius: 50%;
	filter: blur(28px);
	pointer-events: none;
}

.ic-hero-glow {
	position: absolute;
	z-index: 1;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(50px);
}

.ic-hero-glow-one {
	top: 8%;
	right: 8%;
	width: 160px;
	height: 160px;
	background: rgba(255, 107, 44, 0.15);
}

.ic-hero-glow-two {
	bottom: 12%;
	left: 5%;
	width: 130px;
	height: 130px;
	background: rgba(214, 0, 0, 0.08);
}

.ic-hero-grid-mark {
	position: absolute;
	top: 11%;
	right: 7%;
	z-index: 2;
	width: 88px;
	height: 88px;
	opacity: 0.14;
	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.6) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.6) 1px,
			transparent 1px
		);
	background-size: 14px 14px;
	mask-image:
		linear-gradient(
			to bottom right,
			#000,
			transparent
		);
	-webkit-mask-image:
		linear-gradient(
			to bottom right,
			#000,
			transparent
		);
}


/* =========================================================
   HERO MAIN PRODUCT
   ========================================================= */

.ic-hero-main-product {
	position: relative;
	z-index: 4;
	display: flex;
	flex-direction: column;
	width: min(440px, 76%);
	min-height: 455px;
	padding: 18px;
	color: #202329;
	background:
		linear-gradient(
			155deg,
			rgba(255, 255, 255, 0.97),
			rgba(244, 245, 247, 0.95)
		);
	border: 1px solid rgba(255, 255, 255, 0.72);
	border-radius: 25px;
	box-shadow:
		0 26px 60px rgba(7, 9, 12, 0.26);
	text-decoration: none;
	transition:
		transform 360ms var(--ic-ease),
		box-shadow 360ms var(--ic-ease);
}

.ic-hero-main-product:hover {
	color: #202329;
	transform: translateY(-6px);
	box-shadow:
		0 34px 75px rgba(7, 9, 12, 0.31);
}

.ic-hero-product-badge {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 5;
}

.ic-hero-product-badge span {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 0 11px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-red),
			#b90000
		);
	border-radius: 999px;
	box-shadow:
		0 6px 16px rgba(214, 0, 0, 0.18);
	font-size: 9.5px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.065em;
}

.ic-hero-product-media {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 315px;
	padding: 28px 24px 12px;
	overflow: hidden;
}

.ic-hero-product-image {
	display: block;
	width: 100%;
	max-width: 330px;
	height: auto;
	max-height: 300px;
	object-fit: contain;
	transition:
		transform 480ms var(--ic-ease);
}

.ic-hero-main-product:hover .ic-hero-product-image {
	transform: scale(1.035);
}

.ic-hero-product-meta {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	padding: 16px 6px 4px;
	border-top: 1px solid rgba(30, 33, 39, 0.08);
}

.ic-hero-product-meta > div {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

.ic-hero-product-meta small {
	color: #999ea5;
	font-size: 9px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.ic-hero-product-meta strong {
	display: -webkit-box;
	overflow: hidden;
	color: #22262b;
	font-size: 12.5px;
	font-weight: 740;
	line-height: 1.3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ic-hero-product-price {
	flex: 0 0 auto;
	color: var(--ic-red);
	font-size: 12px;
	font-weight: 800;
	white-space: nowrap;
}

.ic-hero-product-price del {
	display: none;
}

.ic-hero-product-price ins {
	text-decoration: none;
}


/* =========================================================
   HERO FLOATING PRODUCTS
   ========================================================= */

.ic-hero-floating-products {
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
}

.ic-hero-mini-product {
	position: absolute;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 10px;
	width: 210px;
	min-height: 77px;
	padding: 10px 11px;
	color: #24272d;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.74);
	border-radius: 16px;
	box-shadow:
		0 18px 36px rgba(8, 10, 13, 0.18);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	text-decoration: none;
	pointer-events: auto;
	transition:
		transform var(--ic-transition),
		box-shadow var(--ic-transition);
}

.ic-hero-mini-product:hover {
	color: #24272d;
	transform: translateY(-4px);
	box-shadow:
		0 24px 44px rgba(8, 10, 13, 0.24);
}

.ic-hero-mini-product-1 {
	top: 13%;
	left: -6%;
}

.ic-hero-mini-product-2 {
	right: -4%;
	bottom: 13%;
}

.ic-hero-mini-media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	overflow: hidden;
	background: #f6f7f8;
	border-radius: 11px;
}

.ic-hero-mini-image {
	display: block;
	width: 42px;
	height: 42px;
	object-fit: contain;
}

.ic-hero-mini-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.ic-hero-mini-copy small {
	color: #a0a4aa;
	font-size: 8px;
	font-weight: 750;
	text-transform: uppercase;
	letter-spacing: 0.075em;
}

.ic-hero-mini-copy strong {
	display: -webkit-box;
	overflow: hidden;
	color: #2d3035;
	font-size: 10.5px;
	font-weight: 720;
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ic-hero-mini-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-orange),
			#ee4d1b
		);
	border-radius: 9px;
}

.ic-hero-visual-caption {
	position: absolute;
	right: 3%;
	bottom: 3%;
	z-index: 3;
	display: flex;
	align-items: flex-start;
	gap: 9px;
	color: rgba(255, 255, 255, 0.68);
}

.ic-hero-visual-caption > span {
	width: 24px;
	height: 1px;
	margin-top: 7px;
	background: var(--ic-orange);
}

.ic-hero-visual-caption p {
	margin: 0;
	font-size: 8.5px;
	font-weight: 650;
	line-height: 1.55;
	letter-spacing: 0.07em;
	text-transform: uppercase;
}


/* =========================================================
   HERO PLACEHOLDER
   ========================================================= */

.ic-hero-product-placeholder {
	align-items: center;
	justify-content: center;
	gap: 17px;
	text-align: center;
}

.ic-hero-placeholder-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 95px;
	height: 95px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			#15181d,
			#30343a
		);
	border-radius: 25px;
	font-size: 31px;
	font-weight: 850;
	letter-spacing: -0.04em;
}

.ic-hero-product-placeholder strong {
	max-width: 250px;
	color: #262a30;
	font-size: 20px;
	font-weight: 750;
	line-height: 1.25;
}


/* =========================================================
   HOME CATEGORIES
   ========================================================= */

.ic-home-categories {
	position: relative;
	overflow: hidden;
	padding: 88px 0 104px;
	background:
		radial-gradient(
			circle at 94% 15%,
			rgba(79, 124, 255, 0.055),
			transparent 22%
		),
		radial-gradient(
			circle at 8% 85%,
			rgba(108, 99, 255, 0.04),
			transparent 18%
		),
		#ffffff;
}


/* =========================================================
   CATEGORY SECTION HEADING
   ========================================================= */

.ic-home-section-heading {
	display: grid;
	grid-template-columns:
		minmax(0, 1fr)
		auto;
	align-items: end;
	gap: 50px;
	margin-bottom: 42px;
}

.ic-home-section-copy {
	max-width: 790px;
}

.ic-home-section-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 15px;
	color: #656a72;
	font-size: 10px;
	font-weight: 760;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.ic-home-section-eyebrow-line {
	display: block;
	width: 32px;
	height: 2px;
	background:
		linear-gradient(
			90deg,
			var(--ic-blue),
			var(--ic-purple)
		);
	border-radius: 999px;
}

.ic-home-section-title {
	max-width: 760px;
	margin: 0;
	color: #171a1f;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 790;
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.ic-home-section-title span {
	display: block;
	margin-top: 4px;
	color: #696e76;
	font-weight: 590;
}

.ic-home-section-description {
	max-width: 680px;
	margin: 20px 0 0;
	color: #777c84;
	font-size: 14px;
	font-weight: 470;
	line-height: 1.7;
}

.ic-home-section-action {
	padding-bottom: 5px;
}

.ic-home-section-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #262a30;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
	white-space: nowrap;
}

.ic-home-section-link-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-blue),
			var(--ic-purple)
		);
	border-radius: 12px;
	box-shadow:
		0 10px 24px rgba(79, 124, 255, 0.17);
	transition:
		transform var(--ic-transition),
		box-shadow var(--ic-transition);
}

.ic-home-section-link:hover {
	color: #171a1f;
}

.ic-home-section-link:hover .ic-home-section-link-icon {
	transform: translateX(3px);
	box-shadow:
		0 14px 30px rgba(79, 124, 255, 0.23);
}


/* =========================================================
   CATEGORY SHOWCASE GRID
   ========================================================= */

.ic-category-showcase {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}


/* =========================================================
   CATEGORY CARD
   ========================================================= */

.ic-category-card {
	--ic-category-accent: var(--ic-red);
	--ic-category-soft: rgba(214, 0, 0, 0.055);

	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 390px;
	overflow: hidden;
	color: #22262c;
	background:
		linear-gradient(
			155deg,
			#ffffff 0%,
			#fbfbfc 55%,
			#f7f8f9 100%
		);
	border: 1px solid #e9eaed;
	border-radius: 25px;
	box-shadow:
		0 12px 32px rgba(17, 19, 24, 0.055);
	text-decoration: none;
	transition:
		transform 320ms var(--ic-ease),
		box-shadow 320ms var(--ic-ease),
		border-color 320ms var(--ic-ease);
}

.ic-category-card:hover {
	color: #22262c;
	transform: translateY(-7px);
	border-color:
		color-mix(
			in srgb,
			var(--ic-category-accent) 22%,
			#e9eaed
		);
	box-shadow:
		0 24px 55px rgba(17, 19, 24, 0.11);
}

.ic-category-card::before {
	content: "";
	position: absolute;
	top: -80px;
	right: -75px;
	width: 190px;
	height: 190px;
	background: var(--ic-category-soft);
	border-radius: 50%;
	filter: blur(2px);
	pointer-events: none;
	transition:
		transform 400ms var(--ic-ease);
}

.ic-category-card:hover::before {
	transform: scale(1.18);
}

.ic-category-accent-red {
	--ic-category-accent: var(--ic-red);
	--ic-category-soft: rgba(214, 0, 0, 0.055);
}

.ic-category-accent-orange {
	--ic-category-accent: var(--ic-orange);
	--ic-category-soft: rgba(255, 107, 44, 0.07);
}

.ic-category-accent-blue {
	--ic-category-accent: var(--ic-blue);
	--ic-category-soft: rgba(79, 124, 255, 0.075);
}

.ic-category-accent-purple {
	--ic-category-accent: var(--ic-purple);
	--ic-category-soft: rgba(108, 99, 255, 0.07);
}


/* =========================================================
   CATEGORY CARD TOP
   ========================================================= */

.ic-category-card-top {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 18px 0;
}

.ic-category-card-number {
	color: #b3b7bd;
	font-size: 9px;
	font-weight: 780;
	line-height: 1;
	letter-spacing: 0.08em;
}

.ic-category-card-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 37px;
	height: 37px;
	color: var(--ic-category-accent);
	background: #fff;
	border:
		1px solid
		color-mix(
			in srgb,
			var(--ic-category-accent) 18%,
			#e8eaed
		);
	border-radius: 12px;
	box-shadow:
		0 5px 16px rgba(17, 19, 24, 0.045);
	transition:
		color var(--ic-transition),
		background-color var(--ic-transition),
		transform var(--ic-transition),
		box-shadow var(--ic-transition);
}

.ic-category-card:hover .ic-category-card-arrow {
	color: #fff;
	background: var(--ic-category-accent);
	transform: translateX(3px);
	box-shadow:
		0 10px 22px
		color-mix(
			in srgb,
			var(--ic-category-accent) 22%,
			transparent
		);
}


/* =========================================================
   CATEGORY MEDIA
   ========================================================= */

.ic-category-card-media {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 245px;
	padding: 14px 22px 4px;
}

.ic-category-card-image {
	display: block;
	width: 100%;
	max-width: 235px;
	height: 220px;
	object-fit: contain;
	filter:
		drop-shadow(
			0 18px 18px rgba(17, 19, 24, 0.08)
		);
	transition:
		transform 420ms var(--ic-ease);
}

.ic-category-card:hover .ic-category-card-image {
	transform:
		translateY(-4px)
		scale(1.035);
}

.ic-category-card-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	height: 170px;
	background:
		linear-gradient(
			145deg,
			#f1f2f4,
			#ffffff
		);
	border:
		1px solid
		color-mix(
			in srgb,
			var(--ic-category-accent) 14%,
			#e7e8eb
		);
	border-radius: 35px;
	box-shadow:
		0 18px 35px rgba(17, 19, 24, 0.055);
}

.ic-category-card-placeholder span {
	color: var(--ic-category-accent);
	font-size: 58px;
	font-weight: 850;
	line-height: 1;
	letter-spacing: -0.06em;
	opacity: 0.75;
}


/* =========================================================
   CATEGORY COPY
   ========================================================= */

.ic-category-card-copy {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 15px;
	padding: 13px 19px 21px;
}

.ic-category-card-copy > div {
	min-width: 0;
}

.ic-category-card-copy small {
	display: block;
	margin-bottom: 5px;
	color: var(--ic-category-accent);
	font-size: 8px;
	font-weight: 760;
	line-height: 1;
	letter-spacing: 0.075em;
	text-transform: uppercase;
}

.ic-category-card-copy h3 {
	margin: 0;
	color: #24282e;
	font-size: 16px;
	font-weight: 760;
	line-height: 1.15;
	letter-spacing: -0.025em;
}

.ic-category-product-count {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	flex: 0 0 auto;
	color: #595e66;
	font-size: 11px;
	font-weight: 760;
	line-height: 1;
}

.ic-category-product-count small {
	margin: 4px 0 0;
	color: #a1a5ab;
	font-size: 7.5px;
	font-weight: 620;
	letter-spacing: 0;
	text-transform: none;
}

.ic-category-card-accent {
	position: absolute;
	right: 19px;
	bottom: 0;
	left: 19px;
	height: 3px;
	overflow: hidden;
	background: #edeef0;
	border-radius: 99px 99px 0 0;
}

.ic-category-card-accent::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 34%;
	height: 100%;
	background:
		linear-gradient(
			90deg,
			var(--ic-category-accent),
			color-mix(
				in srgb,
				var(--ic-category-accent) 45%,
				#ffffff
			)
		);
	border-radius: inherit;
	transition:
		width 400ms var(--ic-ease);
}

.ic-category-card:hover .ic-category-card-accent::after {
	width: 72%;
}


/* =========================================================
   CATEGORY EMPTY STATE
   ========================================================= */

.ic-category-empty {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 22px;
	padding: 25px;
	background: #f8f8f9;
	border: 1px solid #e7e8eb;
	border-radius: 22px;
}

.ic-category-empty-mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-blue),
			var(--ic-purple)
		);
	border-radius: 17px;
	font-size: 18px;
	font-weight: 830;
}

.ic-category-empty strong {
	color: #22262b;
	font-size: 15px;
}

.ic-category-empty p {
	margin: 4px 0 0;
	color: #747982;
	font-size: 12px;
}

.ic-category-empty > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0 18px;
	color: #fff;
	background: var(--ic-red);
	border-radius: 11px;
	font-size: 11px;
	font-weight: 750;
	text-decoration: none;
}

.ic-category-mobile-hint {
	display: none;
}


/* =========================================================
   HOME PRODUCTS
   ========================================================= */

.ic-home-products {
	position: relative;
	overflow: hidden;
	padding: 96px 0 112px;
	background:
		radial-gradient(
			circle at 5% 9%,
			rgba(255, 107, 44, 0.065),
			transparent 18%
		),
		radial-gradient(
			circle at 96% 86%,
			rgba(108, 99, 255, 0.055),
			transparent 22%
		),
		linear-gradient(
			180deg,
			#f7f5f1 0%,
			#faf9f7 46%,
			#f3f4f6 100%
		);
}


/* =========================================================
   PRODUCT SECTION HEADING
   ========================================================= */

.ic-product-section-heading {
	display: grid;
	grid-template-columns:
		minmax(0, 1fr)
		auto;
	align-items: end;
	gap: 50px;
	margin-bottom: 42px;
}

.ic-product-section-heading > div {
	max-width: 780px;
}

.ic-product-section-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 15px;
	color: #646a72;
	font-size: 10px;
	font-weight: 760;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ic-product-section-eyebrow > span {
	display: block;
	width: 32px;
	height: 2px;
	background:
		linear-gradient(
			90deg,
			var(--ic-orange),
			var(--ic-red)
		);
	border-radius: 999px;
}

.ic-product-section-title {
	max-width: 720px;
	margin: 0;
	color: #171a1f;
	font-size: clamp(38px, 4vw, 58px);
	font-weight: 790;
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.ic-product-section-title span {
	display: block;
	margin-top: 4px;
	color: #686e76;
	font-weight: 590;
}

.ic-product-section-description {
	max-width: 650px;
	margin: 19px 0 0;
	color: #777c84;
	font-size: 14px;
	font-weight: 470;
	line-height: 1.7;
}

.ic-product-section-view-all {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 5px;
	color: #282c31;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
	white-space: nowrap;
}

.ic-product-section-view-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 39px;
	height: 39px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-red),
			#bc0000
		);
	border-radius: 12px;
	box-shadow:
		0 10px 24px rgba(214, 0, 0, 0.17);
	transition:
		transform var(--ic-transition),
		box-shadow var(--ic-transition);
}

.ic-product-section-view-all:hover {
	color: #171a1f;
}

.ic-product-section-view-all:hover
.ic-product-section-view-icon {
	transform: translateX(3px);
	box-shadow:
		0 14px 30px rgba(214, 0, 0, 0.23);
}


/* =========================================================
   PRODUCT SHOWCASE
   ========================================================= */

.ic-product-showcase {
	display: grid;
	grid-template-columns:
		minmax(380px, 0.88fr)
		minmax(0, 1.42fr);
	gap: 20px;
	align-items: stretch;
}


/* =========================================================
   SPOTLIGHT PRODUCT
   ========================================================= */

.ic-product-spotlight {
	position: relative;
	display: grid;
	grid-template-rows:
		auto
		1fr;
	min-width: 0;
	min-height: 660px;
	overflow: hidden;
	color: #fff;
	background:
		linear-gradient(
			150deg,
			#111318 0%,
			#1d2127 48%,
			#292e36 100%
		);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 30px;
	box-shadow:
		0 24px 65px rgba(17, 19, 24, 0.17);
	text-decoration: none;
	transition:
		transform 360ms var(--ic-ease),
		box-shadow 360ms var(--ic-ease);
}

.ic-product-spotlight:hover {
	color: #fff;
	transform: translateY(-5px);
	box-shadow:
		0 34px 78px rgba(17, 19, 24, 0.23);
}


/* Spotlight copy */

.ic-product-spotlight-content {
	position: relative;
	z-index: 5;
	padding: 37px 38px 10px;
}

.ic-product-spotlight-label {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 23px;
	color: rgba(255, 255, 255, 0.64);
	font-size: 9px;
	font-weight: 760;
	line-height: 1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.ic-product-spotlight-label span {
	display: block;
	width: 8px;
	height: 8px;
	background:
		linear-gradient(
			135deg,
			var(--ic-orange),
			var(--ic-red)
		);
	border-radius: 50%;
	box-shadow:
		0 0 0 5px rgba(255, 107, 44, 0.10);
}

.ic-product-spotlight-category {
	margin-bottom: 10px;
	color: #aeb4bd;
	font-size: 10px;
	font-weight: 720;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.07em;
}

.ic-product-spotlight-content h3 {
	max-width: 520px;
	margin: 0;
	color: #fff;
	font-size: clamp(25px, 2.4vw, 39px);
	font-weight: 740;
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.ic-product-spotlight-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 18px;
	color: #fff;
	font-size: 20px;
	font-weight: 800;
}

.ic-product-spotlight-price ins {
	color: #fff;
	text-decoration: none;
}

.ic-product-spotlight-price del {
	color: #858b94;
	font-size: 12px;
	font-weight: 600;
}

.ic-product-spotlight-action {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 24px;
	color: #fff;
	font-size: 11px;
	font-weight: 740;
}

.ic-product-spotlight-action > span:last-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-orange),
			#ee4d1b
		);
	border-radius: 10px;
	box-shadow:
		0 9px 22px rgba(255, 107, 44, 0.18);
	transition:
		transform var(--ic-transition);
}

.ic-product-spotlight:hover
.ic-product-spotlight-action > span:last-child {
	transform: translateX(4px);
}


/* Spotlight media */

.ic-product-spotlight-media {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 355px;
	padding: 15px 35px 35px;
}

.ic-product-spotlight-image {
	position: relative;
	z-index: 4;
	display: block;
	width: 100%;
	max-width: 390px;
	height: 340px;
	object-fit: contain;
	filter:
		drop-shadow(
			0 28px 28px rgba(0, 0, 0, 0.24)
		);
	transition:
		transform 480ms var(--ic-ease);
}

.ic-product-spotlight:hover
.ic-product-spotlight-image {
	transform:
		translateY(-5px)
		scale(1.025);
}

.ic-product-spotlight-glow {
	position: absolute;
	top: 10%;
	left: 50%;
	width: 310px;
	height: 310px;
	background:
		radial-gradient(
			circle,
			rgba(79, 124, 255, 0.18) 0%,
			rgba(108, 99, 255, 0.10) 34%,
			transparent 68%
		);
	border-radius: 50%;
	transform: translateX(-50%);
	filter: blur(12px);
	pointer-events: none;
}

.ic-product-discount-badge {
	position: absolute;
	top: 18px;
	right: 22px;
	z-index: 6;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	min-height: 34px;
	padding: 0 12px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-red),
			#b80000
		);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	box-shadow:
		0 10px 25px rgba(214, 0, 0, 0.24);
	font-size: 10px;
	font-weight: 820;
	line-height: 1;
}


/* Spotlight decorations */

.ic-product-spotlight-decoration {
	position: absolute;
	right: 24px;
	bottom: 22px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 6px;
}

.ic-product-spotlight-decoration span {
	display: block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
}

.ic-product-spotlight-decoration span:nth-child(1) {
	background: var(--ic-red);
}

.ic-product-spotlight-decoration span:nth-child(2) {
	background: var(--ic-blue);
}

.ic-product-spotlight-decoration span:nth-child(3) {
	background: var(--ic-purple);
}


/* =========================================================
   PRODUCT GRID
   ========================================================= */

.ic-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}


/* =========================================================
   PRODUCT CARD
   ========================================================= */

.ic-product-card {
	--ic-product-accent: var(--ic-blue);
	--ic-product-soft: rgba(79, 124, 255, 0.055);

	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 320px;
	overflow: hidden;
	color: #24282e;
	background:
		linear-gradient(
			155deg,
			#ffffff 0%,
			#fbfbfc 60%,
			#f7f8f9 100%
		);
	border: 1px solid #e6e8eb;
	border-radius: 23px;
	box-shadow:
		0 10px 28px rgba(17, 19, 24, 0.05);
	text-decoration: none;
	transition:
		transform 300ms var(--ic-ease),
		box-shadow 300ms var(--ic-ease),
		border-color 300ms var(--ic-ease);
}

.ic-product-card:hover {
	color: #24282e;
	transform: translateY(-6px);
	border-color:
		color-mix(
			in srgb,
			var(--ic-product-accent) 20%,
			#e6e8eb
		);
	box-shadow:
		0 22px 48px rgba(17, 19, 24, 0.105);
}

.ic-product-card::before {
	content: "";
	position: absolute;
	top: -65px;
	right: -60px;
	width: 160px;
	height: 160px;
	background: var(--ic-product-soft);
	border-radius: 50%;
	pointer-events: none;
}

.ic-product-card-blue {
	--ic-product-accent: var(--ic-blue);
	--ic-product-soft: rgba(79, 124, 255, 0.07);
}

.ic-product-card-purple {
	--ic-product-accent: var(--ic-purple);
	--ic-product-soft: rgba(108, 99, 255, 0.065);
}

.ic-product-card-orange {
	--ic-product-accent: var(--ic-orange);
	--ic-product-soft: rgba(255, 107, 44, 0.075);
}

.ic-product-card-red {
	--ic-product-accent: var(--ic-red);
	--ic-product-soft: rgba(214, 0, 0, 0.055);
}


/* Product card top */

.ic-product-card-top {
	position: relative;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-height: 49px;
	padding: 14px 15px 0;
}

.ic-product-card-category {
	display: block;
	max-width: 67%;
	overflow: hidden;
	color: #9398a0;
	font-size: 7.5px;
	font-weight: 740;
	line-height: 1;
	letter-spacing: 0.06em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.ic-product-card-deal,
.ic-product-card-new {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 23px;
	padding: 0 8px;
	border-radius: 999px;
	font-size: 7px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ic-product-card-deal {
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-red),
			#b90000
		);
	box-shadow:
		0 6px 15px rgba(214, 0, 0, 0.15);
}

.ic-product-card-new {
	color: var(--ic-product-accent);
	background:
		color-mix(
			in srgb,
			var(--ic-product-accent) 8%,
			#ffffff
		);
	border:
		1px solid
		color-mix(
			in srgb,
			var(--ic-product-accent) 15%,
			#e6e8eb
		);
}


/* Product card media */

.ic-product-card-media {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 185px;
	padding: 7px 14px;
}

.ic-product-card-image {
	display: block;
	width: 100%;
	max-width: 190px;
	height: 180px;
	object-fit: contain;
	filter:
		drop-shadow(
			0 15px 16px rgba(17, 19, 24, 0.07)
		);
	transition:
		transform 420ms var(--ic-ease);
}

.ic-product-card:hover
.ic-product-card-image {
	transform:
		translateY(-4px)
		scale(1.035);
}


/* Product body */

.ic-product-card-body {
	position: relative;
	z-index: 4;
	padding: 11px 16px 18px;
}

.ic-product-card-body h3 {
	display: -webkit-box;
	min-height: 38px;
	margin: 0;
	overflow: hidden;
	color: #292d33;
	font-size: 12.5px;
	font-weight: 720;
	line-height: 1.45;
	letter-spacing: -0.015em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.ic-product-card-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	margin-top: 14px;
	padding-top: 13px;
	border-top: 1px solid #eceef0;
}

.ic-product-card-price {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	min-width: 0;
	color: #25292f;
	font-size: 12.5px;
	font-weight: 800;
	line-height: 1.15;
}

.ic-product-card-price ins {
	color: #25292f;
	text-decoration: none;
}

.ic-product-card-price del {
	color: #a3a7ad;
	font-size: 9px;
	font-weight: 570;
}

.ic-product-card-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: 0 0 32px;
	color: var(--ic-product-accent);
	background: #fff;
	border:
		1px solid
		color-mix(
			in srgb,
			var(--ic-product-accent) 18%,
			#e5e7ea
		);
	border-radius: 10px;
	box-shadow:
		0 5px 14px rgba(17, 19, 24, 0.04);
	transition:
		color var(--ic-transition),
		background-color var(--ic-transition),
		transform var(--ic-transition);
}

.ic-product-card:hover
.ic-product-card-arrow {
	color: #fff;
	background: var(--ic-product-accent);
	transform: translateX(3px);
}


/* Product card accent */

.ic-product-card-accent {
	position: absolute;
	right: 16px;
	bottom: 0;
	left: 16px;
	height: 3px;
	overflow: hidden;
	background: #eceef0;
	border-radius: 999px 999px 0 0;
}

.ic-product-card-accent::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 31%;
	background:
		linear-gradient(
			90deg,
			var(--ic-product-accent),
			color-mix(
				in srgb,
				var(--ic-product-accent) 42%,
				#fff
			)
		);
	border-radius: inherit;
	transition:
		width 380ms var(--ic-ease);
}

.ic-product-card:hover
.ic-product-card-accent::after {
	width: 72%;
}


/* =========================================================
   PRODUCT MOBILE HINT
   ========================================================= */

.ic-product-mobile-hint {
	display: none;
}


/* =========================================================
   PRODUCT EMPTY STATE
   ========================================================= */

.ic-product-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 320px;
	padding: 40px;
	text-align: center;
	background: #fff;
	border: 1px solid #e5e7ea;
	border-radius: 28px;
	box-shadow:
		0 14px 40px rgba(17, 19, 24, 0.06);
}

.ic-product-empty > div {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin-bottom: 20px;
	color: #fff;
	background:
		linear-gradient(
			135deg,
			var(--ic-blue),
			var(--ic-purple)
		);
	border-radius: 21px;
}

.ic-product-empty > div span {
	font-size: 20px;
	font-weight: 820;
}

.ic-product-empty h3 {
	margin: 0;
	color: #22262b;
	font-size: 25px;
	font-weight: 760;
}

.ic-product-empty p {
	margin: 9px 0 20px;
	color: #777c84;
	font-size: 13px;
}

.ic-product-empty > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 45px;
	padding: 0 20px;
	color: #fff;
	background: var(--ic-red);
	border-radius: 12px;
	font-size: 11px;
	font-weight: 750;
	text-decoration: none;
}


/* =========================================================
   LARGE / MEDIUM DESKTOP
   ========================================================= */

@media (max-width: 1279px) {

	/* Hero */

	.ic-hero-shell {
		grid-template-columns:
			minmax(0, 0.95fr)
			minmax(440px, 1.05fr);
		gap: 30px;
		padding: 48px;
	}

	.ic-hero-title {
		font-size: clamp(45px, 4.4vw, 62px);
	}

	.ic-hero-main-product {
		width: min(400px, 78%);
		min-height: 425px;
	}

	.ic-hero-product-media {
		min-height: 285px;
	}

	.ic-hero-mini-product {
		width: 190px;
	}

	.ic-hero-mini-product-1 {
		left: -2%;
	}

	.ic-hero-mini-product-2 {
		right: -1%;
	}


	/* Categories */

	.ic-category-showcase {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 15px;
	}

	.ic-category-card {
		min-height: 360px;
	}

	.ic-category-card-media {
		min-height: 220px;
	}

	.ic-category-card-image {
		max-width: 205px;
		height: 198px;
	}


	/* Products */

	.ic-product-showcase {
		grid-template-columns:
			minmax(340px, 0.88fr)
			minmax(0, 1.42fr);
		gap: 16px;
	}

	.ic-product-grid {
		gap: 14px;
	}

	.ic-product-card {
		min-height: 300px;
	}

	.ic-product-card-media {
		min-height: 168px;
	}

	.ic-product-card-image {
		max-width: 170px;
		height: 165px;
	}

}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 991px) {

	/* Hero */

	.ic-home-hero {
		padding-top: 28px;
	}

	.ic-hero-shell {
		grid-template-columns: 1fr;
		gap: 38px;
		min-height: 0;
		padding: 44px;
		border-radius: 29px;
	}

	.ic-hero-content {
		max-width: 720px;
		padding: 0;
	}

	.ic-hero-title {
		max-width: 720px;
		font-size: clamp(48px, 7vw, 68px);
	}

	.ic-hero-description {
		max-width: 630px;
	}

	.ic-hero-visual {
		min-height: 520px;
	}

	.ic-hero-main-product {
		width: min(430px, 68%);
	}

	.ic-hero-mini-product-1 {
		left: 3%;
	}

	.ic-hero-mini-product-2 {
		right: 3%;
	}


	/* Categories */

	.ic-home-categories {
		padding: 68px 0 78px;
	}

	.ic-home-section-heading {
		grid-template-columns: 1fr;
		gap: 22px;
		margin-bottom: 34px;
	}

	.ic-home-section-action {
		padding: 0;
	}

	.ic-category-showcase {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.ic-category-card {
		min-height: 365px;
	}


	/* Products */

	.ic-home-products {
		padding: 72px 0 84px;
	}

	.ic-product-section-heading {
		grid-template-columns: 1fr;
		gap: 21px;
		margin-bottom: 34px;
	}

	.ic-product-section-view-all {
		padding: 0;
	}

	.ic-product-showcase {
		grid-template-columns: 1fr;
	}

	.ic-product-spotlight {
		grid-template-columns:
			minmax(0, 0.9fr)
			minmax(300px, 1.1fr);
		grid-template-rows: 1fr;
		min-height: 440px;
	}

	.ic-product-spotlight-content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 35px;
	}

	.ic-product-spotlight-media {
		min-height: 400px;
		padding: 25px;
	}

	.ic-product-spotlight-image {
		height: 335px;
	}

	.ic-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	/*
	 * Homepage-wide overflow containment.
	 */
	html,
	body.home,
	body.home #page,
	body.home #content,
	body.home .site-content {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	body.home {
		position: relative;
	}


	/* =====================================================
	   MOBILE HERO
	   ===================================================== */

	.ic-home-hero {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
		padding: 16px 0 30px;
		background:
			linear-gradient(
				180deg,
				#f7f5f1 0%,
				#fbfaf8 100%
			);
	}

	.ic-home-hero .ic-container {
		width: calc(100% - 28px);
		max-width: 100%;
		margin-inline: auto;
		overflow: visible;
	}

	.ic-hero-shell {
		display: flex;
		flex-direction: column;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		gap: 24px;
		padding: 28px 19px 21px;
		overflow: hidden;
		border-radius: 22px;
		box-shadow:
			0 16px 42px rgba(17, 19, 24, 0.065);
	}

	.ic-hero-shell::before {
		width: 105px;
		height: 4px;
	}

	.ic-hero-content {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		align-items: flex-start;
		padding: 0;
	}

	.ic-hero-eyebrow {
		max-width: 100%;
		margin-bottom: 16px;
		padding: 7px 10px;
		font-size: 7.8px;
		line-height: 1.15;
		letter-spacing: 0.055em;
		white-space: normal;
	}

	.ic-hero-title {
		width: 100%;
		max-width: 100%;
		margin: 0;
		font-size: clamp(35px, 10.4vw, 46px);
		line-height: 1;
		letter-spacing: -0.045em;
	}

	.ic-hero-title span {
		margin-top: 4px;
	}

	.ic-hero-title span::after {
		right: auto;
		left: 0;
		bottom: -10px;
		width: 52px;
		height: 3px;
	}

	.ic-hero-description {
		width: 100%;
		max-width: 100%;
		margin-top: 27px;
		font-size: 13px;
		line-height: 1.62;
	}

	.ic-hero-actions {
		display: grid;
		grid-template-columns: 1fr 1fr;
		width: 100%;
		max-width: 100%;
		gap: 9px;
		margin-top: 22px;
	}

	.ic-hero-button {
		width: 100%;
		min-width: 0;
		min-height: 49px;
		padding: 0 11px;
		border-radius: 12px;
		font-size: 10.5px;
		white-space: nowrap;
	}

	.ic-hero-button-primary svg {
		width: 14px;
		height: 14px;
	}

	.ic-hero-signals {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: 100%;
		max-width: 100%;
		gap: 8px;
		margin-top: 26px;
		padding-top: 17px;
	}

	.ic-hero-signal {
		min-width: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 7px;
	}

	.ic-hero-signal-icon {
		width: 34px;
		height: 34px;
		flex: 0 0 34px;
		border-radius: 10px;
	}

	.ic-hero-signal-icon svg {
		width: 16px;
		height: 16px;
	}

	.ic-hero-signal > span:last-child {
		width: 100%;
	}

	.ic-hero-signal strong {
		font-size: 9.2px;
		line-height: 1.15;
	}

	.ic-hero-signal small {
		font-size: 8px;
		line-height: 1.2;
	}

	.ic-hero-visual {
		position: relative;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 390px;
		padding: 21px 0 14px;
		overflow: hidden;
	}

	.ic-hero-visual::before {
		inset: 3% 0 4%;
		border-radius: 21px;
		transform: none;
	}

	.ic-hero-visual::after {
		top: 6%;
		right: -8%;
		width: 48%;
		height: 40%;
	}

	.ic-hero-main-product {
		width: min(286px, 76%);
		max-width: calc(100% - 52px);
		min-width: 0;
		min-height: 322px;
		padding: 13px;
		border-radius: 19px;
	}

	.ic-hero-product-badge {
		top: 13px;
		left: 13px;
	}

	.ic-hero-product-badge span {
		min-height: 23px;
		padding-inline: 9px;
		font-size: 7.3px;
	}

	.ic-hero-product-media {
		min-width: 0;
		min-height: 219px;
		padding: 25px 14px 8px;
	}

	.ic-hero-product-image {
		width: 100%;
		max-width: 218px;
		max-height: 214px;
		object-fit: contain;
	}

	.ic-hero-product-meta {
		min-width: 0;
		gap: 8px;
		padding: 11px 3px 2px;
	}

	.ic-hero-product-meta > div {
		min-width: 0;
	}

	.ic-hero-product-meta small {
		font-size: 7.2px;
	}

	.ic-hero-product-meta strong {
		font-size: 9px;
		line-height: 1.28;
	}

	.ic-hero-product-price {
		max-width: 40%;
		overflow: hidden;
		font-size: 9px;
		text-overflow: ellipsis;
	}

	.ic-hero-floating-products {
		inset: 0;
		overflow: hidden;
	}

	.ic-hero-mini-product {
		width: 142px;
		max-width: 42%;
		min-width: 0;
		min-height: 58px;
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 5px;
		padding: 7px;
		border-radius: 12px;
	}

	.ic-hero-mini-product-1 {
		top: 8%;
		left: 5px;
	}

	.ic-hero-mini-product-2 {
		right: 5px;
		bottom: 8%;
	}

	.ic-hero-mini-media {
		width: 35px;
		height: 35px;
		flex: 0 0 35px;
		border-radius: 8px;
	}

	.ic-hero-mini-image {
		width: 30px;
		height: 30px;
	}

	.ic-hero-mini-copy {
		min-width: 0;
	}

	.ic-hero-mini-copy small {
		font-size: 6.2px;
	}

	.ic-hero-mini-copy strong {
		font-size: 7.6px;
		line-height: 1.2;
	}

	.ic-hero-mini-arrow {
		width: 22px;
		height: 22px;
		flex: 0 0 22px;
		border-radius: 7px;
	}

	.ic-hero-mini-arrow svg {
		width: 11px;
		height: 11px;
	}

	.ic-hero-grid-mark,
	.ic-hero-visual-caption {
		display: none;
	}


	/* =====================================================
	   MOBILE CATEGORIES
	   ===================================================== */

	.ic-home-categories {
		padding: 58px 0 66px;
		background:
			radial-gradient(
				circle at 100% 8%,
				rgba(79, 124, 255, 0.07),
				transparent 24%
			),
			#ffffff;
	}

	.ic-home-categories .ic-container {
		width: 100%;
		max-width: 100%;
	}

	.ic-home-section-heading {
		display: block;
		margin-bottom: 28px;
		padding: 0 16px;
	}

	.ic-home-section-eyebrow {
		margin-bottom: 12px;
		font-size: 8px;
	}

	.ic-home-section-eyebrow-line {
		width: 25px;
	}

	.ic-home-section-title {
		max-width: 100%;
		font-size: clamp(31px, 9.5vw, 42px);
		line-height: 1.03;
	}

	.ic-home-section-description {
		max-width: 100%;
		margin-top: 16px;
		font-size: 12.5px;
		line-height: 1.62;
	}

	.ic-home-section-action {
		margin-top: 19px;
	}

	.ic-home-section-link {
		font-size: 10.5px;
	}

	.ic-home-section-link-icon {
		width: 34px;
		height: 34px;
		border-radius: 10px;
	}

	.ic-category-showcase {
		display: flex;
		gap: 12px;
		width: 100%;
		overflow-x: auto;
		overflow-y: visible;
		padding: 3px 16px 22px;
		scroll-padding-left: 16px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.ic-category-showcase::-webkit-scrollbar {
		display: none;
	}

	.ic-category-card {
		width: min(72vw, 290px);
		min-width: min(72vw, 290px);
		max-width: 290px;
		min-height: 340px;
		flex: 0 0 auto;
		border-radius: 21px;
		scroll-snap-align: start;
	}

	.ic-category-card:hover {
		transform: none;
	}

	.ic-category-card-top {
		padding: 15px 15px 0;
	}

	.ic-category-card-arrow {
		width: 34px;
		height: 34px;
		border-radius: 10px;
	}

	.ic-category-card-media {
		min-height: 210px;
		padding: 12px 18px 3px;
	}

	.ic-category-card-image {
		max-width: 205px;
		height: 194px;
	}

	.ic-category-card-placeholder {
		width: 145px;
		height: 145px;
		border-radius: 29px;
	}

	.ic-category-card-placeholder span {
		font-size: 47px;
	}

	.ic-category-card-copy {
		padding: 12px 16px 19px;
	}

	.ic-category-card-copy h3 {
		font-size: 14px;
	}

	.ic-category-product-count {
		font-size: 10px;
	}

	.ic-category-card-accent {
		right: 16px;
		left: 16px;
	}

	.ic-category-mobile-hint {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 0 16px;
		color: #90959c;
		font-size: 8.5px;
		font-weight: 690;
		text-transform: uppercase;
		letter-spacing: 0.075em;
	}

	.ic-category-mobile-hint-line {
		position: relative;
		width: 42px;
		height: 2px;
		overflow: hidden;
		background: #eceef1;
		border-radius: 999px;
	}

	.ic-category-mobile-hint-line span {
		position: absolute;
		top: 0;
		left: 0;
		width: 45%;
		height: 100%;
		background:
			linear-gradient(
				90deg,
				var(--ic-blue),
				var(--ic-purple)
			);
		border-radius: inherit;
	}

	.ic-category-mobile-hint svg {
		color: var(--ic-purple);
	}

	.ic-category-empty {
		grid-template-columns: auto 1fr;
		margin: 0 16px;
		padding: 18px;
	}

	.ic-category-empty > a {
		grid-column: 1 / -1;
	}


	/* =====================================================
	   MOBILE PRODUCTS
	   ===================================================== */

	.ic-home-products {
		padding: 60px 0 70px;
		background:
			radial-gradient(
				circle at 0% 8%,
				rgba(255, 107, 44, 0.065),
				transparent 22%
			),
			linear-gradient(
				180deg,
				#f7f5f1,
				#f4f5f7
			);
	}

	.ic-home-products .ic-container {
		width: 100%;
		max-width: 100%;
	}

	.ic-product-section-heading {
		display: block;
		margin-bottom: 27px;
		padding: 0 16px;
	}

	.ic-product-section-eyebrow {
		margin-bottom: 12px;
		font-size: 8px;
	}

	.ic-product-section-eyebrow > span {
		width: 25px;
	}

	.ic-product-section-title {
		max-width: 100%;
		font-size: clamp(31px, 9.5vw, 42px);
		line-height: 1.03;
	}

	.ic-product-section-description {
		max-width: 100%;
		margin-top: 16px;
		font-size: 12.5px;
		line-height: 1.62;
	}

	.ic-product-section-view-all {
		margin-top: 19px;
		padding: 0;
		font-size: 10.5px;
	}

	.ic-product-section-view-icon {
		width: 34px;
		height: 34px;
		border-radius: 10px;
	}

	.ic-product-showcase {
		display: block;
		width: 100%;
	}


	/* Mobile spotlight */

	.ic-product-spotlight {
		display: flex;
		flex-direction: column;
		width: calc(100% - 32px);
		min-height: 500px;
		margin: 0 16px 18px;
		border-radius: 23px;
	}

	.ic-product-spotlight:hover {
		transform: none;
	}

	.ic-product-spotlight-content {
		padding: 27px 24px 5px;
	}

	.ic-product-spotlight-label {
		margin-bottom: 18px;
		font-size: 7.5px;
	}

	.ic-product-spotlight-category {
		font-size: 8px;
	}

	.ic-product-spotlight-content h3 {
		font-size: clamp(22px, 7vw, 30px);
		line-height: 1.08;
	}

	.ic-product-spotlight-price {
		margin-top: 14px;
		font-size: 17px;
	}

	.ic-product-spotlight-price del {
		font-size: 10px;
	}

	.ic-product-spotlight-action {
		margin-top: 18px;
		font-size: 10px;
	}

	.ic-product-spotlight-action > span:last-child {
		width: 31px;
		height: 31px;
		border-radius: 9px;
	}

	.ic-product-spotlight-media {
		min-height: 270px;
		padding: 10px 24px 28px;
	}

	.ic-product-spotlight-image {
		max-width: 270px;
		height: 255px;
	}

	.ic-product-spotlight-glow {
		width: 230px;
		height: 230px;
	}

	.ic-product-discount-badge {
		top: 13px;
		right: 14px;
		min-width: 45px;
		min-height: 29px;
		font-size: 8px;
	}


	/* Mobile horizontal product rail */

	.ic-product-grid {
		display: flex;
		gap: 12px;
		width: 100%;
		overflow-x: auto;
		overflow-y: visible;
		padding: 3px 16px 22px;
		scroll-padding-left: 16px;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.ic-product-grid::-webkit-scrollbar {
		display: none;
	}

	.ic-product-card {
		width: min(68vw, 270px);
		min-width: min(68vw, 270px);
		max-width: 270px;
		min-height: 315px;
		flex: 0 0 auto;
		border-radius: 20px;
		scroll-snap-align: start;
	}

	.ic-product-card:hover {
		transform: none;
	}

	.ic-product-card-top {
		padding: 13px 14px 0;
	}

	.ic-product-card-media {
		min-height: 178px;
		padding: 7px 12px;
	}

	.ic-product-card-image {
		max-width: 180px;
		height: 172px;
	}

	.ic-product-card-body {
		padding: 10px 14px 17px;
	}

	.ic-product-card-body h3 {
		min-height: 36px;
		font-size: 11.5px;
	}

	.ic-product-card-price {
		font-size: 11.5px;
	}

	.ic-product-card-price del {
		font-size: 8.5px;
	}

	.ic-product-card-arrow {
		width: 30px;
		height: 30px;
		flex-basis: 30px;
	}

	.ic-product-mobile-hint {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 0 16px;
		color: #8d929a;
		font-size: 8.5px;
		font-weight: 690;
		line-height: 1;
		letter-spacing: 0.075em;
		text-transform: uppercase;
	}

	.ic-product-mobile-hint-line {
		position: relative;
		display: block;
		width: 42px;
		height: 2px;
		overflow: hidden;
		background: #dedfe3;
		border-radius: 999px;
	}

	.ic-product-mobile-hint-line > span {
		position: absolute;
		inset: 0 auto 0 0;
		width: 45%;
		background:
			linear-gradient(
				90deg,
				var(--ic-orange),
				var(--ic-purple)
			);
		border-radius: inherit;
	}

	.ic-product-mobile-hint svg {
		color: var(--ic-purple);
	}

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 390px) {

	/* Hero */

	.ic-home-hero .ic-container {
		width: calc(100% - 22px);
	}

	.ic-hero-shell {
		gap: 22px;
		padding: 26px 16px 19px;
		border-radius: 20px;
	}

	.ic-hero-eyebrow {
		font-size: 7.2px;
	}

	.ic-hero-title {
		font-size: clamp(33px, 10.7vw, 41px);
	}

	.ic-hero-description {
		font-size: 12.5px;
	}

	.ic-hero-actions {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.ic-hero-button {
		min-height: 48px;
	}

	.ic-hero-signals {
		gap: 6px;
	}

	.ic-hero-signal-icon {
		width: 31px;
		height: 31px;
		flex-basis: 31px;
	}

	.ic-hero-signal-icon svg {
		width: 14px;
		height: 14px;
	}

	.ic-hero-signal strong {
		font-size: 8.7px;
	}

	.ic-hero-signal small {
		font-size: 7.5px;
	}

	.ic-hero-visual {
		min-height: 360px;
	}

	.ic-hero-main-product {
		width: 78%;
		max-width: calc(100% - 44px);
		min-height: 300px;
	}

	.ic-hero-product-media {
		min-height: 202px;
	}

	.ic-hero-product-image {
		max-width: 196px;
		max-height: 196px;
	}

	.ic-hero-mini-product {
		width: 125px;
		max-width: 43%;
	}

	.ic-hero-mini-product-1 {
		left: 3px;
	}

	.ic-hero-mini-product-2 {
		right: 3px;
	}


	/* Categories */

	.ic-category-card {
		width: 76vw;
		min-width: 76vw;
	}

	.ic-home-section-title {
		font-size: clamp(29px, 9.3vw, 36px);
	}


	/* Products */

	.ic-product-section-title {
		font-size: clamp(29px, 9.3vw, 36px);
	}

	.ic-product-spotlight {
		width: calc(100% - 22px);
		margin-inline: 11px;
	}

	.ic-product-spotlight-content {
		padding-inline: 20px;
	}

	.ic-product-card {
		width: 74vw;
		min-width: 74vw;
	}

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	.ic-hero-main-product,
	.ic-hero-product-image,
	.ic-hero-mini-product,
	.ic-hero-button,
	.ic-hero-button svg,
	.ic-category-card,
	.ic-category-card-image,
	.ic-category-card-arrow,
	.ic-category-card-accent::after,
	.ic-home-section-link-icon,
	.ic-product-spotlight,
	.ic-product-spotlight-image,
	.ic-product-spotlight-action > span:last-child,
	.ic-product-card,
	.ic-product-card-image,
	.ic-product-card-arrow,
	.ic-product-card-accent::after,
	.ic-product-section-view-icon {
		transition: none;
	}

}