.image-preview-overlay {
	position: fixed; 
	top: 0;
	left: 0;
	background-color: white; 
	height: 100%;
	width: 100%;
	z-index: 3;
	display: flex; 
	padding: 7.5%;
	box-sizing: border-box;
	opacity: 0;
	transition: 0.4s;
	pointer-events: none;
}
.image-preview-overlay.active {
	pointer-events: unset;
	opacity: 1;
	transition: 0.4s;
	background-color: white;
}

.image-preview-overlay .controls {
	position: absolute;
	bottom: calc(7.5% - 10px);
	right: calc(50% - 115px);
	justify-content: space-between;
	align-items: center;
	display: flex; 
	width: 230px;
}

.image-preview-overlay .controls div {
	height: 50px; 
	width: 50px; 
	border-radius: 100%;
	border: 1px #ddd solid; 
	background-color: white;
	display: flex; 
	align-items: center; 
	justify-content: center;
	cursor: pointer;
}

.image-preview-overlay .controls div img {
	width: 15px; 
	height: 15px;
}
.image-preview-overlay .controls .step img {
	width: 22px; 
	height: 22px;
}

.image-preview-overlay .controls .exit {
	height: 60px; 
	width: 60px;
} 

.image-preview-overlay img {
	width: 100%;
	height: 100%;
	object-fit: contain; 
}

main .container {
	margin-top: 50px; 
	margin-bottom: 75px;
}

.gallery-section {
	width: calc(50% - 15px);
	gap: 20px;
}

.main-image-container {
	width: 100%;
}
.main-image-container.with-gallery {
	width: calc(100% - 80px);
}

.main-image {
	width: 100%;
	aspect-ratio: 1;
	height: auto;
	object-fit: cover;
	cursor: zoom-in;
	align-self: baseline;
}

.main-image-container .navigation {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-top: 10px;
}

.main-image-container .navigation .arrow-container {
	padding: 7.5px; 
	border-radius: 100%;
	border: 1px #ddd solid;
	cursor: pointer;
}
.main-image-container .navigation .arrow-container img {
	width: 35px;
}

.gallery-image-container {
	width: 60px;
	gap: 20px;
}

.gallery-image-container img {
	cursor: pointer;
	aspect-ratio: 1;
	object-fit: cover;
}
.gallery-image-container img.active {
	border: 2px #aed651 solid;
}

.product-info {
	width: calc(50% - 15px);
}

.product-info h1 {
	text-align: left; 
	margin-top: 0;
	margin-bottom: 25px; 
	text-transform: uppercase;
	color: rgb(0, 0, 0);
	font-size: 25.5px; 
	line-height: 1;
	font-weight: 600;
}

.product-info .price {
	color: rgb(28, 29, 29);
	font-size: 18px;
}

.product-info .affirm-text {
	margin-top: 5px;
	color: rgb(0, 0, 0); 
	font-size: 13px;
}

.product-info hr {
	margin-top: 20px; 
	margin-bottom: 20px;
	border: 0; /* Removes default border */
    height: 1px; /* Thickness of the line */
    background-color: #ddd; /* Change to desired color */
}

.product-info .description {
	line-height: 1.3;
	color: rgb(0, 0, 0);
}

.product-info .description p {
	line-height: unset;
}

.product-info .description div {
	margin-top: 10px;
}

.product-info .material-notice {
	line-height: 1.3;
	margin-top: 20px;
}

.product-info .material-notice a {
    color: #aed651;
}

.product-info .handmade-text {
	margin-top: 20px;
	font-style: italic;
	color: green;
}

.product-info .ring-section {
	margin-top: 30px;
}

.product-info .ring-section .size-guide-text {
	color: rgb(0, 0, 0); 
	font-size: 21.9px; 
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 15px;
}

.product-info .ring-size-text {
	font-size: 16px; 
	color: black;
	line-height: 1.3;
}
.product-info .ring-size-text a {
	color: #aed651;
}

.product-info .variation-container:first-of-type {
	margin-top: 0;
}
.product-info .variation-container {
	margin-top: 25px;
}

.product-info .variation-container .text {
	color: rgb(0, 0, 0); 
	font-size: 12.8px; 
	letter-spacing: 3.84px;
	text-transform: uppercase;
	font-weight: 400;
	margin-bottom: 12.5px;
}

.product-info .variation-container .boxes-container {
	position: relative;
	max-width: 225px;
	cursor: pointer;
	height: 31.6px;
	overflow: hidden;
	border: 1px black solid;
}
.product-info .variation-container .boxes-container.size {
	max-width: 80px;
}
.product-info .variation-container .boxes-container.visible {
	overflow: visible;
}

.product-info .variation-container .box-holder {
	position: absolute;
	width: 100%;
	left: 0;
	top: 31px;
	background-color: white;
	z-index: 3;
}

.product-info .variation-container .boxes-container .current-value {
	position: absolute; 
	top: 7px;
	left: 14px;
	font-size: 16px;
	color: black;
}
.product-info .variation-container .boxes-container .selection-arrows {
	position: absolute; 
	top: 7px; 
	right: 14px; 
	height: 16px; 
}

.product-info .variation-container .box {
	color: rgb(0, 0, 0); 
	font-size: 16px;
	padding: 7px 14px;
	border: 1px #bbb solid;
	cursor: pointer;
	transition: 0.4s;
	width: 100%;
}
.product-info .variation-container .box:hover {
	border: 1px black solid;
	transition: 0.4s;
	background-color: #aed651;
}

.product-info .variation-container .box.selected {
	border: 1px black solid;
	background-color: #aed651;
}

.product-info .add-to-cart {
	margin-top: 30px !important; 
	margin-bottom: 30px !important; 
	border: 1px black solid !important;
	display: flex !important;
	color: black !important; 
	background-color: #aed651 !important;
	font-weight: 500 !important;
	transition: 0.4s !important;
	height: 50px;
	justify-content: center; 
	align-items: center;
}
.product-info .add-to-cart img {
	width: 25px; 
	height: 25px;
	animation: spin 1.5s linear infinite; /* Constant spinning */
	display: none;
}

.quantity-container {
    display: inline-block;
    text-align: center;
    font-family: Arial, sans-serif;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.quantity-container label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
}

.quantity-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(232, 232, 225);
    width: fit-content;
    overflow: hidden;
}

.quantity-controls .quantity-button {
    border: none;
    background: transparent;
    font-size: 18px;
    padding: 5px 10px;
    cursor: pointer;
    user-select: none;
}

.quantity-controls .quantity-button:hover {
    background-color: #f0f0f0;
}

.quantity-input {
    width: 30px;
    text-align: center;
    border: none;
    font-size: 16px;
    outline: none;
}

.quantity-input {
    -moz-appearance: textfield; /* For Firefox */
    -webkit-appearance: none; /* For Chrome, Safari, Edge */
    appearance: none; /* Standard property */
}

.quantity-input::-webkit-inner-spin-button,
.quantity-input::-webkit-outer-spin-button {
    -webkit-appearance: none; /* For Chrome, Safari, Edge */
    margin: 0; /* Remove margin for consistency */
}

@media screen and (max-width: 820px) { 
	.main-row {
		flex-direction: column;
		gap: 30px;
	}
	
	.gallery-section {
		width: 100%;
	}
	
	.product-info {
		width: 100%;
	}
}