:root {
    --main_color: #E63E33;
    --secondary_color: #FCEDD7;
    --tertier_color: #E05733;
    --tertier_color_dark: #D04B2A;
    --mini_font_size: 8px;
    --small_font_size: 10px;
    --default_font_size: 12px;
    --subtitle_font_size: 14px;
    --title_font_size: 16px;
    --big_font_size: 18px;
    --huge_font_size: 20px;
}

html,
body {
    font-size: var(--default_font_size);
}

.page__content {
    background-color: white !important;
}

.rounded {
    border-radius: 12px !important;
}

.circle {
    border-radius: 100%;
}

.border_bottom {
    border-bottom: thin solid var(--tertier_color);
}

.form-check-input {
    width: 4em !important;
    height: 2em !important;    
}

.form_label {
    display: block;
    font-size: var(--subtitle_font_size);
    font-weight: bold;
    margin-bottom: 2px;
    color: var(--main_color);
    transition: color 0.3s ease;
}

.form_control {
    width: 100%;
    padding: 12px 16px;
    font-size: var(--title_font_size);
    border: none;
    border-bottom: 1px solid #ccc;
    background-color: #fff;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.form_control:focus {
    outline: none;
    border-color: var(--tertier_color);
    box-shadow: 0 0 8px var(--tertier_color);
}

.form_control::placeholder {
    color: #888;
    opacity: 1;
}

.form_error {
    border-color: red;
}

.toolbar_icon {
    color: var(--main_color);
}

.toolbar_image_icon {
    width: auto;
    height: 60%;
    object-fit: contain;
}

.toolbar {
    background: linear-gradient(to bottom, #faeee5, #ffffff);
}

.toolbar>div {
    color: #e93f33;
}

.toolbar>.center {
    font-weight: 900;
}

.tabbar {
    background-color: var(--main_color);
    padding-top: 4px;
    height: 52px;
}

.tabbar__button {
    color: white !important;
    line-height: 20px !important;
}

.tab_image {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin: auto;
    display: block;
}

.fw-boldest {
    font-weight: 1000;
}

.mini_text {
    font-size: var(--mini_font_size);
}

.small_text {
    font-size: var(--small_font_size);
}

.sub_title {
    font-size: var(--subtitle_font_size);
}

.title {
    font-size: var(--title_font_size);
}

.big_title {
    font-size: var(--big_font_size);
}

.huge_title {
    font-size: var(--huge_font_size);
}

.text_theme_color {
    color: var(--main_color);
}

.text_tertier_color {
    color: var(--tertier_color);
}

.bg_theme_color {
    background-color: var(--main_color) !important;
    color: white !important;
}

.bg_tertier_color {
    background-color: var(--tertier_color) !important;
    color: white !important;
}

.text_secondary {
    color: #888;
}

.horizontal_scrolling {
    display: flex; /* Makes the content align in a row */
    overflow-x: auto; /* Enables horizontal scrolling */
    white-space: nowrap; 
    scrollbar-width: none;
}

.theme_button {
    color: white;
    background-color: var(--tertier_color);
    font-weight: bold;
    padding: 5px;
    text-align: center;
    border-color: var(--tertier_color);
    border-radius: 4px;
    transition: all 0.3s ease;
}

.theme_button:hover {
    background-color: var(--tertier_color_dark);
    border-color: var(--tertier_color_dark);
}

.theme_button:active {
    background-color: var(--tertier_color_dark);
    border-color: var(--tertier_color_dark);
    transform: translateY(2px);
}

.theme_button:focus {
    outline: none;
    box-shadow: 0 0 5px var(--tertier_color);
}

.theme_button:disabled {
    background-color: #ccc;
    border-color: #bbb;
    cursor: not-allowed;
    opacity: 0.6;
}

.secondary_button {
    color: var(--tertier_color);
    background-color: white;
    font-weight: bold;
    padding: 5px;
    text-align: center;
    border-color: var(--tertier_color);
    border-radius: 4px;
    transition: all 0.3s ease;
}

.secondary_button:hover {
    background-color: var(--tertier_color);
    color: white;
    border-color: var(--tertier_color_dark);
}

.secondary_button:hover {
    background-color: var(--tertier_color_dark);
    border-color: var(--tertier_color_dark);
    transform: translateY(2px);
}

.secondary_button:focus {
    outline: none;
    box-shadow: 0 0 5px var(--tertier_color);
}

.secondary_button:disabled {
    background-color: #f2f2f2;
    border-color: #e0e0e0;
    color: #bbb;
    cursor: not-allowed;
    opacity: 0.6;
}

.other_button {
    color: red;
    background-color: white;
    font-weight: bold;
    padding: 5px;
    text-align: center;
    border: none;
    transition: all 0.3s ease;
}

.instruction {
    font-size: var(--subtitle_font_size);
    text-align: justify;
    font-weight: bold;
}

.list_item_title {
    font-size: var(--title_font_size);
}

.list_item_icon {
    font-size: var(--title_font_size);
}

.normal_price_container {
    background-color: #ccc;
    border-radius: 12px;
    padding: 4px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.normal_price_container > div {
    background-color: white;
}

.vip_price_container {
    background: radial-gradient(circle at 0% 0%,rgb(255 204 0 / 100%),rgb(178 34 34 / 0%) 60%),
                radial-gradient(circle at 100% 100%,rgb(255 204 0 / 100%),rgb(178 34 34 / 0%) 60%),
                radial-gradient(rgb(178 34 34 / 100%),rgb(178 34 34 / 100%));;
    border-radius: 12px;
    padding: 4px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.vip_price_container > div {
    background-color: #fff8dc;
}

.homepage_header_logo {
    width: auto;
    height: 70%;
    object-fit: contain;
}

.homepage_border {
    border: thin solid var(--tertier_color);
    border-radius: 16px;
}

.homepage_product {
    background-color: var(--secondary_color);
    border: thin solid var(--tertier_color);
    border-radius: 16px;
}

.homepage_banner {
    border-radius: 16px;
}

.product_list_container {
    border-bottom: thin solid var(--tertier_color);
}

.cart_list_container {
    border-bottom: thin solid var(--tertier_color);
}

.product_detail_cover_image {
    background-color: var(--tertier_color);
}

.product_detail_footer_container {
    color: white;
    background-color: var(--main_color);
    position: sticky;
    bottom: 0;
    left: 0;
    width: 100%; 
    z-index: 1000;
    padding: 5px 0px;
}

.product_detail_add_to_basket_button {
    color: var(--main_color);
    background-color: white;
    padding: 5px;
    text-align: center;
    border-color: white;
    border-radius: 4px;
    font-size: var(--default_font_size);
    font-weight: 1000;
}

.pd_gallery > img {
    border-radius: 8px;
}

.gallery_not_selected {
    border-radius: 8px;
}

.gallery_selected {
    border: thin solid var(--main_color);
    border-radius: 8px;
}

.variant_not_selected {
    display: inline-block;
    margin-right: 10px;
    border: thin solid #ccc;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: var(--title_font_size);
    color: #888;
}

.variant_selected {
    border-color: var(--tertier_color);
    font-weight: bold;
    background-color: #f6ceb8;
    color: var(--tertier_color);
}

.booking_category_not_selected {
    display: inline-block;
    margin-right: 10px;
    border: thin solid #ccc;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: var(--title_font_size);
    color: #888;
}

.booking_category_selected {
    border-color: var(--tertier_color);
    font-weight: bold;
    background-color: #f6ceb8;
    color: var(--tertier_color);
}

.checkout_delivery_option_not_selected {
    display: inline-block;
    margin-right: 10px;
    border: thin solid #ccc;
    border-radius: 8px;
    padding: 5px 10px;
    font-size: var(--title_font_size);
    color: #888;
}

.checkout_delivery_option_selected { 
    border-color: var(--tertier_color);
    font-weight: bold;
    background-color: #f6ceb8;
    color: var(--tertier_color);
}

.pd_qty_container {
    display: inline-block;
    border: thin solid #ccc;
    border-radius: 8px;
}

.pd_qty_container_minus {
    display: inline-block;
    font-size: var(--default_font_size);
    padding: 5px 15px;
    color: var(--main_color);
}

.pd_qty_container_qty {
    display: inline-block;
    font-size: var(--huge_font_size);
    padding: 5px 20px;
    background-color: #ccc;
}

.pd_qty_container_plus {
    display: inline-block;
    font-size: var(--default_font_size);
    padding: 5px 15px;
    color: var(--main_color);
}

.cc_checkbox {
    transform: scale(1.1);
}

.cc_qty_container {
    display: inline-block;
    border: thin solid #ccc;
    border-radius: 8px;
}

.cc_qty_container_minus {
    display: inline-block;
    font-size: var(--mini_font_size);
    padding: 3px 10px;
    color: var(--main_color);
}

.cc_qty_container_qty {
    display: inline-block;
    font-size: var(--subtitle_font_size);
    padding: 3px 12px;
    background-color: #ccc;
}

.cc_qty_container_plus {
    display: inline-block;
    font-size: var(--mini_font_size);
    padding: 3px 10px;
    color: var(--main_color);
}

.cc_footer {
    color: white;
    border-radius: 12px;
    background-color: var(--main_color);
    border: thin solid var(--main_color);
    position: sticky;
    bottom: 2%;
    left: 3%;
    width: 94%; 
    z-index: 1000;
}

.cc_footer > div {
    z-index: 1000;
}

.cc_footer_price {
    text-align: center;
    color: var(--tertier_color); 
    background-color: white; 
    padding: 5px;
    font-size: var(--big_font_size);
    font-weight: bold;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.cc_footer_checkout {
    text-align: center;
    color: white;
    padding: 5px;
    background-color: var(--tertier_color);
    font-size: var(--big_font_size);
    font-weight: bold;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.default_address {
    display: inline-block;
    color: var(--tertier_color);
    font-size: var(--small_font_size);
    border: thin solid var(--tertier_color);
    padding: 2px 5px;
    border-radius: 4px;
    position: relative;
    top: -2px;
}

.container_got_fixed_bottom {
    min-height: 95%;
}

.booking_category_count {
    display: inline-block;
    border-radius: 100%;
    font-size: var(--small_font_size);
    position: relative;
    bottom: 2px;
}

@media (min-width: 576px) {
    ons-navigator {
        margin: auto;
        width: 576px;
    }

    .product_detail_footer_container {
        width: 576px;
    }
}

.inbox_count {
    position: absolute; 
    top: 1px; 
    right: 8px; 
    display: inline-block;
    font-size: var(--mini_font_size);
}

.blur_container {
    position: relative;
    overflow: hidden;
}

.blur_content {
    filter: blur(3px);
    pointer-events: none;
}

.blur_message {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px 20px;
    font-weight: bold;
    border-radius: 5px;
    text-align: center;
    white-space: nowrap;
}

.voucher_list_container {
    border: thin solid var(--main_color);
    border-radius: 12px;
    padding: 5px;
}

.voucher_amount_container {
    background-color: var(--main_color);
    height: 100%;
    border-radius: 12px;
}

.voucher_amount {
    font-size: var(--huge_font_size);
    font-weight: bolder;
    color: white; 
}

.voucher_detail_top {
    background-color: var(--main_color);
    font-size: 36px;
    font-weight: bolder;
    color: white;
}

.voucher_not_eligible {
    opacity: 0.3;
}