@keyframes spinner {
  to {
    transform: rotate(360deg); } }

@-webkit-keyframes spinner {
  to {
    -webkit-transform: rotate(360deg); } }

@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0); }
  20%, 80% {
    transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% {
    transform: translate3d(-4px, 0, 0); }
  40%, 60% {
    transform: translate3d(4px, 0, 0); } }

.wamsc-area.wamsc-area-loading:before {
  content: '\E832';
  font-family: 'wa_modal_cart';
  font-size: 24px;
  -webkit-font-smoothing: antialiased;
  text-align: center;
  line-height: 24px;
  color: #ffffff;
  display: block;
  width: 24px;
height: 24px;
margin-top: -12px;
margin-left: -12px;
position: absolute;
top: 50%;
left: 50%;
  z-index: 97;
  -webkit-animation: spinner 1s linear infinite;
  -moz-animation: spinner 1s linear infinite;
  -ms-animation: spinner 1s linear infinite;
  -o-animation: spinner 1s linear infinite;
  animation: spinner 1s linear infinite; }

.wamsc-area.wamsc-area-loading:after {
	  content: '';
	  width: 100%;
	  height: 100%;
	  background-color: rgba(0, 0, 0, 0.7);
	  position: absolute;
	  top: 0;
	  left: 0; 
  }



.wamsc-count {
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  background-color: #ffffff;
  display: block;
  cursor: pointer;
  position: fixed;
  left: 40px;
  bottom: 40px;
  z-index: 99999997;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 20px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 20px;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 0px 20px;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
.wamsc-count:hover {
	bottom: 45px; 
}
.wamsc-count i {
	font-size: 24px;
	line-height: 60px;
	color: #444444; 
}
.wamsc-count span {
	position: absolute;
	top: -10px;
	right: -10px;
	height: 28px;
	width: 28px;
	font-size: 12px;
	line-height: 28px;
	text-align: center;
	background: #9b5c8f;
	color: #ffffff;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
 }
.wamsc-count.wamsc-count-bottom-right {
	right: 40px;
	left: auto;
 }
.wamsc-count.wamsc-count-top-left {
	top: 40px;
	bottom: auto; 
}
.wamsc-count.wamsc-count-top-left:hover {
	top: 45px; 
}
.wamsc-count.wamsc-count-top-right {
	top: 40px;
	right: 40px;
	bottom: auto;
	left: auto; 
}
.wamsc-count.wamsc-count-top-right:hover {
	top: 45px; 
}
.wamsc-count.wamsc-count-loading i {
	display: none; 
}
.wamsc-count.wamsc-count-loading:before {
	content: '\E832';
	font-family: 'wa_modal_cart';
	font-size: 24px;
	-webkit-font-smoothing: antialiased;
	text-align: center;
	line-height: 24px;
	color: #444444;
	display: block;
	width: 24px;
	height: 24px;
	margin-top: -12px;
	margin-left: -12px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-animation: spinner 1s linear infinite;
	-moz-animation: spinner 1s linear infinite;
	-ms-animation: spinner 1s linear infinite;
	-o-animation: spinner 1s linear infinite;
	animation: spinner 1s linear infinite;
}
.wamsc-count.wamsc-count-shake {
	animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	perspective: 1000px; 
}
.wamsc-count.wamsc-count-hide {
	display: none !important; 
}

.wamsc-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  z-index: 99999998; 
}

body.wamsc-body-show .wamsc-overlay {
  opacity: 1;
  visibility: visible; 
}
/*======================================= 
     wamsc- Style 
=======================================*/


.wamsc-area {
	position: fixed;
	top: 0;
	left: 100%;
	width: 80%;
	max-width: 420px;
	height: 100%;
	max-height: 100%;
	box-sizing: border-box;
	text-align: left;
	-webkit-transform: translate3d(20px, 0, 0);
	transform: translate3d(20px, 0, 0);
	z-index: 99999999;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;  
}

/* Adjust for WordPress admin bar when logged in */
.admin-bar .wamsc-area {
	top: 32px;
	height: calc(100% - 32px);
	max-height: calc(100% - 32px);
}

/* Mobile admin bar adjustment (smaller height) */
@media screen and (max-width: 782px) {
	.admin-bar .wamsc-area {
		top: 46px;
		height: calc(100% - 46px);
		max-height: calc(100% - 46px);
	}
}

.wamsc-area .wamsc-close {
	position: absolute;
	top: 0px;
	width: 32px;
	height: 32px;
	display: block;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	font-size: 20px;
	color: #fff;
	text-align: center;
	line-height: 32px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s; 
}
.wamsc-area .wamsc-close:hover {
	opacity: 1;
	visibility: visible;
 }

.wamsc-area.wamsc-area-show .wamsc-close {
	opacity: .7;
	visibility: visible; 
}
/*======================================= 
     wamsc-effect-01 
=======================================*/
.wamsc-area.wamsc-effect-01 {
	-webkit-transform: translate3d(20px, 0, 0);
	transform: translate3d(20px, 0, 0);
}
.wamsc-area.wamsc-effect-01 .wamsc-close {
	left: -32px;
}

.wamsc-area.wamsc-effect-01.wamsc-area-show {
	-webkit-transform: translate3d(-420px, 0, 0);
	transform: translate3d(-420px, 0, 0); 
}
	
/*======================================= 
     wamsc-effect-02 
=======================================*/
.wamsc-area.wamsc-effect-02 {
	left: 0;
	width: 80%;
	text-align: left;
	-webkit-transform: translate3d(-420px, 0, 0);
	transform: translate3d(-420px, 0, 0); 

}
.wamsc-area.wamsc-effect-02 .wamsc-close {
	right: -32px;
	left:auto;
}

.wamsc-area.wamsc-effect-02.wamsc-area-show {
	-webkit-transform: translate3d(0px, 0, 0);
	transform: translate3d(0px, 0, 0);
}

/*======================================= 
     wamsc-effect-02 
=======================================*/
.wamsc-area.wamsc-effect-03 {
	top: -100%;
	left:50%;
	max-height: 80%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}
.wamsc-area.wamsc-effect-03 .wamsc-close {
	right: -32px;
}

.wamsc-area.wamsc-effect-03.wamsc-area-show {
	top:0;
}
/*======================================= 
    wamsc-effect-04 
=======================================*/
.wamsc-area.wamsc-effect-04 {
	top: auto;
	bottom: -100%;
	left: 50%;
	max-height: 80%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
}

.wamsc-area.wamsc-effect-04.wamsc-area-show {
	bottom: 0; 
}
.wamsc-area.wamsc-effect-04 .wamsc-close {
	right: -32px;
}

/*======================================= 
    wamsc-effect-05
=======================================*/

.wamsc-area.wamsc-effect-05 {
	top: 40%;
	opacity: 0;
	left: 50%;
	max-height: 80%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	visibility:hidden;
}
.wamsc-area.wamsc-effect-05 .wamsc-close {
	right: -32px;
}

.wamsc-area.wamsc-effect-05.wamsc-area-show {
	opacity: 1;
	visibility: visible;
	top: 50%;
 }
    

/*======================================= 
                wamsc-area 
=======================================*/

.wamsc-area {
	background-color:#E0E0E0;
	font-family:Helvetica, Arial, sans-serif;
	font-size: 14px;
	display: flex;
	flex-direction: column;
	padding: 20px 0;

}
.wamsc-area a, .wamsc-area input, .wamsc-area p {
	font-family: Helvetica, Arial, sans-serif; 
}
.wamsc-area .wamsc-area-top {
	flex-grow: 1;
	position: relative;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	overflow-y: hidden;
}



/*======================================= 
          wamsc-item 
=======================================*/

.wamsc-item {
	padding: 0px 20px;
	margin:0px 0px 15px 0px;
}

.wamsc-item-info p.in-stock {
	font-size: 11px;
	font-weight: 700;
	color: green;
	margin-top: 5px; 
}

.wamsc-item-info p.available-on-backorder {
	font-size: 11px;
	font-weight: 700;
	color: orange !important;
	margin-top: 5px; 
}
/*======================================= 
          wamsc-item ( wamsc-area-top ) 
=======================================*/
.wamsc-area-top.wamsc-items .wamsc-item a {
	text-decoration: none;
	outline: none; 
}

.wamsc-area-top.wamsc-items .wamsc-item:first-child .wamsc-item-inner {
	border-top: 1px dashed #eeeeee;

}
.wamsc-area-top.wamsc-items .wamsc-item .wamsc-item-inner {
	padding: 10px 0px 10px 10px;
	display: table;
	width: 90%;
	background-color: #ffffff;
	border-bottom: 1px dashed #eeeeee;
	margin: 0;
	box-sizing: border-box;
	position: relative;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	border-radius: 0px;
	-moz-border-radius: 0px;
	-webkit-border-radius: 0px; 
}
.wamsc-area-top.wamsc-items .wamsc-item .wamsc-item-inner > div {
	display: table-cell;
	vertical-align: middle; 
}
.wamsc-area-top.wamsc-items .wamsc-item-thumb {
	width: 50px; 
}
.wamsc-area-top.wamsc-items .wamsc-item-thumb img {
	width: 40px;
	height: 40px;
	display:block;
	margin-right: 10px;
	box-shadow: none;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
 }
.wamsc-area-top.wamsc-items .wamsc-item-title {
	display: block;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 5px;
	line-height: 1.2;
 }
.wamsc-area-top.wamsc-items .wamsc-item-title a {
	text-decoration: none;
	line-height: 1.2;
	color: #222222; 
}
.wamsc-area-top.wamsc-items .wamsc-item-title ul {
	margin-left: 14px;
}
.wamsc-area-top.wamsc-items .wamsc-item-title li {
	font-weight: 200;
	color: #222222; 
}
.wamsc-area-top.wamsc-items .wamsc-item-data,
.wamsc-area-top.wamsc-items .wamsc-item-data .wamsc-item-price {
	font-size: 12px;
	font-weight: 400;
	line-height: 1.2;
	margin-bottom: 5px;
	display: block;
}
.wamsc-area-top.wamsc-items .wamsc-item-data span {
	text-transform: capitalize;
}

.wamsc-area-top.wamsc-items .wamsc-item-data del {
	color: #999999;
	opacity: 0.6;
 }
 
.wamsc-area-top.wamsc-items .wamsc-item-price del {
	color: #999999;
	opacity: 0.6;
 }
 
.wamsc-area-top.wamsc-items .wamsc-item-data ins {
	background: none;
}
.wamsc-area-top.wamsc-items  .wamsc-item-price span {
	font-size: 12px !important;
	font-weight: 400 !important;
}
.wamsc-area-top.wamsc-items  .wamsc-item-qty {
	width: 40px;
}
.wamsc-area-top.wamsc-items .wamsc-item-qty .wamsc-item-qty-inner {
	position: relative;
}
.wamsc-area-top.wamsc-items .wamsc-item-qty .wamsc-item-qty-inner input {
	width: 40px;
	height: 28px;
	line-height: 28px;
	padding: 0;
	text-align: center;
	border: none;
	outline: none;
	display: block;
	color: #444444;
	background-color: #eeeeee;
	-moz-appearance: textfield;
	appearance: textfield;
	font-size: 12px;
	font-weight: 400; 
}


.wamsc-area-top.wamsc-items input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
 }

.wamsc-area-top.wamsc-items  .wamsc-item-qty-plus,
.wamsc-area-top.wamsc-items  .wamsc-item-qty-minus {
	width: 40px;
	height: 16px;
	line-height: 16px;
	text-align: center;
	color: #444444;
	background-color: #eeeeee;
	font-size: 12px;
	font-weight: 400;
	position: absolute;
	display: block;
	cursor: pointer;
}
.wamsc-area-top.wamsc-items  .wamsc-item-qty-plus:hover,
.wamsc-area-top.wamsc-items  .wamsc-item-qty-minus:hover{
	background-color: #dddddd;
}
.wamsc-area-top.wamsc-items  .wamsc-item-qty-plus{
	top: -17px;
	left: 0; 
}
.wamsc-area-top.wamsc-items  .wamsc-item-qty-minus {
	bottom: -17px;
	left: 0; 
}
.wamsc-area-top.wamsc-items .wamsc-item-inner .wamsc-item-remove {
	position: absolute;
	top: 50%;
	right: 0px;
	transform: translate(30px, -50%);
	display: block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	outline: none;
	text-decoration: none;
	border: none;
	cursor: pointer;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
	
}
.wamsc-area-top.wamsc-items .wamsc-item-inner .wamsc-item-remove:before {
	color:#FFF;
	font-size: 20px;
}
    
.wamsc-area .wamsc-item-est-delivery {
	font-size: 10px;
	font-weight: 700;
	color: red;
		
}
 


/*======================================= 
   wamsc-item ( wamsc-area-bot ) 
=======================================*/
 
.wamsc-area-bot {
	padding: 15px 20px 0 20px;
	margin: 0;
}
.wamsc-area .wamsc-area-bot .wamsc-total .wamsc-total-inner {
	display: table;
	padding: 0;
	width: 100%;
	border-collapse: separate;
	color: #222222;
	line-height: 1;
	padding-bottom:15px;
 }
.wamsc-area .wamsc-area-bot .wamsc-total .wamsc-total-inner > div {
	display: table-cell;
	width: 50%;
 }
.wamsc-area .wamsc-area-bot .wamsc-total .wamsc-total-inner > div.wamsc-total-left {
	text-align: left;
 }
.wamsc-area .wamsc-area-bot .wamsc-total .wamsc-total-inner > div.wamsc-total-right {
	text-align: right;
	font-size: 18px;
	font-weight: 700; 
}
.wamsc-area .wamsc-area-bot .wamsc-action .wamsc-action-inner {
	display: table;
	width: 100%;
	border-collapse: separate; 
}
.wamsc-area-bot .wamsc-action .wamsc-action-inner > div {
	display: table-cell;
	width: 50%; 
}
.wamsc-area-bot .wamsc-action .wamsc-action-inner > div.wamsc-action-left {
	padding-right: 5px;
}
.wamsc-area-bot .wamsc-action .wamsc-action-inner > div.wamsc-action-right {
	padding-left: 5px; 
}
.wamsc-area-bot .wamsc-action .wamsc-action-inner > div a {
	height: 40px;
	line-height: 36px;
	text-align: center;
	padding: 0 10px;
	box-sizing: border-box;
	background-color: #ffffff;
	color: #9b5c8f;
	font-weight: 700;
	border: 2px solid #ffffff;
	text-decoration: none;
	display: inline-block;
	width: 100%;
	text-transform: uppercase;
	border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s; 
}
.wamsc-area-bot .wamsc-action .wamsc-action-inner > div a:hover {
	background-color: transparent;
	color: #ffffff; 
}
.wamsc-area-bot .wamsc-continue {
	text-align: center;
	margin-top: 15px; 
}
.wamsc-area-bot .wamsc-continue span {
	color: #ffffff;
	text-transform: uppercase;
	
	cursor: pointer;
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s; 
}
.wamsc-area-bot .wamsc-continue span:hover {
	opacity: .7;
 }
.wamsc-no-item, .wamsc-area.wamsc-style-01 .wamsc-error {
	text-align: center;
	color: #ffffff; 
}
.wamsc-area .wamsc-no-item, .wamsc-area .wamsc-error {
	text-align: center;
	color: #222222; 
}




.wamsc-area.wamsc-style-05:after {
	content: '';
	top: 0;
	left: 0;
	z-index: -1;
	position: absolute;
	width: 100%;
	height: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: -moz-linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(157, 94, 145, 0.97) 100%);
	background: -o-linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(157, 94, 145, 0.97) 100%);
	background: -webkit-linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(157, 94, 145, 0.97) 100%);
	background: -ms-linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(157, 94, 145, 0.97) 100%);
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 0%, rgba(157, 94, 145, 0.97) 100%); 
}

table.shop_table_responsive tr td .woo-wa-product-attributes li {
	text-align: left !important;
}

/*======================================= 
     Version 2.0 New Features 
=======================================*/

/* Free Shipping Progress Bar */
.wamsc-free-shipping {
	padding: 15px;
	margin-bottom: 10px;
	background: #f8f9fa;
	border-radius: 5px;
}

.wamsc-free-shipping-text {
	font-size: 13px;
	margin-bottom: 8px;
	color: #666;
	text-align: center;
}

.wamsc-free-shipping-reached .wamsc-free-shipping-text {
	color: #28a745;
	font-weight: 500;
}

.wamsc-free-shipping-bar {
	width: 100%;
	height: 8px;
	background: #e0e0e0;
	border-radius: 4px;
	overflow: hidden;
	position: relative;
}

.wamsc-free-shipping-progress {
	height: 100%;
	background: linear-gradient(90deg, #4CAF50 0%, #8BC34A 100%);
	transition: width 0.5s ease;
	border-radius: 4px;
}

/* Stock Warning */
.wamsc-stock-warning {
	display: block;
	font-size: 11px;
	color: #ff9800;
	margin-top: 4px;
	font-weight: 500;
}

/* Notification Toast */
.wamsc-notice {
	position: fixed;
	top: 20px;
	right: 20px;
	padding: 15px 20px;
	border-radius: 5px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	z-index: 999999999;
	max-width: 350px;
	font-size: 14px;
	line-height: 1.4;
	transform: translateX(400px);
	opacity: 0;
	transition: all 0.3s ease;
}

.wamsc-notice-show {
	transform: translateX(0);
	opacity: 1;
}

.wamsc-notice-success {
	background: #4CAF50;
	color: white;
}

.wamsc-notice-error {
	background: #f44336;
	color: white;
}

.wamsc-notice-info {
	background: #2196F3;
	color: white;
}

/* Admin bar adjustment */
.admin-bar .wamsc-notice {
	top: 52px;
}

@media screen and (max-width: 782px) {
	.admin-bar .wamsc-notice {
		top: 66px;
	}
	
	.wamsc-notice {
		right: 10px;
		left: 10px;
		max-width: none;
	}
}
