:root {
	--easystore-body-color: #000000;
	--easystore-primary-color: #406deb;
	--easystore-primary-color-rgb: 64, 110, 235;
	--easystore-secondary-color: #48595f;
	--easystore-secondary-light-color: #abb5be;
	--easystore-danger-color: #be1d04;
	--easystore-muted-color: #a4b0b9;
	--easystore-border-color: #e7e6e5;
	--easystore-border-radius: 6px;
	--easystore-cart-drawer-width: 450px;
	--easystore-text-default: #111213;
	--easystore-text-neutral: #676970;
	--easystore-bg-surface: #f1f1f1;
}

.easystore-visually-hidden {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.easystore-hide {
	display: none !important;
}

.easystore-ratio {
	width: 100%;
	position: relative;
}

.easystore-ratio-4x3 {
	padding-top: 75%;
}

.easystore-ratio-16x9 {
	padding-top: 56.25%;
}

.easystore-ratio-3x2 {
	padding-top: 66.66%;
}

.easystore-text-medium {
	font-weight: 500 !important;
}
.easystore-text-bold {
	font-weight: 600 !important;
}

.easystore-text-body {
	font-size: 14px;
	font-weight: 400;
	line-height: 18px;
}
.easystore-text-caption {
	font-size: 12px;
	font-weight: 400;
	line-height: 16px;
}

.easystore-ratio > div {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	display: flex;
}

.easystore-ratio > div > video {
	width: 100%;
	max-height: auto;
}

/* Thumbnail Skeleton */
.easystore-thumb-skeleton {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
	background-size: 200% 100%;
	z-index: 1;
	animation: thumbSkeletonLoading 1.5s infinite;
}

@keyframes thumbSkeletonLoading {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

/* Grid */
.easystore-grid {
	display: grid;
	gap: 32px;
}

.easystore-grid-6 {
	grid-template-columns: repeat(6, 1fr);
}

.easystore-grid-5 {
	grid-template-columns: repeat(5, 1fr);
}

.easystore-grid-4 {
	grid-template-columns: repeat(4, 1fr);
}

.easystore-grid-3 {
	grid-template-columns: repeat(3, 1fr);
}

.easystore-grid-2 {
	grid-template-columns: repeat(2, 1fr);
}

/* SVG Styles */
.easystore-svg {
	line-height: 1;
}

.easystore-svg svg {
	width: 1em;
	height: 1em;
	display: inline-block;
	vertical-align: -0.125em;
}

/* Quantity Selector */
.easystore-quantity-selector {
	position: relative;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.easystore-button-reset {
	background: none;
	border: none;
	outline: none;
	padding: 0;
	margin: 0;
}

.easystore-quantity-selector .easystore-quantity-selector-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	user-select: none;
	cursor: pointer;
	position: absolute;
	top: 0;
	height: 100%;
}

.easystore-quantity-selector .easystore-quantity-selector-btn:first-child {
	left: 0;
}

.easystore-quantity-selector .easystore-quantity-selector-btn:last-child {
	right: 0;
}

.easystore-quantity-selector .form-control {
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
	text-align: center;
	width: 120px;
	padding-left: 32px;
	padding-right: 32px;
}

.easystore-quantity-selector .form-control:focus,
.easystore-quantity-selector .form-control:active {
	background-color: transparent;
}

.easystore-quantity-selector .form-control::-webkit-outer-spin-button,
.easystore-quantity-selector .form-control::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

.easystore-product-quantity-selector .form-control {
	-moz-appearance: textfield;
}

/* Product Variants */
.easystore-product-variants,
.easystore-variant-options {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.easystore-product-variants {
	flex-direction: column;
}

.easystore-variant-title {
	display: flex;
	align-items: center;
	gap: 4px;
}

.easystore-variant-option input {
	display: none;
}

.easystore-variant-option {
	display: inline-flex;
}
.easystore-form-select {
	width: 100%;
	height: 40px;
	padding: 0 12px;
	cursor: pointer;
	appearance: none;
	border: 1px solid var(--easystore-border-color);
	border-radius: var(--easystore-border-radius);
	background: #eaedf0
		url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxODU0LjU0IDI5NSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pbllNaWQiIHdpZHRoPSIxODU0LjU0IiBoZWlnaHQ9IjI5NSI+PHBhdGggZD0iTTE4MjUuMSwxNDUuN2w2LjksNi45YzAuMSwwLjEsMC4yLDAuMSwwLjMsMC4xYzAuMSwwLDAuMiwwLDAuMy0wLjFsNi45LTYuOWMwLjEtMC4xLDAuMS0wLjIsMC4xLTAuM2MwLTAuMSwwLTAuMi0wLjEtMC4zbC0wLjctMC43Yy0wLjEtMC4xLTAuMi0wLjEtMC4zLTAuMXMtMC4yLDAtMC4zLDAuMWwtNS44LDUuOGwtNS44LTUuOGMtMC4xLTAuMS0wLjItMC4xLTAuMy0wLjFjLTAuMSwwLTAuMiwwLTAuMywwLjFsLTAuNywwLjdjLTAuMSwwLjEtMC4xLDAuMi0wLjEsMC4zQzE4MjQuOSwxNDUuNSwxODI1LDE0NS42LDE4MjUuMSwxNDUuN3oiIGZpbGw9IiMwMDAiLz48cmVjdCB3aWR0aD0iMTgxMCIgaGVpZ2h0PSIyOTUiIGZpbGw9IiNmZmYiLz48L3N2Zz4=')
		100% / 116rem no-repeat;
	max-width: 100%;
}

.easystore-variant-option-value,
.easystore-variant-option-color {
	color: var(--easystore-secondary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	cursor: pointer;
}

.easystore-variant-option-color {
	width: 24px;
	height: 24px;
	border-radius: 50%;
}

.easystore-variant-option-value {
	min-width: 60px;
	min-height: 40px;
	border: 1px solid var(--easystore-border-color);
	padding: 0 10px;
	border-radius: var(--easystore-border-radius);
}

.easystore-variant-option.disabled {
	opacity: 0.5;
}

.easystore-variant-option.disabled .easystore-variant-option-color {
	background-image: linear-gradient(
		to bottom right,
		#0000 50%,
		currentColor 50% calc(50% + 2px),
		#0000 calc(50% + 2px)
	);
}

.easystore-variant-option.disabled .easystore-variant-option-value {
	background-image: linear-gradient(to bottom right, #0000 49%, var(--easystore-border-color) 49% 51%, #0000 51%);
}

.easystore-variant-option .easystore-variant-option-color:after {
	--easystore-variant-border-color: var(--easystore-primary-color);
	content: ' ';
	inset: -3px;
	opacity: 0;
	border-radius: inherit;
	will-change: transform;
	transition:
		opacity 0.2s ease-in-out,
		transform 0.2s ease-in-out;
	position: absolute;
	transform: scale(0.75);
	box-shadow: 0 0 0 2px var(--easystore-variant-border-color);
}

.easystore-variant-option input[type='radio']:checked + .easystore-variant-option-color:after {
	opacity: 1;
	transform: scale(1);
}

.easystore-variant-option input[type='radio']:checked + .easystore-variant-option-value {
	border-color: var(--easystore-variant-border-color);
	color: #48595f;
}

/* Ratings */
.easystore-ratings-container,
.easystore-rating-stars {
	display: inline-flex;
	align-items: center;
}

.easystore-rating-stars {
	gap: 4px;
}

.easystore-ratings-container {
	gap: 8px;
}

/* Price */
.easystore-product-price {
	display: flex;
	flex-direction: column;
	font-size: 18px;
	font-weight: 400;
	color: var(--easystore-body-color);
}

.easystore-price-current,
.easystore-price-original {
	display: flex;
	position: relative;
}

.easystore-price-original {
	font-weight: 700;
	color: var(--easystore-danger-color);
}

.easystore-price-original:before {
	content: ' ';
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	border-bottom: 1.5px solid var(--easystore-danger-color);
}
.easystore-product-price-block {
	display: flex;
}

/* Buttons */
.easystore-btn-addtocart,
.easystore-btn-review-form {
	display: inline-flex;
	justify-content: center;
	margin-block: 1rem;
}

/* Badge */
.easystore-badge-wrapper {
	display: flex;
	align-items: center;
	gap: 8px;
}
.easystore-badge {
	display: inline-block;
	padding: 4px 4px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	color: currentColor;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
}

/* List Group */
.easystore-list-section {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.easystore-list-group {
	display: flex;
	flex-direction: column;
}

.easystore-list-group-header,
.easystore-list-group-footer {
	padding: 16px 0;
	display: flex;
	justify-content: space-between;
}

.easystore-list-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 0;
}

.easystore-list-item,
.easystore-list-group-header {
	border-bottom: 1px solid var(--easystore-border-color);
}

.easystore-list-group-footer {
	border-top: 1px solid var(--easystore-border-color);
	border-bottom: 1px solid var(--easystore-border-color);
}

.easystore-list-group .easystore-list-item {
	border-bottom: 0;
}

.easystore-list-key {
	color: var(--easystore-text-neutral);
}

.easystore-list-key > strong {
	color: #000000;
}

.easystore-list-value {
	color: #000;
	display: flex;
	align-items: center;
}

/* Meta Data */
.easystore-metadata,
.easystore-metadata-h {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.easystore-metadata {
	flex-direction: column;
}

.easystore-metadata-item,
.easystore-metadata-item-v {
	position: relative;
	font-size: 14px;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.easystore-metadata-item-v {
	flex-direction: column;
}

.easystore-metadata-key {
	color: gray;
	font-weight: 600;
	display: flex;
	align-items: center;
	gap: 4px;
}

.easystore-metadata-value {
	color: #000;
}

.easystore-label,
.easystore-block-label {
	font-weight: 500;
	font-size: 14px;
	line-height: 1.2;
	color: #48595f;
}

.easystore-block-label {
	display: block;
	margin-bottom: 8px;
}

/* Card */
.easystore-card {
	background-color: #fff;
	box-shadow: 0 1px 2px rgba(2, 11, 83, 0.15);
	border-radius: var(--easystore-border-radius);
}

.easystore-card-border {
	border: 1px solid var(--easystore-border-color);
	box-shadow: none;
}

.easystore-card-header,
.easystore-card-body,
.easystore-card-footer {
	padding: 16px;
	display: flex;
}

.easystore-card-header,
.easystore-card-footer {
	justify-content: space-between;
}

.easystore-card-body {
	flex-direction: column;
}

.easystore-card-header {
	border-bottom: 1px solid var(--easystore-border-color);
}

.easystore-card-title {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	margin: 0;
}

/* Widget */
.easystore-widget-title {
	font-size: 22px;
	line-height: 1.6;
	font-weight: 600;
	margin-bottom: 16px;
}

/* Easystore Typography Utilities */

.easystore-h1 {
	font-size: 2.5rem !important;
}

.easystore-h2 {
	font-size: 2rem !important;
}

.easystore-h3 {
	font-size: 1.75rem !important;
}

.easystore-h4 {
	font-size: 1.2rem !important;
}

.easystore-h6 {
	font-size: 1rem !important;
	line-height: 20px;
}

.easystore-p {
	font-size: 1rem !important;
}

.easystore-small {
	font-size: 0.875rem !important;
}

.easystore-text-xs {
	font-size: 0.5rem !important;
}

/* Search */
.easystore-search-container {
	position: relative;
}

.easystore-search-container .easystore-svg {
	font-size: 16px;
	position: absolute;
	top: 50%;
	left: 12px;
	transform: translateY(-50%);
}

.easystore-search-container .form-control {
	padding-left: 36px;
}

/* Compact form */
.easystore-compact-form {
	display: flex;
	flex-wrap: wrap;
	position: relative;
}

.easystore-compact-form > div {
	width: 100%;
}

.easystore-compact-form .easystore-half-width {
	width: 50%;
}

.easystore-compact-form .easystore-half-width:last-of-type {
	margin-left: -1px;
}

.easystore-compact-form input,
.easystore-compact-form select {
	width: 100%;
	border-radius: 0;
	margin-top: -1px;
}

.easystore-compact-form input:focus,
.easystore-compact-form select:focus {
	position: relative;
	z-index: 1;
}

.easystore-compact-form > div:first-child input {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
}

.easystore-compact-form > div:last-child input {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
}

/* Rating Stars */
.easystore-rating-stars {
	font-size: 18px;
	color: #ffc046;
}

/* Spinner */
[x-cloak] {
	display: none !important;
}

.easystore-spinner {
	position: relative;
	color: transparent !important;
	pointer-events: none;
}

.easystore-spinner > * {
	visibility: hidden;
}

.easystore-spinner::before {
	content: '';
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	margin-left: -15px;
	border-radius: 50%;
	border: 4px solid rgba(255, 255, 255, 0.4);
	border-top-color: #fff;
	animation: easyStoreSpin 1s linear infinite;
	visibility: visible;
}

.easystore-spinner.small::before {
	width: 25px;
	height: 25px;
}

.easystore-spinner.dark::before {
	border: 4px solid rgba(0, 0, 0, 0.3);
	border-top-color: #222;
}

@keyframes easyStoreSpin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

/* Dropdown */
.easystore-dropdown-wrapper {
	position: relative;
	user-select: none;
	padding: 8px 16px;
	width: 100%;
	border: 1px solid var(--easystore-border-color);
	border-radius: var(--easystore-border-radius);
}

.easystore-dropdown-wrapper summary {
	cursor: pointer;
	list-style: none;
	position: relative;
	display: flex;
	justify-content: space-between;
}

.easystore-dropdown-wrapper summary .easystore-icon-caret {
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -3px;
	height: 7px;
}

.easystore-dropdown {
	list-style: none;
	position: absolute;
	left: -1px;
	right: -1px;
	top: 100%;
	z-index: 1;
	background-color: #ffffff;
	padding: 10px 0px;
	border: 1px solid var(--easystore-border-color);
	border-radius: var(--easystore-border-radius);
}

.easystore-dropdown-wrapper[open] {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.easystore-dropdown-wrapper[open] .easystore-dropdown {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.easystore-dropdown-item {
	display: flex;
	align-items: center;
	padding: 10px 0 10px 20px;
}

/* Modal */
#easystore-modal {
	position: relative;
}

#easystore-modal .modal-container {
	width: 800px;
	border-radius: 6px;
	background-color: #f0f0f0;
	box-shadow:
		0px 30px 72px 0px rgba(17, 18, 19, 0.2),
		0px 0px 2px 0px rgba(17, 18, 19, 0.2);
	position: fixed;
	z-index: 9999;
	display: none;
}

#easystore-modal .modal-backdrop {
	width: 100vw;
	height: 100vh;
	position: fixed;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 9998;
	display: none;
}

#easystore-modal.active .modal-backdrop {
	display: block;
	cursor:
		url('../images/modal-overlay-cursor.svg') 28 28,
		auto;
}

#easystore-modal.active .modal-container {
	display: block;
}

#easystore-modal .btn-close {
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 1;
}

#easystore-modal .modal-container.bottom-right {
	bottom: 24px;
	right: 24px;
}

#easystore-modal .modal-container.bottom-left {
	bottom: 24px;
	left: 24px;
}

#easystore-modal .modal-container.top-left {
	top: 24px;
	left: 24px;
}

#easystore-modal .modal-container.top-right {
	top: 24px;
	right: 24px;
}

#easystore-modal .modal-container.center-center {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.easystore-modal-open {
	overflow: hidden;
}

.view-order.easystore-modal-open .modal-container {
	width: 420px !important;
}

/* Quick Cart */
.easystore-quick-cart {
	background-color: #ffffff;
}

.easystore-quick-cart-content {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 16px;
}

.easystore-quick-cart .easystore-product-category {
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
}

.easystore-quick-cart .easystore-product-title {
	font-style: normal;
	font-weight: 600;
	font-size: 22px;
	line-height: 1.4;
}

.easystore-quick-cart .easystore-product-title a,
.easystore-quick-cart .easystore-product-category a {
	color: inherit;
}

.easystore-quick-cart .easystore-product-price {
	font-size: 14px;
}

.easystore-quick-cart .easystore-quantity-selector {
	width: fit-content;
}

.easystore-quick-cart .easystore-quick-cart-body {
	align-items: stretch;
	min-height: 400px;
	max-height: 80vh;
}

.easystore-quick-cart .easystore-quick-cart-body > .col-lg-6:first-child {
	position: relative;
}

.easystore-quick-cart .easystore-product-image {
	padding-bottom: 0;
	height: 100%;
	min-height: 400px;
}

.easystore-quick-cart .easystore-quick-cart-content {
	overflow-y: auto;
	max-height: 80vh;
}

/* Skeleton Loading */
.easystore-skeleton-container {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 20px;
}

.easystore-skeleton {
	width: 100%;
	height: 20px;
	background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
	background-size: 200% 100%;
	animation: easyStoreShimmer 1.5s infinite;
}

/* Disable default arrows of input field */
input[type='number'] {
	-moz-appearance: textfield;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

@keyframes easyStoreShimmer {
	0% {
		background-position: -200% 0;
	}
	100% {
		background-position: 200% 0;
	}
}

.sppb-productlist-slideshow-arrows {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-bottom: 10px;
}

.sppb-productlist-slideshow-arrows i {
	background: #ced4d8;
	color: #8d989d;
	border-radius: 100px;
	height: 40px;
	width: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.sppb-categorylist-slideshow-arrows {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-bottom: 10px;
}

.sppb-categorylist-slideshow-arrows i {
	background: #ced4d8;
	color: #8d989d;
	border-radius: 100px;
	height: 40px;
	width: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}

.sppb-category-card {
	display: block;
	text-decoration: none;
	overflow: hidden;
	height: 100%;
}

.sppb-category-image img {
	display: block;
	width: 100%;
	height: auto;
}

.sppb-category-title {
	margin: 12px 0 0;
	font-size: 18px;
	line-height: 1.4;
}

.easystore-page-wrapper {
	height: 100vh;
	display: flex;
	flex-direction: column;
	width: 100%;
	align-items: center;
	margin-top: 125px;
	gap: 24px;
}

.easystore-page-wrapper svg {
	width: 120px;
	height: 112px;
}

.easystore-page-wrapper .page-content {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.easystore-page-wrapper .page-content h3 {
	font-size: 30px;
	font-style: normal;
	font-weight: 500;
	line-height: 40px;
	text-align: center;
	color: var(--easystore-text-default);
	margin: 0;
}

.easystore-page-wrapper .page-content p {
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 20px;
	text-align: center;
	color: var(--easystore-text-neutral);
	margin: 0;
}

.easystore-page-wrapper .page-content-footer {
	display: flex;
	justify-content: center;
	gap: 16px;
}
.easystore-page-wrapper .page-content-footer .btn-primary {
	background-color: var(--easystore-primary-color);
}
.easystore-page-wrapper .page-content-footer .btn-outline {
	border: 1px solid #8c8f96;
	box-shadow: 0px 1px 0px 0px rgba(0, 0, 0, 0.05);
	color: var(--easystore-text-neutral);
	transition: color 0.3s ease-in-out;
}

.easystore-page-wrapper .page-content-footer .btn-outline:hover {
	color: var(--easystore-text-default);
}

/* Checkout form validation */
form.easystore-invalid-form input:required:invalid,
form.easystore-invalid-form select:required:invalid {
	background-color: #fee7e7;
}

/* Shipping Methods */
.easystore-shipping-methods,
.easystore-payment-methods {
	border-radius: var(--easystore-border-radius);
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
	overflow: hidden;
	overflow-y: auto;
	max-height: 500px;
}

.easystore-shipping-methods li,
.easystore-payment-methods li {
	position: relative;
	display: block;
	padding: 0;
	width: 100%;
	border: 1px solid var(--easystore-muted-color);
}

.easystore-shipping-methods li + li,
.easystore-payment-methods li + li {
	margin-top: -1px;
}

.easystore-shipping-methods li:first-of-type,
.easystore-payment-methods li:first-of-type {
	border-top-left-radius: var(--easystore-border-radius);
	border-top-right-radius: var(--easystore-border-radius);
}

.easystore-shipping-methods li:last-of-type,
.easystore-payment-methods li:last-of-type {
	border-bottom-left-radius: var(--easystore-border-radius);
	border-bottom-right-radius: var(--easystore-border-radius);
}

.easystore-shipping-methods li label,
.easystore-payment-methods li label {
	cursor: pointer;
}

.easystore-shipping-methods li label {
	padding: 10px;
}

.easystore-payment-methods li label {
	padding: 20px 10px;
	align-items: center;
}

.easystore-payment-methods li input {
	margin-top: 0;
}

.easystore-shipping-methods li.is-active,
.easystore-payment-methods li.is-active {
	background-color: rgba(var(--easystore-primary-color-rgb), 0.1);
	border-color: var(--easystore-primary-color);
	z-index: 1;
}

.easystore-shipping-methods li label,
.easystore-payment-methods li label {
	display: flex;
	gap: 12px;
	width: 100%;
}

.easystore-shipping-method {
	flex-grow: 1;
}
.easystore-shipping-methods li label input[type='radio'] {
	flex-shrink: 0;
}

.easystore-shipping-method-name,
.easystore-shipping-price {
	font-weight: 700;
	margin-bottom: 4px;
}

.easystore-payment-methods .easystore-payment-vendor-brand {
	display: block;
	height: 20px;
}

.easystore-repayment-wrapper {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.easystore-payment-additional-information-wrapper {
	border-top: 1px solid #ced4da;
}

.easystore-payment-additional-information {
	display: flex;
	margin: 18px;
	white-space: pre-wrap;
}

@media (max-width: 991px) {
	#easystore-modal .modal-container {
		width: 650px;
	}

	#easystore-modal .modal-container .easystore-product-image {
		padding-bottom: 0;
		min-height: 300px;
	}

	.easystore-quick-cart .easystore-quick-cart-body {
		min-height: 300px;
	}

	#easystore-modal .easystore-quick-cart .easystore-quick-cart-actions .btn {
		padding: 7px 24px;
	}
}

@media (max-width: 767px) {
	#easystore-modal .modal-container {
		width: calc(100% - 100px);
	}

	#easystore-modal .easystore-quick-cart .easystore-quick-cart-actions .btn {
		padding: 7px 14px;
	}
}
@media (max-width: 767px) {
	.easystore-metadata-key {
		color: gray;
		font-weight: 200;
		display: flex;
		align-items: center;
		font-size: 8px;
		gap: 4px;
	}
}

/* Brand List Styles */
.easystore-brand-list {
	padding: 32px 0;
}

.easystore-brand-grid {
	gap: 24px;
}

.easystore-brand {
	position: relative;
	text-align: center;
	padding: 24px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: var(--easystore-border-radius);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	height: 100%;
}

.easystore-brand:hover {
	border-color: var(--easystore-primary-color);
	box-shadow: 0 12px 24px -6px rgba(0, 0, 0, 0.12);
	transform: translateY(-4px);
}

.easystore-brand-image-wrapper {
	position: relative;
	width: 100%;
	padding-bottom: 75%;
	margin-bottom: 20px;
	overflow: hidden;
	border-radius: calc(var(--easystore-border-radius) - 2px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.easystore-brand-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 16px;
	transition: transform 0.3s ease;
}

.easystore-brand:hover .easystore-brand-image {
	transform: scale(1.05);
}

.easystore-brand-content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}

.easystore-brand-name {
	margin: 0;
}

.easystore-brand-title-link {
	color: var(--easystore-text-default);
	font-size: 18px;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s ease;
	display: block;
}

.easystore-brand-title-link:hover {
	color: var(--easystore-primary-color);
}

.easystore-brand-title {
	color: var(--easystore-text-default);
	font-size: 18px;
	font-weight: 600;
	display: block;
}

.easystore-brand-product-count {
	color: var(--easystore-text-neutral);
	font-size: 14px;
	padding: 4px 12px;
	background: #f8f9fa;
	border-radius: 20px;
	display: inline-block;
	margin: 0 auto;
}

/* Responsive Grid Adjustments */
@media (max-width: 1200px) {
	.easystore-grid-4 {
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}

	.easystore-brand {
		padding: 20px;
	}
}

@media (max-width: 768px) {
	.easystore-grid-4 {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.easystore-brand {
		padding: 16px;
	}

	.easystore-brand-title-link,
	.easystore-brand-title {
		font-size: 16px;
	}

	.easystore-brand-product-count {
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.easystore-brand-list {
		padding: 16px 0;
	}

	.easystore-grid-4 {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.easystore-brand-image-wrapper {
		padding-bottom: 60%;
	}
}

/* --------------------------------------------------------------------------
 * Header + footer clearance on store pages.
 * EasyStore views render SP Page Builder addons, so the page picks up the
 * `com-sppagebuilder` body class; Helix zeros `#sp-main-body` padding for that
 * class (correct for a full builder page, wrong here), leaving the last row of
 * products / the checkout buttons flush against the footer. Restore a bottom
 * gap on every EasyStore view. `body.com-easystore` outspecifies Helix's
 * `.com-sppagebuilder #sp-main-body`.
 *
 * Top padding is scoped to store views and deliberately NOT applied to
 * `.com-sppagebuilder` generally: a builder page (and the RSBlog post list)
 * opens with a full-bleed hero meant to sit flush under the header, so
 * padding there shows as a white band. Store views have no hero.
 * (2026-07-25: was bottom-only; product image/title sat jammed under the header.)
 * -------------------------------------------------------------------------- */
body.com-easystore #sp-main-body {
	padding-top: 40px;
	padding-bottom: 60px;
}

@media (max-width: 768px) {
	body.com-easystore #sp-main-body {
		padding-top: 24px;
		padding-bottom: 40px;
	}
}

/* ────────────────────────────────────────────────────────────────────────────
   STORE PAGE GROUND

   Every store view was painting on the template's stark white, with white cards
   on top of it — so the cards had no edge, the page had no depth, and checkout
   in particular read as an unstyled wall of white.

   A soft neutral ground fixes that without introducing a brand colour: cards,
   inputs and the summary stay #fff and now visibly sit ON something. Kept very
   light (a ~3% neutral) so body text contrast is essentially unchanged —
   #111213 on #f6f7f8 measures 17.6:1, comfortably past AA.

   Scoped to the component's body class so it cannot touch the rest of the site.
   ──────────────────────────────────────────────────────────────────────────── */
body.com-easystore {
	--easystore-page-ground: #f6f7f8;
}

body.com-easystore #sp-main-body {
	background-color: var(--easystore-page-ground, #f6f7f8);
}

/* Cards keep a true white so they read as raised against the ground. */
body.com-easystore .easystore-widget,
body.com-easystore .easystore-checkout-summary,
body.com-easystore .easystore-checkout-information {
	background-color: #fff;
}

/* ────────────────────────────────────────────────────────────────────────────
   CONTRAST ON THE STORE GROUND

   The page ground above is a ~3% neutral rather than pure white, which is a
   deliberate design choice — but it moves the goalposts for any colour that was
   already sitting just above AA against #fff. Two shipped defaults fell under
   4.5:1 once measured against it:

     .text-muted / secondary  #6c757d on #f6f7f8 = 4.37:1   (needs 4.5)
     link blue                #0d6efd on #f6f7f8 = 4.20:1   (needs 4.5)

   Darkened just enough to clear AA on the new ground rather than reverting the
   ground: #5a6268 = 5.44:1 and #0a58ca = 5.61:1. Both are the standard darker
   steps of the same hues, so nothing about the palette changes character.

   Scoped to the store body class so the rest of the site keeps its own values.
   ──────────────────────────────────────────────────────────────────────────── */
body.com-easystore #sp-main-body .text-muted,
body.com-easystore #sp-main-body .text-secondary,
body.com-easystore .easystore-wishlist-btn,
body.com-easystore .easystore-add-to-wishlist {
	color: #5a6268 !important;
}

/* CONFINED TO #sp-main-body ON PURPOSE.
   Scoped only to body.com-easystore, this matched EVERY <a> on a store page —
   including the header navigation, which sits on a transparent header over a dark
   hero photograph. The nav turned link-blue on a dark image: 1.8-2.7:1, far below
   AA, and worse than what it replaced. The ground colour this compensates for only
   exists inside the content area, so the fix belongs there and nowhere else. */
body.com-easystore #sp-main-body a:not(.sppb-btn):not(.easystore-btn):not(.btn-primary),
body.com-easystore #sp-main-body .easystore-review-link {
	color: #0a58ca;
}

/* The wishlist label is a <span class="easystore-btn-text"> inside the button, not
   the button itself, so colouring the button missed it.

   SCOPED TO THE OUTLINE BUTTON ON PURPOSE. The same span class is used by the
   PRIMARY Add to cart button, which sits on a solid blue fill — colouring every
   .easystore-btn-text grey put grey-on-blue at 1.3:1 on the single most important
   control in the store. Only the transparent outline button needs the darker
   grey, because only that one sits on the page ground. */
body.com-easystore .btn-outline-secondary > .easystore-btn-text,
body.com-easystore .btn-outline-secondary:hover > .easystore-btn-text,
body.com-easystore .btn-outline-secondary:focus > .easystore-btn-text,
body.com-easystore .easystore-btn-add-to-wishlist > .easystore-btn-text,
body.com-easystore .easystore-btn-add-to-wishlist:hover > .easystore-btn-text,
body.com-easystore .easystore-btn-add-to-wishlist:focus > .easystore-btn-text {
	color: #5a6268;
}
