.online_shop_page .ec-layoutRole__contents {
	max-width: 100%;
	padding: 0;
	margin: 0;
}
.online_shop_page .ec-layoutRole__main {
	padding: 0;
	max-width: 100%;
	width: 100%;
}
.online_shop_page .ec-layoutRole__mainWithColumn {
	padding: 0;
	max-width: 100%;
	width: 100%;
}
.online_shop_page .ec-layoutRole__contentTop {
	display: none !important;
	padding: 0;
}
.online_shop_page .ec-layoutRole__contentBottom {
	display: none !important;
}
/* Hide the page-top button */
.online_shop_page .ec-blockTopBtn {
	display: none !important;
}
/* Remove default layout padding */
.online_shop_page .ec-layoutRole {
	padding: 0;
	margin: 0;
}

.ec-shopLayout {
	display: flex;
	gap: 40px;
	max-width: 1440px;
	margin: 0 auto;
	padding: 40px 24px;
	align-items: flex-start;
}
#filter_sidebar {
	flex: 0 0 300px;
}
.ec-shopLayout__divider {
	display: block;
	width: 1px;
	background: #e6e8ec;
	flex-shrink: 0;
	align-self: stretch;
}
.ec-shopLayout__main {
	flex: 1;
	min-width: 0;
}

/* Sidebar filter */
.ec-filterSidebar {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 0;
	width: 100%;
	background: transparent;
	box-sizing: border-box;
}
.ec-filterSidebar__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
.ec-filterSidebar__title {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 14px;
	color: #3e4a68;
	margin: 0;
	line-height: 22px;
}
.ec-filterSidebar__reset {
	border: 1px solid #9fa5b3;
	border-radius: 6px;
	height: 30px;
	width: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 14px;
	color: #3e4a68;
	background: transparent;
	cursor: pointer;
	padding: 0;
}
.ec-filterSidebar__divider {
	width: 100%;
	height: 1px;
	background-color: #cfd2d9; /* Approximated from Figma line */
	border: none;
	margin: 0;
}
.ec-filterGroup {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
}
.ec-filterGroup__title {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	font-size: 14px;
	color: #3e4a68;
	margin: 0;
	line-height: 22px;
}
.ec-filterGroup__items {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ec-filterItem {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	width: 100%;
	margin: 0;
}
.ec-filterItem__left {
	display: flex;
	align-items: center;
	gap: 8px;
}
.ec-filterItem__label {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	color: #6e778e;
	line-height: 22px;
}
.ec-filterItem__count {
	background: #9fa5b3;
	border-radius: 8.25px;
	min-width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Avenir', sans-serif;
	font-size: 12px;
	color: #fffef3;
	padding: 0 4px;
	line-height: 1;
}

/* Custom Checkbox */
.ec-filterItem__checkbox {
	display: none;
}
.ec-filterItem__checkmark {
	width: 16px;
	height: 16px;
	border: 1px solid #cfd2d9;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	flex-shrink: 0;
}
.ec-filterItem__checkbox:checked + .ec-filterItem__checkmark {
	background: #3e4a68;
	border-color: #3e4a68;
}
.ec-filterItem__checkbox:checked + .ec-filterItem__checkmark .ec-filterItem__checkIcon {
	display: block;
}
.ec-filterItem__checkbox:disabled + .ec-filterItem__checkmark {
	cursor: not-allowed;
}
.ec-filterItem__checkIcon {
	display: none;
}

/* Range */
.ec-filterRange {
	position: relative;
	height: 16px;
	width: 100%;
	margin: -4px 0;
}
.ec-filterRange__track {
	width: 100%;
	height: 8px;
	background: #cfd2d9;
	border-radius: 4px;
	position: absolute;
	top: 4px;
	z-index: 1;
}
.ec-filterRange__trackFill {
	height: 100%;
	background: #111a3b;
	border-radius: 4px;
	position: absolute;
}
.ec-filterRange__input {
	position: absolute;
	width: 100%;
	top: 0;
	height: 16px;
	margin: 0;
	-webkit-appearance: none;
	pointer-events: none;
	background: none;
	z-index: 2;
}
.ec-filterRange__input:focus {
	outline: none;
}
.ec-filterRange__input::-webkit-slider-thumb {
	-webkit-appearance: none;
	pointer-events: auto;
	width: 16px;
	height: 16px;
	background: #ffffff;
	border: 2px solid #111a3b;
	border-radius: 50%;
	cursor: pointer;
	z-index: 3;
	position: relative;
	margin-top: 0;
}
.ec-filterRange__input::-moz-range-thumb {
	pointer-events: auto;
	width: 16px;
	height: 16px;
	background: #ffffff;
	border: 2px solid #111a3b;
	border-radius: 50%;
	cursor: pointer;
	z-index: 3;
	position: relative;
	box-sizing: border-box;
}
.ec-filterRange__labels {
	display: flex;
	justify-content: space-between;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	color: #6e778e;
	margin-top: 0;
}

/* Detail Page specific */
.ec-shopBreadcrumb {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	font-family: 'Avenir', 'Helvetica Neue', sans-serif;
	font-size: 12px;
	color: #9fa5b3;
}
.ec-shopBreadcrumb__item {
	color: #9fa5b3;
	text-decoration: none;
}
.ec-shopBreadcrumb__item--active {
	color: #3e4a68;
	font-weight: 700;
}
.ec-shopBreadcrumb__chevron {
	display: flex;
	align-items: center;
	justify-content: center;
}

.ec-productDetailBox {
	display: flex;
	margin-bottom: 40px;
	border: none;
}
.ec-productDetailBox__imageWrap {
	width: 50%;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ec-productDetailBox__image {
	max-width: 100%;
	object-fit: contain;
}
.ec-productDetailBox__info {
	width: 50%;
	padding: 0 0 0 40px;
	display: flex;
	flex-direction: column;
}
.ec-productDetailBox__header {
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin-bottom: 16px;
}
.ec-productDetailBox__title {
	font-family: 'Andale Mono', 'Courier New', monospace;
	font-size: 24px;
	color: #23262f;
	margin: 0;
	font-weight: 400;
}
.ec-productDetailBox__volume {
	font-family: 'Avenir', 'Helvetica Neue', sans-serif;
	font-size: 14px;
	color: #6e778e;
}
.ec-productDetailBox__price {
	font-family: 'Andale Mono', 'Courier New', monospace;
	font-size: 32px;
	color: #23262f;
	margin-bottom: 32px;
}
.ec-productDetailBox__actions {
	display: flex;
	gap: 16px;
	margin-bottom: 40px;
}
.ec-productDetailBox__addCartBtn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #82a346;
	color: #ffffff;
	border: none;
	border-radius: 6px;
	padding: 12px 24px;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}
.ec-productDetailBox__favoriteBtn {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #ffffff;
	color: #6e778e;
	border: 1px solid #cfd2d9;
	border-radius: 6px;
	padding: 12px 24px;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
}
.ec-productDetailBox__desc {
	font-family: 'Avenir', 'Helvetica Neue', sans-serif;
	font-size: 14px;
	line-height: 1.6;
	color: #23262f;
	margin: 0 0 24px 0;
}
.ec-productDetailBox__divider {
	width: 100%;
	height: 1px;
	background: #cfd2d9;
	margin-bottom: 24px;
}
.ec-productDetailBox__specs {
	list-style: none;
	padding: 0;
	margin: 0;
	font-family: 'Avenir', 'Helvetica Neue', sans-serif;
	font-size: 14px;
	color: #23262f;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ec-productSimilar__title {
	font-family: 'Andale Mono', 'Courier New', monospace;
	font-size: 20px;
	color: #6e778e;
	margin-bottom: 24px;
	font-weight: 400;
}
