#dialog_overlay {   background: none repeat scroll 0 0 #000000;  bottom: 0;  display: none;   left: 0; position: fixed;   right: 0;  top: 0;  z-index: 1100;  opacity: 0.2; }
	
#dialog_box { position:absolute; left:20%; 	right:20%; 	border:8px solid #666; 	background-color:#f9f9f9; padding:10px;	z-index:1200;	display:none;	}
		
#dialog_box .close { width:100%; text-align:right;	}
#dialog_box .close .txt { color:#000;	font-family:Verdana, Geneva, sans-serif; cursor:pointer; font-size:13px; font-weight:bold; }
#dialog_data{ overflow:scroll; 	max-height:400px;	overflow-X:hidden; 	padding-bottom:20px; }
.instant_error {  padding:5px;   background-color:#ffeeee;   color:#FF0000; font-family:Verdana, Geneva, sans-serif;   font-size:9px;   border:1px solid #F00; }

.anchr { color:#0085F9; font-family:Tahoma, Geneva, sans-serif;   text-decoration:underline; }
.anchr:visited {  color:#0085F9; font-family:Tahoma, Geneva, sans-serif; text-decoration:underline; }

.dev_more_link {
  width:90%; padding:5px; margin-top:1px; text-align:center;  background-color:#efefef;  font-family:Verdana, Geneva, sans-serif; font-size:11px;  border:1px solid #ddd;
}


#dialog_box_for_admin {	width:267px;top:4%; left:34%; 	right:34%; 	border:4px solid #F30; 	background-color:#f9f9f9; 
		padding:4px; z-index:1200; float:right;  text-align:center; }
		
	
.error{ font-size:10px; color:#FF0000; float:left; margin-left:55px; }

img:-moz-broken,
img:-moz-user-disabled { -moz-force-broken-image-icon: 1; }
img:-moz-broken:not([width]),
img:-moz-user-disabled:not([width]) {	width: 30px; }
img:-moz-broken:not([height]),
img:-moz-user-disabled:not([height]) {	height: 30px; }



.info, .success, .warning, .error, .validation {
        margin: 10px 10px 10px 10px;
        padding:8px 8px 8px 40px;
        background-repeat: no-repeat;
        background-position: 10px center;
		text-align:left;
    }
    .info {
        font-family:Arial, Helvetica, sans-serif; 
        font-size:13px;
        color: #00529B;
        background-color: #BDE5F8;
        background-image: url(../images/info.png);
    }
    .success {
        font-family:Arial, Helvetica, sans-serif; 
        font-size:13px;
        color: #4F8A10;
        background-color: #e9e9e9;
        background-image:url(../images/success.png);
    }
    .warning {
        font-family:Arial, Helvetica, sans-serif; 
        font-size:13px;
        color: #9F6000;
        background-color: #FEEFB3;
        background-image: url(../images/validation.png);
    }
    .error {
        font-family:Arial, Helvetica, sans-serif; 
        font-size:13px;
        color: #D8000C;
        width:94%;
        background-color: #FFBABA;
        background-image: url(../images/error.png);
    }
    .validation {
        font:1.3em/1.5em "Trebuchet MS", Arial, Helvetica, sans-serif;
        background: #eee url(../images/error.png) 7px 5px no-repeat;
    }
	.validation_msg div{ margin-left:20px; display:list-item; list-style: inside; list-style-type:circle;}
	.validation_msg p{font-size: 11px;font-weight: bold;line-height: 10px;font-family:Arial, Helvetica, sans-serif;  ;}
	
	.validation_msg *{font:.9em/1.4 arial; color:#c00 }		

    #alert_box{width:100%; height:100%; overflow:hidden; background-color:#222; background:rgba(1,1,1,.8); position:fixed; left:0; top:0; z-index:9999}
	#alert_box .alert_area, * html .alert_area{
		position:fixed; z-index:9999; left:30%; width:40%; border:8px solid #666; border-radius:10px; box-shadow:0 0 2px 5px rgba(2,2,2,.7); top:25%; background-color:#f9f9f9; padding:10px;
	}
	#alert_box .close{
		width:100%; text-align:right;	
	}
	#alert_box .close .txt{
		color:#F00; font:bold 12px Arial, Helvetica, sans-serif; cursor:pointer;
	}
	
.required {
	font-size:12px;
	color: #FF0000;
	font-weight: bold;
}

a.morelink {
	text-decoration:underline;
	color:#3b5998;
	
}
.morecontent span {
	display: none;
}

.breadcrumb_sitepanel{color:#333; text-align:left; font:normal 11px/24px Tahoma, Geneva, sans-serif;  padding:5px 10px 2px; background:#f1f1f1; border-top:1px solid #f9bf48;}
.breadcrumb_sitepanel a, .breadcrumb_sitepanel a:visited{ color:#000; text-decoration:underline; padding:0px 3px; margin:0px 3px; }
.breadcrumb_sitepanel a:hover{ text-decoration:underline; color:#6a8d46}
.breadcrumb_sitepanel b{color:#333;}
.breadcrumb_sitepanel strong{color:#6a8d46; margin-left:4px;}

.red{color:red}
.b{font-weight: bold;}

.post-photo{ float:left; margin:4px; width:60px; height:56px; text-align:center; overflow:hidden; border:#FFFFFF 2px solid; box-shadow:#ccc 2px 2px 2px; position:relative;}
.post-photo span{ width:100px; height:150px; vertical-align:middle; display:table-cell;}

.bck_loading{
background: url(../images/ref.png) 90% 40% no-repeat !important;
}

.loading-circle{
background: url(../images/ref.png) 90% 40% no-repeat !important;
}

.overlay_enable{
	opacity:0.5;
	pointer-events:none;
}

.disabled_btn{
	opacity:0.5;
	pointer-events:none;
}

.disabled_crsr{
	cursor:not-allowed;
}

.custom_progress {
		height: 30px;
		display: none;
}

.custom_progress span {
		font-weight: bold;
		display: inline-block;
		margin-top: 5px;
		padding: 0 5px;
}
.completed:after {
  content:"\2713";
  display:inline-block;
  vertical-align: top;
  line-height: 1em;
  width: 1em;
  height:1em;
  margin-right: 0.3em;
  text-align: center;
  color: #3D550C;
	font-size:18px;
	font-weight:bold;
}

.rm_outline:focus{
 outline: none ! important;
 outline-width: 0;
 box-shadow:none;
}

@media print{
header,footer,input[type=button],input[type=submit],.noprint{display:none !important;visibility:hidden}
a[href]:after {content: none !important;}
}

.dt_cal_img{
position: absolute;
top: 46%;
right: 5%;
cursor:pointer;
}

.dt_cal_img[disabled]{
cursor:default;
}

.crsr_default{
	cursor:default !important;
}

.btn-back{
	background-Color:#ccc !important;
}
.btn-next{
	background-Color:#ccc !important;
}

.w-20{
	width:20% !important;
}

.w-30{
	width:30% !important;
}

.w-40{
	width:40% !important;
}

.w-60{
	width:60% !important;
}

.w-70{
	width:70% !important;
}

.overlay_enable_tp_cart{
  opacity:1;
  pointer-events:none;
}

#loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
#loader-overlay.active {
  display: flex;
}
.loader {
  border: 6px solid #f3f3f3;
  border-top: 6px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.cart-bump {
  animation: cartBump 0.3s ease;
}

@keyframes cartBump {
  0%   { transform: scale(1);   }
  50%  { transform: scale(1.3); }
  100% { transform: scale(1);   }
}

.stqty.crt_success {
  background-color: #d4edda;   /* light green */
  border-color: #28a745;       /* green border */
  transition: background-color 0.5s ease, border-color 0.5s ease;
}

.stqty.crt_error {
  background-color: #f8d7da;   /* light red */
  border-color: #dc3545;       /* red border */
  transition: background-color 0.5s ease, border-color 0.5s ease;
}
.shipping-options {
  max-height: 300px;
  overflow-y: auto;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);

  /* smooth scrolling look */
  scrollbar-width: thin;           /* Firefox */
  scrollbar-color: #bbb #f5f5f5;
}
.shipping-options::-webkit-scrollbar {
  width: 6px;
}
.shipping-options::-webkit-scrollbar-track {
  background: #f5f5f5;
}
.shipping-options::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 4px;
}
.shipping-options::-webkit-scrollbar-thumb:hover {
  background: #999;
}

.carrier_head {
  margin: 20px 0 10px;
  font-size: 18px;
  color: #333;
  border-bottom: 2px solid #eee;
  padding-bottom: 5px;
}

.carrier_head small {
  font-weight: normal;
  color: #888;
  font-size: 13px;
}

.carrier_service_list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.carrier_service_list li {
  margin-bottom: 10px;
}

.carrier_service_list label {
  display: flex;
  align-items: center;
  background: #f9f9f9;
  padding: 10px 15px;
  border-radius: 8px;
  border: 1px solid #ddd;
  cursor: pointer;
  transition: all 0.2s ease;
}

.carrier_service_list input[type="radio"] {
  margin-right: 10px;
  accent-color: #007bff; /* Modern browsers */
}

.carrier_service_list label span {
  flex-grow: 1;
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: #444;
}

.carrier_service_list label:hover {
  background: #f1f9ff;
  border-color: #007bff;
}

.carrier_service_list input[type="radio"]:checked + span {
  font-weight: bold;
  color: #007bff;
}

 #pay_btn_gt {
    display: none; /* hidden until Stripe element ready */
    background: linear-gradient(135deg, #635bff, #00bfff);
    color: white;
    font-size: 1rem;
    font-weight: 600;
    padding: 14px 28px;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(0,0,0,0.2);
    transition: all 0.25s ease;
    margin-top:5px;
  }

  #pay_btn_gt:hover:not(:disabled) {
    background: linear-gradient(135deg, #4b42d6, #0099cc);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.25);
  }

  #pay_btn_gt:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background: #aaa;
    box-shadow: none;
  }