/* Floating Button */
#lw-floating-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: auto;
    min-width: 60px;
    height: 60px;
    background-color: var(--lw-coupon-color, '#3b82f6');
    color: white;
    font-size: 18px;
    text-align: center;
    line-height: 60px;
    border-radius: 50px;
    cursor: pointer;
    z-index: 9999;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

#lw-floating-btn:hover {
    background-color: color-mix(in srgb, var(--lw-coupon-color, '#3b82f6') 50%, transparent);
}

/* Menu Panel */
#lw-menu-panel {
    position: fixed;
    bottom: 90px;
    right: 20px;
    width: 350px;
    height: 500px;
    background: linear-gradient(90deg, rgb(254, 254, 254) 0%, rgb(236, 236, 236) 100%);
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
    display: none;
    z-index: 9999;
    overflow: hidden;
}

@media (max-height: 600px) {
    #lw-menu-panel {
        height: 300px;
    }
}

/* Menu list (top buttons) */
#main-area-list {
    list-style: none;
    margin: 0;
    padding: 10px;
    border-bottom: 1px solid #eee;
    flex-shrink: 0;
}

.main-area-list-item {
    padding: 20px;
    cursor: pointer;
    border-radius: 10px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    margin-bottom: 5px;
    font-size: 14px;
    font-weight: bold;
}

.main-area-list-item:hover {
    background: #f1f1f1;
}

/* Panel content */
#lw-panel-content {
    flex-grow: 1;
    overflow-y: auto;
    padding: 10px;
    min-height: 0;
    scroll-behavior: smooth;
}

.lw-panel-section {
    display: none;
}

/* Checkout box */
#lw-checkout-box {
    background: #f1f1f1;
    padding: 10px;
    margin-bottom: 15px;
    border-radius: 6px;
    font-size: 8px;
}

#lw-menu-balance-section {
    padding: 10px 20px;
    text-align: center;
    flex-shrink: 0;
}

#lw-menu-balance-section:focus,
#lw-menu-balance-section:active {
    outline: none !important;
    box-shadow: none !important;
}

.subtext {
    font-size: 18px;
    font-weight: bold;
}

#balance-diplay {
    font-size: 44px;
    margin-top: -10px;
    margin-bottom: -10px;
    font-weight: bold;
}

#tier-display {
    border-radius: 20px;
    border: 1px solid black;
    width: 100px;
}

.subtext-a {
    font-size: 12px;
}

#lw-scroll-area {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

#tier-display-main {
    display: flex;
    justify-content: center;
}

#header {
    background-color: var(--lw-coupon-color, '#3b82f6');
    color: white;
    padding-left: 20px;
}

.mini-subtext {
    font-size: 10px;
    font-weight: bold;
}

#title {
    font-size: 19px;
    font-weight: bold;
    margin-top: -15px;
    margin-bottom: 5px;
}

.panel-card {
    display: flex;
}

.panel-card-content-title {
    flex: 10;
}

.panel-card-content-other {
    flex: 1;
}

.balance-display {
    font-size: 44px;
    font-weight: bold;
    margin: -15px 0px 5px 0px;
}

.panel-card-icon {
    flex: 2;
    filter: grayscale(100%) brightness(75%);
}

.sub-panel-card {
    display: flex;
}

.sub-panel-text {
    flex: 10;
    font-size: 10px;
}

.sub-panel-dummy {
    flex: 2;
}

.panel-section-title-area {
    display: flex;
}

.panel-section-back {
    flex: 1;
    cursor: pointer;
}

.panel-section-back:focus,
.panel-section-back:active {
    outline: none !important;
    box-shadow: none !important;
}

.panel-section-title {
    flex: 10;
    font-weight: bold;
    font-size: 20px;
}

#loyalty-about {
    font-size: 12px;
    padding: 5px 15px 5px 15px;
    margin: 18px;
    border-radius: 10px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}

.mini-subtext-normal {
    font-size: 14px;
}

#earn-section-main {
    padding: 20px;
}

.panel-section-card {
    font-size: 16px;
    padding: 20px 25px 20px 25px;
    margin: 20px 0px 20px 0px;
    border-radius: 10px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    background-color: #ebeaea;
}

.earn-card-title {
    font-weight: bold;
    font-size: 18px;
    margin-bottom: 10px;
}

.earn-card-content {
    font-size: 15px;
    text-align: justify;
}

.benefits-card-main {
    display: flex;
}

.benefits-card-main-item {
    flex: 1;
}

.benefits-card-sub {
    flex: 10;
}

.benefits-card-active {
    flex: 2;
    background-color: var(--lw-coupon-color, '#3b82f6');
    border-radius: 30px;
    color: white;
    font-size: 12px;
    padding: 10px;
    text-align: center;
}

.benefits-card-sub-item1 {
    font-weight: bold;
    font-size: 18px;
}

.benefits-card-sub-item2 {
    font-size: 13px;
    color: #717171;
}

.active-tier {
    border: 2px solid var(--lw-coupon-color, '#3b82f6');
}

.coupon-card {
    display: flex;
}

.coupon-card-item1 {
    flex: 5;
}

.coupon-card-item2 {
    flex: 5;
    display: grid;
    justify-content: right;
}

.active-coupon {
    font-size: 9px;
    font-weight: bold;
    background-color: lightseagreen;
    color: white;
    border-radius: 20px;
    padding: 5px 5px 0px 5px;
    width: 60px;
    text-align: center;
    margin-top: 40%;
    height: 20px;
}

.used-coupon {
    font-size: 9px;
    font-weight: bold;
    background-color: darkgray;
    color: white;
    border-radius: 20px;
    padding: 5px 5px 0px 5px;
    width: 60px;
    text-align: center;
    margin-top: 40%;
    height: 20px;
}

.coupon-discount {
    font-size: 12px;
    color: gray;
    margin-top: -10px;
}

.coupon-card-details {
    font-size: 9px;
    color: #717171;
}

.coupon-card-btn-group {
    display: flex;
    margin: 20px 0px 20px 0px;
}

.coupon-card-copy {
    flex: 5;
    padding: 10px;
    color: var(--lw-coupon-color, '#3b82f6');
    border: 1px solid var(--lw-coupon-color, '#3b82f6');
    border-radius: 30px;
    width: full;
    margin-right: 10px;
    cursor: pointer;
    text-align: center;
    font-size: 16px;
}

.coupon-card-apply {
    flex: 5;
    padding: 10px;
    background-color: var(--lw-coupon-color, '#3b82f6');
    color: white;
    border-radius: 30px;
    width: full;
    cursor: pointer;
    text-align: center;
    font-size: 16px;
    border: 0.5px solid var(--lw-coupon-color, '#3b82f6');
}

.coupon-card-copy:hover {
    background-color: rgb(207, 222, 249);
}

.coupon-card-apply:hover {
    background-color: color-mix(in srgb, var(--lw-coupon-color, '#3b82f6') 50%, transparent);
}

#message-display {
    background-color: green;
    color: white;
    border-radius: 10px;
    padding: 10px;
    position: fixed;
    right: 0;
    margin-top: -30px;
    opacity: 90%;
    margin-right: 10px;
}

#off {
    filter: brightness(100);
}

#on {
    filter: brightness(100);
    padding: 0px 15px 0px 10px;
}

#redeem-main {
    text-align: center;
}

.redeem-subtext {
    font-size: 12px;
    color: gray;
    padding: 10px 0px 10px 0px;
    font-weight: bold;
}

.left-text {
    text-align: left !important;
    font-size: 12px !important;
}

#redeem-btn {
    border-radius: 20px;
    width: full;
    background-color: var(--lw-coupon-color, '#3b82f6');
    color: white;
    cursor: pointer;
    padding: 10px;
    border: 0.5px solid var(--lw-coupon-color, '#3b82f6');
}

#redeem-btn:hover {
    background-color: color-mix(in srgb, var(--lw-coupon-color, '#3b82f6') 50%, transparent);
}

.slide-container {
    width: 100%;
    margin-top: 10px;
}

.redeem-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 5px;
    background: #d3d3d3;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

.redeem-slider:hover {
    opacity: 1;
}

.redeem-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: rgb(2, 51, 132);
    cursor: pointer;
    border-radius: 50%;
}

.redeem-slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    background: var(--lw-coupon-color, '#3b82f6');
    cursor: pointer;
    border-radius: 50%;
}

.slider-result {
    text-align: right;
}

#redeem-success-main {
    text-align: center;
}

#tick-parent {
    display: grid;
    place-items: center;
}

#tick {
    background-color: green;
    border-radius: 50%;
    width: 30px;
    padding: 8px;
    color: white;
    font-weight: bold;
}

#redeem-success-details {
    background-color: rgb(189, 187, 187);
    border-radius: 20px;
    padding: 20px;
    margin-top: 10px;
}

#redeem-details-div {
    display: flex;
    margin-bottom: 20px;
}

#redeem-details-sub1 {
    flex: 5;
    text-align: left !important;
}

#redeem-success-content {
    text-align: center;
}

#signup-area {
    text-align: center;
    padding: 20px;
}

.signup-card {
    border: 2px solid var(--lw-coupon-color, '#3b82f6');
    border-radius: 20px;
    padding: 20px;
    margin: 20px 0px 20px 0px;
}

.signup-card-title {
    font-size: 14px;
    font-weight: bold;
    text-align: left;
    margin: 10px 0px 10px 0px;
}

.signup-btn {
    border-radius: 30px;
    width: auto;
    padding: 15px;
    color: white;
    background-color: var(--lw-coupon-color, '#3b82f6');
    margin: 10px 0px 10px 0px;
    cursor: pointer;
    font-size: 16px;
    border: 0.5px solid var(--lw-coupon-color, '#3b82f6');
}

.signup-btn:hover {
    background-color: color-mix(in srgb, var(--lw-coupon-color, '#3b82f6') 50%, transparent);
}

.signup-card-id {
    text-align: left;
    margin-top: -35px;
    background: white;
    width: max-content;
    padding: 0px 5px 0px 5px;
    color: var(--lw-coupon-color, '#3b82f6');
    border-radius: 50px;
}

.mini-subtext-noneb {
    font-size: 10px;
}

#mini-tick-parent {
    display: grid;
    place-items: center;
    margin-top: -23px;
    position: sticky;
}

#mini-tick {
    background-color: green;
    border-radius: 50%;
    width: 28px;
    padding: 2px;
    color: white;
    font-weight: bold;
    margin-left: 225px;
}

.lw-phone-wrapper {
    margin: 10px 0;
}

.lw-phone-wrapper input {
    width: 100%;
    padding: 10px;
    font-size: 12px;
    border-radius: 18px;
}

.iti__selected-flag {
    font-size: 12px;
}

.iti__dial-code {
    font-size: 12px;
}

.iti__country {
    font-size: 12px;
}

/* Search input inside dropdown */
.iti__search-input {
    font-size: 9px;
}

#lw-otp-inputs {
    display: flex;
    justify-content: space-between;
    max-width: 250px;
    margin: 10px 0;
}

#lw-otp-inputs input.lw-otp {
    width: 35px;
    height: 45px;
    text-align: center;
    font-size: 18px;
    border: 1px solid #ccc;
    border-radius: 6px;
}

#lw-menu-panel a {
    cursor: pointer;
    color: blue;
    font-size: 16px;
}

/* Checkout Redeem Box */
.lw-redeem-box {
    background: #faf5ff;
    border: 2px solid #7c3aed;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 20px;
    font-size: 8px;
}

.lw-redeem-box h4 {
    margin: 0 0 10px;
    color: #4A148C;
}

.lw-redeem-row {
    display: flex;
    gap: 10px;
    margin: 10px 0;
}

#lw-checkout-redeem-input {
    flex: 1;
    padding: 8px;
    border-radius: 6px;
    border: 1px solid #ccc;
}

#lw-checkout-redeem-btn {
    background: #4A148C;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 8px 15px;
    cursor: pointer;
}

#lw-checkout-redeem-btn:hover {
    opacity: 0.9;
}

.lw-earn-text {
    font-size: 7px;
    color: #333;
    margin-top: 8px;
}

#lw-redeem-msg {
    margin-top: 5px;
    font-size: 6px;
    color: green;
}

.mini-subtext-noneb a {
    font-size: 10px !important;
}

.db-background {}

#pn-err {
    font-size: 8px;
    color: red;
}

#star-b {
    filter: hue-rotate(-25deg) saturate(1.3) brightness(0.85) contrast(1.15);
}

#star-s {
    filter: grayscale(1) brightness(0.7) contrast(1.5) hue-rotate(-5deg);
}

.form-table th.required-field::after {
    content: ' *';
    color: red;
}