/*!
Theme Name: mystars-store
Theme URI: http://underscores.me/
Author: arkzy
Author URI: https://arkzy.pl
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: mystars-store
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

mystars-store is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/* RESETS */
html,
body,
* {
	margin: 0;
	padding: 0;
	min-width: 0;
	min-height: 0;
}
html,
body {
	overflow-x: hidden;
}
*,
:after,
:before {
	box-sizing: border-box;
}

img {
	max-width: 100%;
	display: block;
	user-drag: none;
	-webkit-user-drag: none;
	user-select: none;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
}

/* Variables */
:root {
	/* Colors */
	--brand: #cbfc51;
	--primary: #eae8eb;
	--secondary: #747174;
	--tertiary: #474347;
	--text: #747174;
	--text-highlight: #d6d1d6;
	--inverted: #0a050a;

	--white: #ffffff;
	--black: #000000;
	--off-black: #121212;

	--error: #ff4444;
	--success: #00c851;
	--warning: #ffbb33;
	--info: #33b5e5;

	/* Typography */
	--font-family: "Plus Jakarta Sans", sans-serif;
	--font-size: 16px;
	--line-height: 1.5;

	/* Layout */
	--container-width: 100%;
	--container-max-width: 1920px;
	--gap: 24px;

	/* Spacing */
	--padding: 32px;
	--margin: 32px;

	/* Borders */
	--border-radius: 8px;
	--border: 1px solid var(--tertiary);
}

/* Body */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-smooth: always;
	font-optical-sizing: auto;
	background-color: var(--inverted);
	color: var(--text);
	font-family: var(--font-family);
	font-size: var(--font-size);
	line-height: var(--line-height);
}

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-family);
	font-weight: 700;
	color: var(--primary);
}
h1 {
	font-size: calc(4 * var(--font-size));
	line-height: 1.2;
	margin-bottom: calc(1 * var(--margin));
}
h2 {
	font-size: calc(2 * var(--font-size));
	line-height: 1.2;
	margin-bottom: calc(0.75 * var(--margin));
}
h3 {
	font-size: calc(2 * var(--font-size));
	line-height: 1.2;
	margin-bottom: calc(0.5 * var(--margin));
}
h4 {
	font-size: calc(1.5 * var(--font-size));
	line-height: 1.2;
	margin-bottom: calc(0.25 * var(--margin));
}
h5 {
	font-size: calc(1.25 * var(--font-size));
	line-height: 1.2;
	margin-bottom: calc(0.125 * var(--margin));
}
h6 {
	font-size: var(--font-size);
	line-height: 1.2;
	margin-bottom: calc(0.0625 * var(--margin));
}
.ms-title-line {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}
.ms-title-line:before {
	content: "";
	display: block;
	width: 24px;
	height: 4px;
	border-radius: 16px;
	background: var(--brand);
}
p,
.text-default {
	font-family: var(--font-family);
	font-size: var(--font-size);
	line-height: var(--line-height);
	color: var(--text);
	margin-bottom: calc(0.5 * var(--margin));
}
a {
	color: var(--brand);
	text-decoration: none;
}
a:hover,
a:focus {
	opacity: 0.8;
}

/* Icons */
.ms-store__icon {
	fill: none;
	stroke: var(--primary);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	display: block;
	flex-shrink: 0;
}

/* Modal */
.ms-store__size-chart {
	margin-top: calc(var(--margin) * -0.5);
	margin-bottom: var(--margin);
}
.ms-store__size-chart-btn {
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--brand);
	text-transform: uppercase;
	letter-spacing: 0.4em;
	cursor: pointer;
}
.ms-store__modal {
	position: fixed;
	inset: 0;
	display: none;
	z-index: 9999;
}
.ms-store__modal.is-open {
	display: flex;
	align-items: center;
	justify-content: center;
}
.ms-store__modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
}
.ms-store__modal-dialog {
	position: relative;
	max-width: 720px;
	width: calc(100% - 48px);
	margin: 48px auto;
	padding: var(--padding);
	background: var(--off-black);
	color: var(--primary);
	border-radius: 16px;
}
.ms-store__modal-close {
	position: absolute;
	top: var(--margin);
	right: var(--margin);
	background: transparent;
	border: none;
	line-height: 1;
	cursor: pointer;
}
.ms-store__modal-body {
	padding: var(--padding);
}
.ms-modal-open {
	overflow: hidden;
}
.ms-store__modal-body table {
	width: 100%;
	text-align: left;
}
.ms-store__modal-body table th,
.ms-store__modal-body table td {
	font-size: calc(0.875 * var(--font-size));
	padding: 4px;
}
.ms-store__modal-body table th {
	color: var(--primary);
}
.ms-store__modal-body table td {
	color: var(--text);
}

/* Buttons */
button,
input[type="button"],
input[type="submit"],
.ms-store-button {
	font-family: var(--font-family);
	font-size: var(--font-size);
	line-height: 24px;
	background-color: var(--brand);
	color: var(--inverted);
	font-weight: 700;
	border: none;
	border-radius: calc(4 * var(--border-radius));
	padding: calc(var(--padding) / 2) calc(var(--padding) * 2);
	cursor: pointer;
	display: inline-block;
	white-space: nowrap;
	outline: none;
}
button:hover,
button:focus,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="button"]:focus,
input[type="submit"]:focus {
	opacity: 0.8;
}

/* Layout */
.container {
	width: var(--container-width);
	max-width: var(--container-max-width);
	margin: 0 auto;
	padding-left: var(--padding);
	padding-right: var(--padding);
}
.container-fluid {
	width: 100%;
	padding-left: var(--padding);
	padding-right: var(--padding);
}
.row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}

/* Columns */
.col-1 {
	flex: 0 0 calc((100% - 11 * var(--gap)) / 12);
	max-width: calc((100% - 11 * var(--gap)) / 12);
}
.col-2 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 2 + var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 2 + var(--gap));
}
.col-3 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 3 + 2 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 3 + 2 * var(--gap));
}
.col-4 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 4 + 3 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 4 + 3 * var(--gap));
}
.col-5 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 5 + 4 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 5 + 4 * var(--gap));
}
.col-6 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 6 + 5 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 6 + 5 * var(--gap));
}
.col-7 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 7 + 6 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 7 + 6 * var(--gap));
}
.col-8 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 8 + 7 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 8 + 7 * var(--gap));
}
.col-9 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 9 + 8 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 9 + 8 * var(--gap));
}
.col-10 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 10 + 9 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 10 + 9 * var(--gap));
}
.col-11 {
	flex: 0 0 calc(((100% - 11 * var(--gap)) / 12) * 11 + 10 * var(--gap));
	max-width: calc(((100% - 11 * var(--gap)) / 12) * 11 + 10 * var(--gap));
}
.col-12 {
	flex: 0 0 100%;
	max-width: 100%;
}

/* Form inputs */
input,
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
textarea,
select {
	font-family: var(--font-family);
	font-size: var(--font-size);
	line-height: 1.2;
	background-color: var(--off-black);
	color: var(--primary);
	border: var(--border);
	border-radius: calc(2 * var(--border-radius));
	padding: calc(var(--padding) / 2) var(--padding);
	width: 100%;
	box-sizing: border-box;
	transition: all 0.3s ease;
}
input:focus,
input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
	outline: none;
	border: 1px solid var(--brand);
}
textarea {
	resize: none;
	min-height: 100px;
}
input[type="number"] {
	-moz-appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Header */
.ms-store__header {
	padding-top: var(--padding);
	padding-bottom: var(--padding);
}
.ms-store__logo-image {
	width: auto;
	height: 24px;
	object-fit: contain;
	display: block;
}
.ms-store__header-logo-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}
.ms-store__header-cart-wrap {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}
.ms-store__header-cart {
	display: inline-block;
	position: relative;
}
.ms-store__cart-count {
	position: absolute;
	top: -8px;
	right: -8px;
	background-color: var(--brand);
	color: var(--inverted);
	border-radius: 50%;
	width: 16px;
	height: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: bold;
}

/* Header nav */
.ms-store__nav-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 9999;
	display: none;
	align-items: center;
	justify-content: center;
}
.ms-store__nav-overlay.active {
	display: flex;
}
.ms-store__header-nav-list {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--margin);
	list-style: none;
	text-align: center;
}
.ms-store__header-nav .menu-item a {
	font-size: calc(2 * var(--font-size));
	font-weight: 500;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.4em;
	padding: calc(0.5 * var(--padding)) calc(2 * var(--padding));
}

/* Footer */
.ms-store__footer {
	margin-top: calc(4 * var(--margin));
}
.ms-store__footer-main {
	padding: calc(2 * var(--padding)) 0;
	background-color: var(--off-black);
	color: var(--text-highlight);
	border-radius: calc(4 * var(--border-radius));
}
.ms-store__social-links {
	display: flex;
	align-items: center;
	gap: calc(2 * var(--margin));
}
.ms-store__social-icon {
	display: flex;
	gap: calc(0.5 * var(--margin));
	align-items: center;
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--secondary);
	text-transform: uppercase;
	letter-spacing: 0.4em;
}
.ms-store__footer-title {
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.4em;
}
.ms-store__footer-menu {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: calc(0.25 * var(--margin));
}
.ms-store__footer-menu li a {
	font-size: calc(0.75 * var(--font-size));
	color: var(--secondary);
}
.ms-store__copyright-text {
	font-size: calc(0.75 * var(--font-size));
	color: var(--secondary);
	text-align: center;
	margin-top: var(--margin);
	margin-bottom: var(--margin);
}

/* Hero swiper */
.ms-store__hero-wrap {
	margin-bottom: calc(4 * var(--margin));
}
.ms-store__hero {
	border-radius: 0 0 calc(12 * var(--border-radius)) 0;
	overflow: hidden;
}
.ms-store__hero-swiper {
	position: relative;
	width: 100%;
	height: 100%;
	max-height: 700px;
	overflow: hidden;
}
.ms-store-hero-swiper-image {
	width: 100%;
	height: 100%;
	max-height: 700px;
	object-fit: cover;
	object-position: top center;
	display: block;
}
.ms-store-hero-swiper-content {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
}
.ms-store__hero .ms-store-button {
	animation: ms-store__pulse 2s infinite;
	margin-top: var(--margin);
}
@keyframes ms-store__pulse {
	0% {
		box-shadow: 0 0 0 0px rgba(203, 252, 81, 0.2);
	}
	100% {
		box-shadow: 0 0 0 20px rgba(203, 252, 81, 0);
	}
}
.ms-store__hero-swiper-scroll .container {
	position: relative;
}
.ms-store__hero-swiper-scroll-icon {
	position: absolute;
	bottom: 0;
	right: var(--padding);
	transform: translateY(50%);
	width: 78px;
	height: 78px;
}

/* Store Grid - Main Grid */
.ms-store__products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: var(--gap);
	margin-top: calc(2 * var(--margin));
}
.ms-store__products-margins {
	margin-top: calc(4 * var(--margin));
	margin-bottom: calc(4 * var(--margin));
}

/* Product Grid Item */
.ms-store__product-image {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 5;
	flex-direction: column;
	background-color: var(--off-black);
	border-radius: calc(4 * var(--border-radius));
	transition: all 0.3s ease;
	padding: 0;
	position: relative;
	margin-bottom: calc(0.5 * var(--margin));
}
.ms-store__product-image:before {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 60%;
	height: 4px;
	border-radius: 16px;
	background: var(--brand);
	z-index: 2;
	transition: all 0.3s ease;
}
.ms-store__product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.3s ease;
	border-radius: calc(4 * var(--border-radius));
}
.ms-store__product-item:hover .ms-store__product-image img {
}
.ms-store__product-item:hover .ms-store__product-image:before {
	width: 65%;
}
.ms-store__product-image-link:hover {
	opacity: 1;
}

/* Product Info - Categories */
.ms-store__product-categories {
	display: flex;
	gap: calc(0.5 * var(--margin));
	align-items: center;
	justify-content: center;
	margin-bottom: calc(0.25 * var(--margin));
}
.ms-store__product-category {
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.4em;
}
.ms-store__product-category-separator {
	display: inline-block;
	width: 8px;
	height: 4px;
	border-radius: var(--border-radius);
	background-color: var(--brand);
}

/* Product Info */
.ms-store__product-title {
	font-size: calc(0.875 * var(--font-size));
	font-weight: 700;
	color: var(--brand);
	margin-bottom: 0;
	text-align: center;
}
.ms-store__product-tag {
	text-align: center;
}
.ms-store__product-tag-link {
	font-size: calc(0.875 * var(--font-size));
	line-height: 1.2em;
	color: var(--secondary);
}
.ms-store__product-price {
	font-size: calc(1.25 * var(--font-size));
	line-height: 1.2em;
	color: var(--white);
	font-weight: 700;
	text-align: center;
	margin-bottom: 0;
	margin-top: calc(0.25 * var(--margin));
}

/* Product Page */
.ms-store__product-gallery {
	display: flex;
	gap: var(--gap);
}
.ms-store__product-gallery-item {
	flex: 1;
}
.ms-store__product-gallery-item img {
	width: 100%;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 5;
	background-color: var(--off-black);
	border-radius: calc(2 * var(--border-radius));
	overflow: hidden;
}

.ms-store__product-row {
	/* align-items: center; */
}
.ms-store__product-header {
	padding: 0 0 0 calc(2 * var(--padding));
	position: sticky;
	top: 0;
}
.ms-store__product-header .ms-store__product-categories {
	justify-content: flex-start;
}
.ms-store__product-header .ms-store__product-title {
	font-size: calc(1.25 * var(--font-size));
	line-height: 1.2;
	text-align: left;
	margin-bottom: calc(0.25 * var(--margin));
}
.ms-store__product-header .ms-store__product-tag-page {
	text-align: left;
	margin-bottom: var(--margin);
}
.ms-store__product-details-label {
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	color: var(--secondary);
	font-weight: 500;
}
.ms-store__product-details-value,
.ms-store__product-details-value a {
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	font-weight: 700;
	color: var(--text-highlight);
	letter-spacing: 0.2em;
}
.ms-store__product-details-row {
	display: flex;
	align-items: center;
	gap: var(--gap);
	margin-bottom: calc(0.5 * var(--margin));
}
.ms-store__product-header .ms-store__product-price {
	text-align: left;
	margin-top: calc(0.5 * var(--margin));
	margin-bottom: calc(2 * var(--margin));
}

.ms-store__product-price del {
	font-size: calc(0.875 * var(--font-size));
	color: var(--secondary);
}
.ms-store__product-price ins {
	text-decoration: none;
}

/* Product Add to Cart - Button + Quantity */
.ms-store__quantity {
	display: flex;
	align-items: center;
	border-radius: calc(4 * var(--border-radius));
}
.ms-store__quantity .ms-store__quantity-input {
	background: none;
	border: none;
	padding: 0;
	line-height: 24px;
	text-align: center;
	width: 32px;
}
.ms-store__quantity .ms-store__quantity-input:focus {
	outline: none;
	border: none;
}
.ms-store__quantity-button {
	border: none;
	padding: 0;
	cursor: pointer;
	flex-shrink: 0;
}
.ms-store__quantity .quantity {
	max-width: 48px;
}
.ms-store__quantity .quantity input {
	border: none;
	padding: 0;
	text-align: center;
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	font-weight: 700;
	color: var(--text-highlight);
	letter-spacing: 0.2em;
	background: none;
}
.ms-store__add-to-cart-simple,
.ms-store__add-to-cart-variable {
	display: flex;
	gap: var(--gap);
	align-items: center;
}
.ms-store__add-to-cart {
	margin-bottom: var(--margin);
}

/* Product Attributes */
.ms-store__attribute-label {
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	font-weight: 700;
	color: var(--text-highlight);
	letter-spacing: 0.2em;
	margin-bottom: calc(0.25 * var(--margin));
	display: inline-block;
}
.ms-store__variation-boxes {
	display: flex;
	flex-wrap: wrap;
	gap: calc(0.25 * var(--margin));
	margin-bottom: var(--margin);
}
.ms-store__variation-box {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: calc(var(--padding) / 4);
	border-radius: calc(4 * var(--border-radius));
	background-color: var(--off-black);
	color: var(--text);
	width: 64px;
}
.ms-store__variation-box:disabled {
	background-color: var(--secondary);
	color: var(--tertiary);
}
.ms-store__variation-box.disabled {
	background: var(--tertiary);
	color: var(--secondary);
	opacity: 0.5;
}
.ms-store__variation-box:hover {
	background-color: var(--tertiary);
	color: var(--inverted);
}
.ms-store__variation-box.active {
	background-color: var(--brand);
	color: var(--inverted);
}
.ms-store__variation-select {
	display: none !important;
}
.single_variation .woocommerce-variation-price {
	display: none !important;
}

/* Product Tabs */
.ms-store__product-tabs-header {
	display: flex;
	align-items: center;
	gap: calc(var(--gap) / 2);
	margin-bottom: calc(var(--margin) / 2);
	cursor: pointer;
	margin-top: var(--margin);
}
.ms-store__product-tabs-header .ms-store__icon {
	stroke: var(--brand);
}
.ms-store__product-tabs-title {
	margin-bottom: 0;
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.4em;
}
.ms-store__product-tabs-content {
	font-size: calc(0.875 * var(--font-size));
	line-height: 1.5;
	color: var(--text);
}
.ms-store__product-tabs-content h4 {
	font-size: calc(1 * var(--font-size));
	line-height: 1.2;
	color: var(--primary);
	margin-bottom: calc(0.5 * var(--margin));
}
.ms-store__product-tabs-content p {
	margin-bottom: calc(0.125 * var(--margin));
	font-size: calc(0.875 * var(--font-size));
}
.ms-store__product-tabs-content p:last-child {
	margin-bottom: 0;
}

/*  Product Related */
.ms-store__product-related {
	margin-top: calc(4 * var(--margin));
}
.ms-store__related-products-swiper {
	margin-top: calc(2 * var(--margin));
}

/* Preorder Notice */
.ms-store__product-preorder-notice {
	background-color: var(--off-black);
	border-radius: var(--border-radius);
	padding: calc(var(--padding) / 2);
	text-align: center;
}
.ms-store__product-preorder-notice-text {
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	color: var(--text-highlight);
	letter-spacing: 0.2em;
	margin-bottom: 0;
}

/* Cart Page */
.ms-store__cart_wrapper {
	display: flex;
}
.ms-store__cart_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: calc(2 * var(--margin));
}
.ms-store__cart-form {
	flex: 1;
}
.ms-store__cart-item {
	display: flex;
	gap: calc(2 * var(--gap));
	margin-bottom: var(--margin);
}
.ms-store__cart-item:last-child {
	margin-bottom: 0;
}
.ms-store__cart-item-thumbnail {
	width: 100%;
	max-width: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4 / 5;
	flex-direction: column;
	background-color: var(--off-black);
	border-radius: calc(4 * var(--border-radius));
	transition: all 0.3s ease;
	padding: 0;
	position: relative;
}
.ms-store__cart-item-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 0.3s ease;
	border-radius: calc(4 * var(--border-radius));
}
.ms-store__cart-item-details {
	flex: 1;
}
.ms-store__cart-item-subtotal {
	margin-left: auto;
}
.ms-store__cart-item-categories {
	justify-content: flex-start;
}
.ms-store__cart-item-price {
	font-size: calc(1.25 * var(--font-size));
	line-height: 1.2em;
	color: var(--white);
	font-weight: 700;
	margin-bottom: 0;
	margin-top: calc(0.25 * var(--margin));
}
.ms-store__cart-item-attribute {
	margin-top: calc(0.25 * var(--margin));
}
.ms-store__cart-item-actions {
	display: flex;
	align-items: center;
	gap: var(--gap);
	margin-top: calc(0.5 * var(--margin));
}
.ms-store__cart-item-remove {
	display: flex;
	gap: calc(0.25 * var(--gap));
	align-items: center;
	background: var(--off-black);
	border-radius: calc(4 * var(--border-radius));
	padding: calc(var(--padding) / 4) calc(var(--padding) / 2);
}
.ms-store__cart-item-quantity-wrap {
	display: flex;
	gap: calc(0.5 * var(--gap));
	align-items: center;
	background: var(--off-black);
	border-radius: calc(4 * var(--border-radius));
	padding: calc(var(--padding) / 4) calc(var(--padding) / 2);
}
.ms-store__cart-update-cart {
	display: flex;
	justify-content: flex-end;
	margin-top: var(--margin);
}
.ms-store__cart-update-button {
	background: none;
	border: none;
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	color: var(--secondary);
	font-weight: 500;
	cursor: pointer;
	padding: 0;
}

/* Cart empty */
.return-to-shop {
	background-color: var(--off-black);
	border-radius: var(--border-radius);
	padding: calc(var(--padding) / 2);
	text-align: center;
	cursor: pointer;
	margin-bottom: var(--margin);
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	color: var(--text-highlight);
	letter-spacing: 0.2em;
	margin-top: calc(0.5 * var(--margin));
}

/* Cart coupon */
.ms-store__cart-coupon-toggle {
	background-color: var(--off-black);
	border-radius: var(--border-radius);
	padding: calc(var(--padding) / 2);
	text-align: center;
	cursor: pointer;
	margin-bottom: var(--margin);
}
.ms-store__cart-coupon-toggle span {
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	color: var(--text-highlight);
	letter-spacing: 0.2em;
	margin-bottom: 0;
}
.woocommerce-form-coupon-toggle .woocommerce-info {
	background-color: var(--off-black) !important;
	border-radius: var(--border-radius);
	padding: calc(var(--padding) / 2);
	text-align: center;
	cursor: pointer;
	margin-bottom: var(--margin);
	font-size: calc(0.75 * var(--font-size));
	text-transform: uppercase;
	color: var(--text-highlight);
	letter-spacing: 0.2em;
	margin-bottom: calc(0.5 * var(--margin));
}
.checkout_coupon.woocommerce-form-coupon {
	display: flex;
	gap: calc(0.5 * var(--gap));
	margin-top: calc(0.5 * var(--margin));
	flex-wrap: wrap;
}
.checkout_coupon.woocommerce-form-coupon .form-row.form-row-first {
	flex: 1 1 0px;
}
.ms-store__cart-coupon-form {
	display: flex;
	gap: calc(0.5 * var(--gap));
	margin-top: calc(0.5 * var(--margin));
	flex-wrap: wrap;
}
.ms-store__cart-coupon-apply {
	padding: calc(var(--padding) / 2) var(--padding);
	flex-shrink: 0;
}
.coupon-error-notice {
	width: 100%;
}
.ms-store__cart-coupon-input {
	flex: 1 1 0px;
}
.coupon-error-notice {
	color: var(--error);
	font-size: calc(0.75 * var(--font-size));
	margin-bottom: 0;
}
.checkout-button {
	font-family: var(--font-family);
	font-size: var(--font-size);
	line-height: 24px;
	background-color: var(--brand);
	color: var(--inverted);
	font-weight: 700;
	border: none;
	border-radius: calc(4 * var(--border-radius));
	padding: calc(var(--padding) / 2) calc(var(--padding) * 2);
	cursor: pointer;
	display: inline-block;
	white-space: nowrap;
	outline: none;
	width: 100%;
	text-align: center;
	margin-top: var(--margin);
}

/* Cart totals */
.cart_totals h2 {
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.4em;
}
.ms-store__cart-totals-table {
	width: 100%;
}
.ms-store__cart-totals-table th,
.ms-store__cart-totals-table td {
	padding: calc(var(--padding) / 4) 0;
	font-size: calc(0.75 * var(--font-size));
}
.ms-store__cart-totals-table th {
	text-align: left !important;
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.2em;
}
.ms-store__cart-totals-table td {
	text-align: right !important;
}
.includes_tax {
	display: block;
}
.ms-store__cart-totals-table .order-total span,
.ms-store__checkout-review-table .order-total span {
	font-weight: 700;
	color: var(--white);
	font-size: calc(1.25 * var(--font-size));
}
.includes_tax span.woocommerce-Price-amount.amount,
.includes_tax span.woocommerce-Price-currencySymbol {
	font-size: 10px !important;
	color: var(--text);
	font-weight: normal;
}
.ms-store__cart-totals-table .woocommerce-shipping-methods {
	list-style: none;
}
.ms-store__cart-totals-table .woocommerce-shipping-destination {
	font-size: calc(0.75 * var(--font-size));
	color: var(--secondary);
	margin-bottom: 0;
}

/* Woocommerce Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews {
	background: var(--tertiary);
	color: var(--inverted);
	font-size: var(--font-size);
	color: var(--white);
	border: none;
	outline: none;
	padding: calc(var(--padding) / 2) calc(var(--padding) * 2);
}
.woocommerce-message {
	background: var(--success) !important;
}
.woocommerce-info {
	background: var(--info) !important;
}
.woocommerce-error {
	background: var(--error) !important;
}
.woocommerce-noreviews {
	background: var(--warning) !important;
}

/* Checkout */
.ms-store__checkout-wrap h3 {
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.4em;
}

/* Checkout Payment */
.ms-store__checkout-payment-methods {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: calc(0.5 * var(--gap));
}
.ms-store__checkout-payment-method-item {
	display: flex;
	flex: 1 1 50%;
	align-items: center;
	opacity: 0.8;
}
.ms-store__checkout-payment-method-item-input {
	display: none;
}
.ms-store__checkout-payment-method-item-label {
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.2em;
	width: 100%;
	display: flex;
	align-items: center;
	gap: calc(0.5 * var(--gap));
	cursor: pointer;
}
.ms-store__checkout-payment-method-item-logo img {
	width: 128px;
	height: 48px;
	object-fit: contain;
	border: var(--border);
	border-radius: var(--border-radius);
	background: var(--off-black);
}
.ms-store__checkout-payment-method-item-label:hover
	.ms-store__checkout-payment-method-item-logo
	img,
.ms-store__checkout-payment-method-item.active
	.ms-store__checkout-payment-method-item-logo
	img {
	background: var(--tertiary);
	border-color: var(--brand);
}
.ms-store__checkout-payment-method-item.active {
	opacity: 1;
}

.woocommerce-privacy-policy-text p {
	font-size: calc(0.75 * var(--font-size));
	color: var(--secondary);
	margin-top: calc(0.5 * var(--margin));
	margin-bottom: calc(0.5 * var(--margin));
}
.woocommerce-shipping-totals.shipping {
	width: 100%;
}
.woocommerce-shipping-methods {
	list-style: none;
	padding: 0;
	margin: 0;
}
.ms-store__checkout-review-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--margin);
}
.ms-store__checkout-review-table th,
.ms-store__checkout-review-table td {
	padding: calc(var(--padding) / 4) 0;
	font-size: calc(0.75 * var(--font-size));
}
.ms-store__checkout-review-table th {
	text-align: left !important;
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.2em;
}
.ms-store__checkout-review-table td {
	text-align: right !important;
	width: 50%;
}
.ms-store__checkout-review-table .product-total {
	text-align: right !important;
}
.ms-store__checkout-review-table .product-name {
	text-align: left !important;
}
.ms-store__sticky {
	position: sticky;
	top: 0;
}

/* Apaczka button */
.ms-store__checkout-review-table #geowidget_show_map.button {
	font-family: var(--font-family) !important;
	font-size: var(--font-size) !important;
	line-height: 24px !important;
	background-color: var(--brand) !important;
	color: var(--inverted) !important;
	font-weight: 700 !important;
	border: none !important;
	border-radius: calc(4 * var(--border-radius)) !important;
	padding: calc(var(--padding) / 2) calc(var(--padding) * 2) !important;
	cursor: pointer !important;
	display: inline-block !important;
	white-space: nowrap !important;
	outline: none !important;
	width: 100% !important;
	max-width: unset !important;
}
.apaczka-parcel-machine-select #selected-parcel-machine {
	width: 100% !important;
	max-width: unset !important;
	background: var(--off-black);
	color: var(--primary);
	border: var(--border);
	border-radius: var(--border-radius);
	padding: calc(var(--padding) / 2) var(--padding);
	text-align: left;
}
.apaczka-parcel-machine-select
	#selected-parcel-machine
	#selected-parcel-machine-desc {
	font-size: calc(0.75 * var(--font-size));
	color: var(--secondary);
	clear: both;
}
.apaczka-parcel-machine-select
	#selected-parcel-machine
	#selected-parcel-machine-id {
	font-size: calc(0.75 * var(--font-size));
	color: var(--brand);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.2em;
}
.apaczka-parcel-machine-select #selected-parcel-machine .font-height-600 {
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.2em;
}

/* --- Select2 custom styling for mystars-store --- */
.select2-container--default .select2-selection--single {
	background-color: var(--off-black);
	border: var(--border);
	border-radius: calc(2 * var(--border-radius));
	height: 53px;
	color: var(--primary);
	display: flex;
	align-items: center;
	padding: 0;
	box-shadow: none;
	transition: border-color 0.2s;
}

.select2-container--default .select2-selection--single:focus,
.select2-container--default .select2-selection--single:hover {
	border-color: var(--brand);
}

.select2-container--default
	.select2-selection--single
	.select2-selection__rendered {
	color: var(--primary);
	line-height: 48px;
	padding-left: 16px;
	font-size: var(--font-size);
}

.select2-container--default
	.select2-selection--single
	.select2-selection__arrow {
	height: 48px;
	right: 12px;
}

.select2-container--default
	.select2-selection--single
	.select2-selection__arrow
	b {
	border-color: var(--primary) transparent transparent transparent;
	border-width: 6px 6px 0 6px;
	margin-top: 10px;
}

.select2-dropdown {
	background-color: var(--off-black);
	border: 1px solid var(--brand);
	border-radius: calc(2 * var(--border-radius));
	color: var(--secondary);
	box-shadow: none;
}

.select2-container--default .select2-results__option {
	color: var(--primary);
	background: var(--off-black);
	padding: 12px 16px;
	font-size: var(--font-size);
	border-radius: 0;
}

.select2-container--default
	.select2-results__option--highlighted[aria-selected] {
	background: var(--tertiary);
	color: var(--brand);
}

.select2-container--default .select2-results__option[aria-selected="true"] {
	background: var(--brand);
	color: var(--off-black);
}

.select2-container--default
	.select2-selection--single
	.select2-selection__clear {
	color: var(--brand);
	right: 36px;
}

.select2-container--default
	.select2-selection--single
	.select2-selection__placeholder {
	color: var(--secondary);
}

.select2-container--default
	.select2-selection--single
	.select2-selection__arrow {
	top: 0;
}

/* Usuwa podwójne border-radius i border na select2 */
.select2-container--default .select2-selection--single,
.select2-dropdown {
	border-radius: calc(2 * var(--border-radius));
	border-width: 1px;
}

/* Ukryj outline po kliknięciu */
.select2-container--default .select2-selection--single:focus {
	outline: none;
}

/* Zmniejsz marginesy dropdowna */
.select2-container--default .select2-dropdown {
	margin-top: 2px;
}

/* Dopasuj szerokość dropdowna do selecta */
.select2-container {
	width: 100% !important;
}

/* Ukryj niepotrzebne elementy */
.select2-container--default
	.select2-selection--single
	.select2-selection__arrow
	b {
	border-style: solid;
	display: none;
	width: 0;
	height: 0;
}

/* Poprawka na border przy focusie */
.select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--brand);
}
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option[data-selected="true"] {
	background-color: var(--brand);
	color: var(--off-black);
}

.select2-search--dropdown .select2-search__field {
	background-color: var(--off-black);
	color: var(--primary);
	border: var(--border) !important;
	border-radius: calc(2 * var(--border-radius));
	padding: 12px 16px;
	font-size: var(--font-size);
}

/* Woocommerce validation */
.form-row.woocommerce-validated input.input-text {
	border-color: var(--tertiary);
	box-shadow: none !important;
	outline: none;
}
.form-row.woocommerce-invalid input.input-text {
	border-color: var(--error);
	box-shadow: none !important;
	outline: none;
}

/* Checkout form */
.ms-store__checkout-wrap .form-row label {
	font-size: calc(0.75 * var(--font-size));
	color: var(--secondary);
	margin-top: calc(0.5 * var(--margin));
	margin-bottom: calc(0.25 * var(--margin));
	display: block;
}

/* Single Page */
.ms-store__page-single-wrap .ms-title-page-header {
	margin-top: var(--margin);
}
.ms-store__page-single-wrap {
	max-width: 1024px;
	margin: 0 auto;
}
.ms-store__page-single-wrap ol {
	list-style: decimal;
	margin-left: calc(2 * var(--margin));
	font-size: calc(0.875 * var(--font-size));
	line-height: 1.5;
	color: var(--text);
	margin-bottom: calc(0.5 * var(--margin));
}
.ms-store__page-single-wrap ul {
	list-style: disc;
	margin-left: calc(2 * var(--margin));
	font-size: calc(0.875 * var(--font-size));
	line-height: 1.5;
	color: var(--text);
	margin-bottom: calc(0.5 * var(--margin));
}
.ms-store__page-single-wrap h1,
.ms-store__page-single-wrap h2,
.ms-store__page-single-wrap h3,
.ms-store__page-single-wrap h4,
.ms-store__page-single-wrap h5,
.ms-store__page-single-wrap h6 {
	margin-top: var(--margin);
}

/* Thank you page */
.ms-store__thankyou {
	max-width: 1024px;
	margin: 0 auto;
}

.ms-store__thankyou-order-notice {
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.4em;
	text-align: center;
	margin-bottom: calc(2 * var(--margin));
	margin-top: calc(2 * var(--margin));
}
.ms-store__thankyou-order-details {
	display: flex;
	gap: var(--gap);
	list-style: none;
	justify-content: space-between;
	margin-bottom: calc(2 * var(--margin));
}
.ms-store__thankyou-order-details-title {
	display: block;
	font-size: calc(0.75 * var(--font-size));
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.4em;
}
.ms-store__thankyou-order-details-value {
	font-size: calc(0.75 * var(--font-size));
	color: var(--secondary);
	font-weight: 500;
}
.woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--margin);
}
.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: calc(var(--padding) / 4) 0;
	font-size: calc(0.75 * var(--font-size));
}
.woocommerce-table--order-details th {
	text-align: left !important;
	font-weight: 700;
	color: var(--text-highlight);
	text-transform: uppercase;
	letter-spacing: 0.2em;
}
.woocommerce-table--order-details td {
	text-align: right !important;
	width: 50%;
}
.woocommerce-table--order-details .product-total {
	text-align: right !important;
}
.woocommerce-table--order-details .product-name {
	text-align: left !important;
}

/* Customer details */
.ms-store__customer-details-addresses {
	display: flex;
	gap: calc(2 * var(--gap));
	margin-bottom: calc(2 * var(--margin));
}
.ms-store__customer-details-addresses-col {
	flex: 1;
}
.ms-store__customer-details-addresses address {
	font-style: normal;
}

/* Newsletter */
.ms-store__newsletter-form .container {
	max-width: 1024px;
	margin: 0 auto;
}
.ms-store__newsletter-form {
	margin-bottom: calc(-4 * var(--margin));
}
.ms-store__newsletter-form .row {
	align-items: center;
}
.ms-store__newsletter-subscribe {
	max-width: 480px;
}
.ms-store__newsletter-image-wrap {
	display: flex;
	justify-content: flex-end;
}
.ms-store__newsletter-image {
	max-height: 640px;
	width: auto;
	object-fit: contain;
	object-position: bottom center;
}
.ms-store__newsletter-button {
	margin-top: calc(0.5 * var(--margin));
}

/* Stylowanie labela */
.ms-store__checkbox {
	position: relative;
	cursor: pointer;
}
.ms-store__checkbox-text {
	display: flex;
	gap: 8px;
	margin-top: 8px;
	font-size: calc(0.625 * var(--font-size));
	color: var(--secondary);
}
.ms-store__checkbox input[type="checkbox"] {
	display: none;
}
.ms-store__checkbox .ms-store__checkbox-text:before {
	content: "";
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	border-radius: 50%;
	background-color: var(--off-black);
	border: 1px solid var(--tertiary);
	transition:
		background-color 0.3s,
		border-color 0.3s;
}
.ms-store__checkbox
	input[type="checkbox"]:checked
	+ .ms-store__checkbox-text:before {
	background-color: var(--brand);
	border-color: var(--brand);
}
