div.modal div.modal-backdrop {
    z-index: 0 !important;
}

.modal {
    text-align: center;
    padding: 0 !important;
}

.modal:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -4px;
}

.modal-dialog {
    display: inline-block;
    text-align: left;
    vertical-align: middle;
}

.coupon-img-container {
    position: relative;
    text-align: center;
    color: white;
}

.centered {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-10%, -50%);
}

.coupon-img {
    width: 180px;
}

#appleid-signin div {
    max-width: 100% !important;
    max-height: 60px !important;
}

@media only screen and (max-width: 768px) {
    .modal-dialog {
        width: 90% !important;
    }

    .centered {
        left: 40%;
    }
}

.modal .row-display_coupon:hover {
    background-color: #F0F0F0
}

@media only screen and (max-width: 500px) {
    .blockUI.blockMsg.blockPage {
        min-width: 150px !important;
        left: 30% !important;
    }
}

.btn-standard {
    width: auto !important;
    display: inline-block !important;
    background: #EFEFEF !important;
    color: #444444 !important;
    margin: auto 8px;
}

.abcRioButton.abcRioButtonBlue {
    max-width: 100%;
}


.custom-wrap .pop-up-wrap {
    display: inline-block;
    margin: 0 auto;
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    z-index: 2;
    top: 65px;
    box-shadow: 10px 10px 20px #CCCCCC
}

.custom-wrap .pop-up-wrap .pop-up-head-wrap {
    height: 85px;
    background: #F5F5F5;
    position: relative;
    border-bottom: 1px solid #CCCCCC
}

.custom-wrap .pop-up-wrap .pop-up-head-wrap .title {
    display: inline-block;
    font: bold 18px/55px "PT Sans";
    padding: 0 0 0 35px;
    margin: 15px 0;
    width: 410px;
    border-right: 1px solid #CCCCCC;
    text-transform: capitalize
}

.custom-wrap .pop-up-wrap .pop-up-head-wrap .close-btn {
    background: url(../img/button-icons.png) no-repeat scroll 0 -236px;
    right: 35px;
    top: 34px
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap {
    padding: 10px
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .input-box {
    border: 1px solid #CCCCCC;
    font: lighter 13px "PT Sans";
    height: 30px;
    margin: 0 0 15px;
    padding: 5px;
    width: 100%;
    min-width: 200px
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .input-box.sub {
    min-width: 200px;
    width: 100%;
    margin-right: 15px
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .select-wrap {
    display: block;
    position: relative
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .select-wrap .selection {
    border: 1px solid #CCCCCC;
    font: lighter 13px "PT Sans";
    height: 30px;
    margin: 0 0 15px;
    padding: 5px;
    width: 100%;
    min-width: 200px;
    background: url(../img/icons.png) no-repeat scroll right -1089px rgba(0, 0, 0, 0);
    cursor: pointer
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .select-wrap .drop-menu {
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    display: inline-block;
    left: 0;
    list-style: outside none none;
    margin: 0;
    max-height: 152px;
    overflow-y: auto;
    padding: 0;
    position: absolute;
    top: 29px;
    width: 100%;
    min-width: 200px;
    z-index: 1
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .select-wrap .drop-menu li {
    float: left;
    position: relative;
    text-align: left;
    width: 100%
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .select-wrap .drop-menu li a {
    color: #999999;
    display: block;
    padding: 0 10px;
    text-decoration: none;
    width: 100%;
    font: lighter 13px/30px "PT Sans"
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .select-wrap .drop-menu li a:hover {
    background: #F5F5F5
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .input-area {
    width: 100%;
    min-width: 200px;
    font: lighter 13px "PT Sans";
    border: 1px solid #CCCCCC;
    margin: 0 0 15px;
    padding: 5px;
    box-shadow: none
}

.custom-wrap .pop-up-wrap .pop-up-content-wrap .create-btn {
    min-width: 200px;
    width: 100%;
    height: 55px;
    font: bold 16px/55px "PT Sans";
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    margin-top: 10px;
    display: block;
    color: #FFFFFF;
    background: #0033CC
}

.phone-box span.input-label {
    vertical-align: top;
}

.phone-box span.input-wrap-mobile {
    display: inline-block;
    width: 348px
}

.phone-box input {
    width: 308px !important;
}

@media only screen and (max-width: 1110px) {
    .phone-box span.input-wrap-mobile {
        display: inline-block;
        width: 308px
    }
    .phone-box input {
        width: 268px !important;
    }
}

@media only screen and (max-width: 500px) {
    .phone-box span.input-wrap-mobile {
        display: inline-block;
        width: 180px
    }
    .phone-box input {
        width: 140px !important;
    }

    .main-container .confirmation-wrap .delivery-options-wrap .same-day {
        padding-top: 10px
    }

    .main-container .confirmation-wrap .delivery-options-wrap .same-day .custom-check {
        width: 30px;
        height: 30px;
    }
}

.phone-box .verify-sign {
    display: inline-block;
    width: 32px;
}

.phone-box .verify-sign img {
    width: 32px;
}

[v-cloak] {
    display: none !important
}

.noselect {
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
    -khtml-user-select: none; /* Konqueror HTML */
    -moz-user-select: none; /* Old versions of Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
    user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

#edit-address-modal .form .field {margin-bottom:10px;}
#edit-address-modal .form .label {display:block; margin-bottom:-2px; color:black !important; text-align:left !important; margin-left:-7px;}
#edit-address-modal .input {border-radius:0px; padding:3px 1px; border:1px solid #ccc; font-size:13px; font-family:'Prompt', sans-serif; background-color:#f2f2f2; width:100%; box-sizing:border-box;}
#edit-address-modal .label {font-size:13px !important; color:black; padding:0;}

.otp-input {
    width: 40px;
    height: 40px;
    font-size: 3rem;
    margin: 1rem;
    text-align: center;
}

@media only screen and (max-width: 500px) {
    .otp-input {
        width: 30px;
        height: 30px;
        font-size: 2rem;
        margin: 0.5rem;
        text-align: center;
    }
}

.hr-sect {
    display: flex;
    flex-basis: 100%;
    align-items: center;
    color: rgba(0, 0, 0, 0.35);
    margin: 8px 0px;
}
.hr-sect:before,
.hr-sect:after {
    content: "";
    flex-grow: 1;
    background: rgba(0, 0, 0, 0.35);
    height: 1px;
    font-size: 0px;
    line-height: 0px;
    margin: 0px 8px;
}

.login-btn-container {
    text-align: center;
    height: 40px;
}

.login-btn-container a.login-btn {
    width: 60% !important;
    height: 40px !important;
    font: bold 1.8rem/3.6rem "PT Sans" !important;
    margin: auto;
}


/* Authen check page style */
.authen-check-main-container {
    min-width: 320px;
}

@media screen and (max-width: 1100px) {
    .authen-check-main-container {
        margin-top: 80px !important;
    }
}

@media screen and (min-width: 1100px) {
    .authen-check-main-container {
        margin-top: 10px !important;
    }

}

.authen-result-wrap {
    position: relative;
}

/* Fast cart modal z-index fix - ensure modal appears above header menu */
.fast-cart-mobile2 {
    z-index: 10001 !important;
    margin-left: 0 !important;
    left: 0 !important;
    position: fixed !important;
    top: auto !important;
}

.bottom_fix {
    z-index: 10001 !important;
    bottom: 0% !important;
    position: fixed !important;
    top: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.fade-box {
    z-index: 10000 !important;
}

/* Mobile menu border color fix - change blue border to light gray harmonize with menu */
.header-container .list-drop .onclick-menu li .sub-top {
    border-top: 1px solid #999999 !important;
    border-right: 1px solid #999999 !important;
}

/* Supplement fact popup - z-index higher than header */
.supfact-popup {
    z-index: 10002 !important;
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
    top: 0 !important;
    left: 0 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0.5) !important;
}

.supfact-popup[style*="display: inline-block"] {
    display: flex !important;
}

.supfact-popup-wrap {
	z-index: 10002 !important;
	width: 95% !important;
	max-width: 500px !important;
	height: 90vh !important;
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	background: white !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	padding-top: 50px !important;
}

.close_popup_supfact {
	position: absolute !important;
	top: 10px !important;
	right: 15px !important;
	font-size: 28px !important;
	font-weight: bold !important;
	cursor: pointer !important;
	color: #333 !important;
	z-index: 10004 !important;
	line-height: 1 !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
}

.close_popup_supfact:hover {
	color: #000 !important;
}

.supfact-popup-wrap .size-select,
.supfact-popup-wrap .flavour-select {
	margin: 8px auto !important;
	padding: 6px 8px !important;
	border: 1px solid #ddd !important;
	border-radius: 4px !important;
	width: 85% !important;
	max-width: 100% !important;
	display: block !important;
	font-size: 14px !important;
    font-weight: bold !important;
}

.supfact-fda {
	margin: 8px auto !important;
	padding: 8px !important;
	border: 1px solid #eee !important;
	background: #f9f9f9 !important;
	text-align: center !important;
	width: 85% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	flex-shrink: 0 !important;
}

.fda-text {
	font-size: 14px !important;
	color: #666 !important;
	margin-bottom: 3px !important;
	font-weight: bold !important;
}

.supfact-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    flex: 1 !important;
    padding: 15px !important;
    box-sizing: border-box !important;
}

/* Desktop: center the fast cart modal */
@media only screen and (min-width: 1100px) {
    .fast-cart-mobile2.bottom_fix {
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin-left: 0 !important;
    }
}

/* ==========================================
   Product Detail Protein Guarantee Table
   (Same style as fitwhey_sure)
   ========================================== */

/* Table Responsive Wrapper */
#lab_report .table-responsive {
    overflow-x: auto;
    border: none;
    margin: 0;
}

/* Lab Result Table Styles */
#lab_report .lab-result-content {
    width: 100%;
    border-collapse: collapse;
    border: none;
    margin-bottom: 0;
    background: white;
}

#lab_report .lab-result-content thead {
    background: linear-gradient(135deg, rgba(220, 0, 0, 0.08) 0%, rgba(220, 0, 0, 0.04) 100%);
}

#lab_report .table-heading-wrap {
    border-bottom: 2px solid #ddd;
}

#lab_report .table-heading {
    padding: 14px 10px;
    text-align: center;
    font-weight: 600;
    font-size: 12px;
    color: #333;
    border-right: 1px solid #f0f0f0;
    border-bottom: 2px solid #ddd;
    word-break: break-word;
}

#lab_report .table-heading:last-child {
    border-right: none;
}

#lab_report .table-heading small {
    display: block;
    font-size: 10px;
    color: #888;
    margin-top: 3px;
    font-weight: 400;
}

/* Table Body Rows */
#lab_report .table-content-wrap {
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
}

#lab_report .table-content-wrap.table-row-passed {
    background-color: rgba(76, 175, 80, 0.03);
}

#lab_report .table-content-wrap.table-row-passed:hover {
    background-color: rgba(76, 175, 80, 0.08);
}

#lab_report .table-content-wrap.table-row-failed {
    background-color: rgba(244, 67, 54, 0.03);
}

#lab_report .table-content-wrap.table-row-failed:hover {
    background-color: rgba(244, 67, 54, 0.08);
}

#lab_report .table-content {
    padding: 12px 10px;
    text-align: center;
    font-size: 13px;
    color: #333;
    border-right: 1px solid #f0f0f0;
    vertical-align: middle;
}

#lab_report .table-content:last-child {
    border-right: none;
}

/* Status Badge Styles */
#lab_report .status-badge {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

#lab_report .status-badge.passed {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.2) 0%, rgba(76, 175, 80, 0.1) 100%);
    color: #2e7d32;
    border: 1px solid rgba(76, 175, 80, 0.3);
}

#lab_report .status-badge.failed {
    background: linear-gradient(135deg, rgba(244, 67, 54, 0.2) 0%, rgba(244, 67, 54, 0.1) 100%);
    color: #c62828;
    border: 1px solid rgba(244, 67, 54, 0.3);
}

#lab_report .status-badge small {
    display: block;
    font-size: 9px;
    margin-top: 2px;
}

#lab_report .status-passed {
    color: #2e7d32;
}

#lab_report .status-failed {
    color: #c62828;
}

/* Product Info Styles */
#lab_report .product-info {
    text-align: left;
    line-height: 1.6;
}

#lab_report .product-brand {
    font-size: 11px;
    color: #666;
    margin-bottom: 3px;
}

#lab_report .product-name {
    font-size: 13px;
    font-weight: bold;
    color: #333;
    margin-bottom: 3px;
}

#lab_report .product-flavour {
    font-size: 12px;
    font-style: italic;
    color: #888;
}

/* Lot Info Styles */
#lab_report .lot-info {
    text-align: center;
    line-height: 1.5;
}

#lab_report .lot-info code {
    display: block;
    background: #f5f5f5;
    padding: 4px 6px;
    border-radius: 3px;
    font-size: 11px;
    font-family: 'Courier New', monospace;
    margin-bottom: 4px;
    font-weight: 500;
}

#lab_report .lot-info strong {
    display: block;
    font-size: 12px;
    color: #333;
}

/* Protein Values */
#lab_report .protein-claim,
#lab_report .protein-lab {
    text-align: center;
    font-weight: 600;
    font-size: 14px;
}

#lab_report .protein-lab.success {
    color: #2e7d32;
    background: rgba(76, 175, 80, 0.1);
    border-radius: 4px;
    padding: 8px 10px;
}

#lab_report .protein-lab.fail {
    color: #c62828;
    background: rgba(244, 67, 54, 0.1);
    border-radius: 4px;
    padding: 8px 10px;
}

/* Percentage Badge */
#lab_report .percentage-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 4px;
    font-weight: 600;
    font-size: 12px;
}

#lab_report .percentage-badge.good {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.2) 0%, rgba(76, 175, 80, 0.1) 100%);
    color: #2e7d32;
    border: 1px solid rgba(76, 175, 80, 0.3);
}

#lab_report .percentage-badge.warning {
    background: linear-gradient(135deg, rgba(244, 67, 54, 0.2) 0%, rgba(244, 67, 54, 0.1) 100%);
    color: #c62828;
    border: 1px solid rgba(244, 67, 54, 0.3);
}

/* Amino Spike Free Logo */
#lab_report .amino-spike {
    text-align: center;
}

#lab_report .spike-free-logo {
    max-width: 40px;
    height: auto;
    display: inline-block;
}

/* Test Result Link */
#lab_report .test-result {
    text-align: center;
}

#lab_report .result-link {
    display: inline-block;
    padding: 8px 12px;
    background: linear-gradient(135deg, #dc0000 0%, #b30000 100%);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.3s ease;
    cursor: pointer;
}

#lab_report .result-link:hover {
    background: linear-gradient(135deg, #b30000 0%, #8b0000 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(220, 0, 0, 0.3);
}

#lab_report .result-link:active {
    transform: translateY(0);
}

#lab_report .result-link small {
    display: block;
    font-size: 10px;
    margin-top: 2px;
}

/* ==========================================
   Product Detail Image Popup - Z-index Fix
   Ensure image popup appears above fixed header
   on promotion detail pages
   ========================================== */

/* Image popup wrapper - higher than header (10000) */
.pd-img-popup {
	z-index: 10001 !important;
	position: fixed !important;
}

.pd-img-popup-wrap {
	z-index: 10001 !important;
	position: relative !important;
    top: 10% !important;
    left: auto !important;
    margin: auto !important;
    transform: none !important;
    overflow: auto !important;
}

.pd-img-popup .pd-img-popup-wrap .img-right {
    text-align: left !important;
}

.close-popup {
	z-index: 10002 !important;
}

.jssor_2 {
    top: auto !important;
    left: auto !important;
    margin: auto !important;
}

/* Mobile Responsive Table */
@media only screen and (max-width: 768px) {
	#lab_report .table-responsive {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

    #lab_report .table-heading {
        padding: 10px 6px;
        font-size: 11px;
    }

    #lab_report .table-heading small {
        font-size: 9px;
        margin-top: 2px;
    }

    #lab_report .table-content {
        padding: 10px 6px;
        font-size: 12px;
    }

    #lab_report .product-info {
        text-align: left;
    }

    #lab_report .product-brand {
        font-size: 10px;
    }

    #lab_report .product-name {
        font-size: 12px;
    }

    #lab_report .product-flavour {
        font-size: 11px;
    }

    #lab_report .lot-info code {
        font-size: 10px;
        padding: 3px 5px;
    }

    #lab_report .lot-info strong {
        font-size: 11px;
    }

    #lab_report .result-link {
        padding: 6px 10px;
        font-size: 11px;
    }

    #lab_report .result-link small {
        font-size: 9px;
    }
}
