@media (max-width: 768px) {
	#nw-error-dialog {
		font-size: clamp(12px, 0.75vw, 52px);
		height: 40vw;
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.nw-variations-summary-wrapper{
		display: none;
	}


	@keyframes bounce {
		0%, 20%, 50%, 80%, 100% {
			transform: translateY(0);
		}

		40% {
			transform: translateY(-10px);
		}

		60% {
			transform: translateY(-5px);
		}
	}

	.nw-main-container {
		&.nw-home {
			position: relative;
			
			.nw_home_sticky_cta{
				position: fixed;
				bottom: 1.5vh;
				left: 0vw;
				z-index: 99;
				width: 100%;

				&.nw-hide {
					display: none;
				}

				.nw_home_sticky_cta-inner-wrapper{
					display: flex;
					justify-content: flex-start;
					width: 100%;
					padding-inline: 5%;
					
					.sticky-cta-btn{
						box-shadow: 0 20px 25px -5px var(--nw-variable-selected-shadow-color), 0 8px 10px -6px var(--nw-variable-selected-shadow-color);
						background-color: var(--nw-primary-color);
						height: fit-content;
						display: flex;
						width: 100%;
						max-width: 100%;
						padding: 0.25rem;
						padding-inline: 0.75rem;
						column-gap: 0.5rem;					
						align-items: center;
						justify-content: center;
						transition: all 250ms ease-in-out;
						font-size: clamp(14px, 1.1vw, 36px);
						border-radius: 99px;

						/* Bounce animation */
    					animation: bounce 2s infinite;

						.nw-sticky-cta-text {
							display: flex;
							overflow: hidden;
							max-width: 100%;
							text-wrap: nowrap;
						}
					}
				}
			}
		}
	}

	.nw-single-product-top {
		.nw-single-product-summary {
			.nw-summary {
				.nw-summary-content{
					.nw-qty-table-wrap{
						td {
							font-size: clamp(12px, 0.6vw, 42px);
							color: #555555;
						}

						td.nw-variation-cell {
							font-weight: 600;
						}

						td.price-unit-cell {
							white-space: wrap;
						}

						.nw-btn-add-to-cart{
							.nw-add-to-cart-text {
								display: none;
							}
						}
					}

				}
			}
		}
	}

	.nw-image-attribute-wrap{
		.nw-variable-item{
			&.nw-image-variable-item {
				flex-direction:column;
				text-align:center; 
				max-width: unset !important;
				width: 30vw !important;
				padding: 0.1rem !important;

				.nw-variation-description{
					font-size: 3vw;
					display: -webkit-box;             /* enable flexing into box model */
					-webkit-box-orient: vertical;     /* vertical stacking of child lines */
					-webkit-line-clamp: 2;            /* show at most 2 lines */
					overflow: hidden;                 /* hide the rest */
				}
			}

		}
	}

	.nw-woocommerce-cart-form{
		max-width: 90vw !important;

		.nw-cart{
			.nw-wc-cart-form-item {
				padding-left: 0px;
			}

			.nw-product-name {
				max-width: 100vw;
			}

			td.nw-product-name {
				padding-block: 1rem;
				padding-inline: 0.75rem;
			}

			td.nw-delivery-estimation{
				flex-direction: column;
				padding-block: 0.75rem;
			}

			td.nw-product-price {
				padding-block: 1rem;
				padding-inline: 0.5rem;
			}

			.nw-product-options{
				height: 100%;
				width: 100%;

				.nw-cart-other-options-container{
					height: 100%;
					width: 100%;
					display: flex;

					.nw-cart-other-options-wrapper{
						height: 100%;
						width: 100%;
						display: grid;
						grid-template-columns: 1fr;
          				grid-template-rows: 1fr 1fr 1fr;
						position: relative;
						grid-template-areas:
							"files   " 
							"comments" 
							"ag      "
							"actions      "
							"delivery-notice      ";

						.nw-cart-item-actions{
							padding-block: 0.5rem;

							.nw-cart-item-actions-wrapper {

								.nw-cart-item-actions-btn{
									font-size: clamp(14px, 1.1vw, 36px);
								}
							}
						}

						.nw-cart-item-comments{
							grid-area: comments;

							.nw-cart-item-comments-inner-wrapper{
								padding: 0.5rem;
								padding-inline: 1rem;

								&.no-comments {
									display: flex;
									justify-content: center;
									align-items: center;
								}
							}

							.nw-comment-send-btn{
								margin-top: 0.5rem;
								height: fit-content;
								width: fit-content;
								padding: 0.75rem;
								padding-inline: 0.75rem;
								display: flex;
								justify-content: center;
								align-items: center;
								column-gap: 0.25rem;
								font-size: clamp(12px, 0.75vw, 32px);
								color: white;
								line-height: 1;
								border-radius: 1rem;
								transition: background-color 250ms ease-in;

								&:disabled {
									opacity: 0.7;
									pointer-events: none;
								}

								&:hover {
									background-color: black;
								}
							}
						}

						.nw-cart-item-ag{
							grid-area: ag;
							display: flex;
							justify-content: flex-start;
							align-items: center;

							.nw-cart-item-ag-inner-wrapper{
								display: flex;
								flex-direction: column;
								padding: 0.5rem;
								padding-inline: 1rem;

								.nw-cart-item-ag-price{
									font-weight: 550;
								}
							}
						}

						.nw-cart-item-personalise{
							grid-area: personalise;
						}

						.nw-cart-item-delivery-notice {
							padding-block: 0.5rem;
							padding-inline: 0.75rem;
						}

						.nw-wc-dnd-file-upload{
							grid-area: files;
							display: flex;
							justify-content: center;
							align-items: center;
							flex-direction: column;
							padding: 0.5rem;
							padding-inline: 1rem;

							.nw-wc-drag-n-drop-file-input{
								display: none;
							}

							.nw-file-upload-btn {
								height: fit-content;
								width: fit-content;
								padding: 0.75rem;
								padding-inline: 0.75rem;
								display: flex;
								justify-content: center;
								align-items: center;
								column-gap: 0.25rem;
								font-size: clamp(12px, 0.75vw, 32px);
								color: white;
								line-height: 1;
								border-radius: 1rem;
								transition: background-color 250ms ease-in;
								
								&:disabled {
									opacity: 0.7;
									pointer-events: none;
								}

								&:hover {
									background-color: black;
								}
							}

							.nw-file-preview {
								display: flex;
								align-items: center;
								column-gap: 0.25rem;
								margin-top: 0.25rem;

								.nw-file-name {
									font-size: clamp(8px, 0.5vw, 32px);
								}
								
								.nw-file-thumb {
									width: 40px;
									height: 40px;
								}
							}
						}
					}
				}
			}
		}
	}
}
