/*
 Theme Name:   GeneratePress Child
 Description:  Default GeneratePress child theme
 Template:     generatepress
 Version:      1.0.0
*/

/**
 * Root variables ---------------------------------
 * */
:root {
    /* Border */
    --border-radius-extra-large: 50px;
    --border-radius-large: 30px;
    --border-radius-mid: 20px;
    --border-radius-min: 5px;

    /* Color */
    --color-banner-light: #ffb837;
    --color-bg-dark: #2a2f30;
    --color-bg-error: #df302217;
    --color-bg-input: #e5e5e5;
    --color-bg-note: #df932217;
    --color-bg-link: #ae843b;
    --color-bg-content-light: #e1ded1;
    --color-body: #f0f0f0;
    --color-border-element: #a5a5a5a3;
    --color-border-input: #fbfafa;
    --color-border-min: rgba(0, 0, 0, 0.07);
    --color-border-mid: rgba(0, 0, 0, 0.2);
    --color-border-line: #4140402e;
    --color-border-line-dark: #cdbca14f;
    --color-border-menu: #ffffff57;
    --color-error: #a00;
    --color-heading: #218398;
    --color-input-placeholder: #929292;
    --color-link: #ab7c2b;
    --color-link-active: #c78d28;
    --color-main: #cdbca1;
    --color-note: #ae6509;
    --color-overlay: #161616e0;
    --color-sub: #bb850d;
    --color-success: #0b84a2;
    --color-text: #323232;
    --color-text-header: #fafafa;
    --color-warning: #b95a16;

    /* Element size */
    --max-width-session: 1500px;

    /* Font size */
    --font-size-14: clamp(13px, 1.5vw, 14px);
    --font-size-15: clamp(14px, 1.5vw, 15px);
    --font-size-16: clamp(14.5px, 1.5vw, 16px);
    --font-size-17: clamp(15px, 1.5vw, 17px);
    --font-size-18: clamp(16px, 1.5vw, 18px);
    --font-size-20: clamp(17px, 2vw, 20px);
    --font-size-23: clamp(19px, 2vw, 23px);
    --font-size-25: clamp(20px, 2vw, 25px);
    --font-size-30: clamp(23px, 3vw, 30px);
    --font-size-35: clamp(25px, 3vw, 35px);
    --font-size-45: clamp(27px, 3.5vw, 45px);
    --font-size-55: clamp(29px, 3.5vw, 55px);
    --font-size-65: clamp(31px, 3.5vw, 65px);
    --font-size-75: clamp(33px, 4vw, 75px);
    --font-size-85: clamp(35px, 6vw, 85px);

    /* margin and padding */
    --padding-container: clamp(.5em, 2.5vw, 2em);

    /* Shadow */
    --box-shadow-button: 6px 6px 9px #98989836, -6px -6px 9px #ffffff4f;
    --box-shadow-hover: 6px 6px 9px #9898985e, -6px -6px 9px #f0f0f085;
    --box-shadow-image: 7px 7px 15px #6c6c6c62, -7px -7px 15px #ffffff;
    --box-shadow-input: 0 0 0 #ffffff00, 0 0 0 #ffffff00,
        inset 2px 2px 3px #8989893d, inset -2px -2px 3px #f3f3f32e;
    --box-shadow-input-hover: 4px 4px 7px #9898985e,
        -4px -4px 7px #f0f0f085, inset 0 0 0 #ffffff00, inset 0 0 0 #ffffff00;
    --box-shadow-min: inset 2px 2px 3px #89898914,
        inset -2px -2px 3px #f3f3f32e;
    --box-shadow-modal: 0 10px 30px #282828d9;
    --box-shadow-modal-container: 10px 0 30px #232323bf;
    --box-shadow-p-archive: inset 2px 2px 5px #b1b1b11a,
        inset -2px -2px 5px #f3f3f32b;
    --box-shadow-small: inset 2px 2px 3px #51515114,
        inset -2px -2px 3px #ffffff2e;
    --box-shadow-sub-menu: 10px 10px 10px #00000024;
    --emboss-in-normal: inset 3px 3px 3px #5151511a,
        inset -3px -3px 3px #ffffff45;
    --text-shadow-black: 0.8px 0.8px 0.5px #32323237,
        -0.8px -0.8px .5px #32323237;
    --text-shadow-body: 0.5px 0.5px 0.5px #3232321f,
        -0.5px -0.5px .5px #fbfbfbb5;

    /* transition */
    --transition-background-color: background-color 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-border-radius: border-radius 0.2s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-border-color: border-color 0.2s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-box-shadow: box-shadow 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-color: color 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-height: height 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-max-height: max-height 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-max-width: max-width 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-opacity: opacity 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
    --transition-transform: transform 0.3s cubic-bezier(0.39, 0.58, 0.57, 1);
}

/**
 * END Root variables
 * */

/**
 * Core ---------------------------------
 * */

/* ---------- font Customize ---------- */
@font-face {
    font-family: "AtkinsExtendedLight";
    src: url('/wp-content/themes/generatepress-child/assets/font/AtkinsExtendedLight-Regular.woff2') format('woff2'),
        url('/wp-content/themes/generatepress-child/assets/font/AtkinsExtendedLight-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

@font-face {
    font-family: "AtkinsCondLight";
    src: url('/wp-content/themes/generatepress-child/assets/font/AtkinsCondLight-Regular.woff2') format('woff2'),
        url('/wp-content/themes/generatepress-child/assets/font/AtkinsCondLight-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

/* ----- Basic core ----- */
:focus-visible {
    outline: none;
}

html {
    width: 100% !important;
    max-width: 100% !important;
}

body {
    position: relative;
    width: 100% !important;
    max-width: 2560px !important;
    min-width: 250px !important;
    margin: 0 auto;
    overflow-x: hidden !important;
    overflow-y: auto;
    margin: 0;
    padding: 0;
    word-wrap: break-word;
    outline: none !important;
    font-family: "AtkinsExtendedLight", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: var(--font-size-15);
    color: var(--color-text);
}

/* Ẩn scrollbar trên tất cả các phần tử bên trong body #!# */
body * {
    /* Firefox */
    scrollbar-width: none !important;
    scrollbar-color: transparent transparent !important;

    /* Internet Explorer 10+ */
    -ms-overflow-style: none !important;
}

/* Đối với các trình duyệt sử dụng WebKit (Chrome, Safari, Edge) */
body *::-webkit-scrollbar {
    display: none !important;
}

/* Hidden scrollbar elements custom */
.wc-bookings-booking-form .block-picker,
.wfsmodal-body,
.wfsmodal-container,
.wfs-cart-content-area,
.search-wrap.mobile-focusing,
.wfs-sidebar-menu,
#wfs-sticky-sidebar,
.tan-modal-wrap,
.main-navigation,
.inside-header-home,
.category-description {
    scrollbar-width: none !important;
    scrollbar-color: transparent transparent !important;
    -ms-overflow-style: none !important;
}

.wc-bookings-booking-form .block-picker::-webkit-scrollbar,
.wfsmodal-body::-webkit-scrollbar,
.wfsmodal-container::-webkit-scrollbar,
.wfs-cart-content-area::-webkit-scrollbar,
.search-wrap.mobile-focusing::-webkit-scrollbar,
.wfs-sidebar-menu::-webkit-scrollbar,
#wfs-sticky-sidebar::-webkit-scrollbar,
.tan-modal-wrap::-webkit-scrollbar,
.main-navigation::-webkit-scrollbar,
.inside-header-home::-webkit-scrollbar,
.category-description::-webkit-scrollbar {
    display: none !important;
}


@media (max-width: 280px) {
    body {
        word-wrap: break-word;
        overflow-wrap: anywhere;
    }
}

a {
    text-decoration: none;
    font-weight: 500;
}

p {
    margin-bottom: 1em;
}

img {
    border-radius: var(--border-radius-min);
}

/* ----- Disable zoom on mobile ----- */
input,
textarea,
select {
    font-size: 16px !important;
    touch-action: manipulation !important;
    /* Ngăn zoom hoặc thao tác không mong muốn */
}

button,
.button-link {
    touch-action: manipulation !important;
    -webkit-user-select: none;
    /* Ngăn chọn văn bản trên trình duyệt WebKit */
    user-select: none !important;
    /* Ngăn chọn văn bản */
}
.note-mesaage a {
    font-weight: 600;
    text-decoration: underline;
}

/* ----- Form core ----- */

/* hidden default style input */
input:-webkit-autofill,
input:-internal-autofill-selected,
input:autofill {
    background-color: var(--color-bg-input) !important;
    box-shadow: var(--box-shadow-input) !important;
}

input::-webkit-search-cancel-button {
    display: none !important;
}

/* input */
input,
textarea,
select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-color: var(--color-bg-input) !important;
    color: var(--color-text);
    box-shadow: var(--box-shadow-input) !important;
    box-sizing: border-box;
    border: 1px solid var(--color-border-input) !important;
    border-radius: var(--border-radius-extra-large) !important;
    outline: none !important;
    transition: var(--transition-box-shadow);
    -webkit-transition: var(--transition-box-shadow);
    -moz-transition: var(--transition-box-shadow);
    -o-transition: var(--transition-box-shadow);
}

textarea {
    border-radius: var(--border-radius-mid) !important;
}

input[type="checkbox"],
input[type="radio"] {
    padding: 0 !important;
    line-height: 1;
    min-width: 1.2em;
    min-height: 1.2em;
    font-weight: bold;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--color-success) !important;
}

input[type="checkbox"] {
    border-radius: var(--border-radius-min) !important;
}


input[type=checkbox]:checked::before {
    content: "✓";
}

input[type=radio]:checked::before {
    content: "◉";
}

input:focus,
input[type=checkbox]:checked,
textarea:focus {
    box-shadow: var(--box-shadow-input-hover) !important;
}

textarea {
    width: 100%;
    border-radius: var(--border-radius-min);
}

select {
    background: url('/wp-content/themes/generatepress-child/icon/chevron-down.svg') no-repeat right 0.75rem center;
    background-size: var(--font-size-23);
    padding: 0.5rem 2rem 0.5rem 1rem;
    text-wrap: balance;

}

/* ----- END Form core ----- */

/* ----- Typography----- */

/* fix font jQuery */
.ui-widget {
    font-family: "AtkinsExtendedLight", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button-link {
    font-family: "AtkinsExtendedLight", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

h1 {
    font-family: "AtkinsCondLight", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: var(--font-size-45);
    font-weight: normal;
}

h2 {
    font-family: "AtkinsCondLight", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: var(--font-size-35);
}

h3 {
    font-family: "AtkinsCondLight", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: var(--font-size-30);
}

h4 {
    font-family: "AtkinsExtendedLight", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: var(--font-size-23);
}

strong {
    font-weight: 600;
}

/* Break all word table */
@media (max-width: 310px) {

    table,
    table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details {
        word-break: break-all !important;
        overflow-wrap: break-word !important;
    }

    table th,
    table td,
    table a {
        font-size: var(--font-size-15) !important;
    }
}

/**
 * END Typography
 * */

/* ----- Color and stlye core ----- */
html,
body {
    background-color: var(--color-body);
}

/* body {
    text-shadow: var(--text-shadow-body);
} */

/* Nav menu link */
.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover>a,
.main-navigation .main-nav ul li:not([class*="current-menu-"]):focus>a,
.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"])>a,
.main-navigation .menu-bar-item:hover>a,
.main-navigation .menu-bar-item.sfHover>a {
    color: var(--color-body);
}

/* link */
a,
a:hover,
a:focus {
    color: var(--color-link);
}

a:active {
    color: var(--color-link-active);
}

/* Button */
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button-link,
.edit-service-icon button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
.button-link:hover,
button:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
.button-link:focus {
    color: var(--color-body);
    background-color: var(--color-bg-link) !important;
    border: none;
    box-shadow: none !important;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button-link,
.edit-service-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-20);
    font-weight: bold;
    text-transform: uppercase;
    border: none;
    border-radius: var(--border-radius-extra-large);
    cursor: pointer;
    outline: none !important;
    box-shadow: none !important;
}

button:active,
input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active,
.button-link:active,
.edit-service-icon:active {
    color: var(--color-body) !important;
    background-color: var(--color-link-active) !important;
    transform: scale(1.015, 1.03) !important;
}

/* ----- END Color and style core ----- */

/* ----- Input number button styling ----- */

/* Ẩn nút tăng/giảm trên tất cả trình duyệt */
.input-number-wrapper input[type="number"]::-webkit-inner-spin-button,
.input-number-wrapper input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.input-number-wrapper input[type="number"] {
    -moz-appearance: textfield;
    /* Firefox */
    appearance: none;
    /* Chuẩn mới */
}

/* Đảm bảo input không bị kéo dài quá mức */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    display: none;
    /* Phòng trường hợp thuộc tính bị ghi đè */
}

/* input number wrapper */
.input-number-wrapper {
    display: flex;
    justify-content: center;
    max-width: 10.7em;
}

.input-number-wrapper input[type="number"] {
    text-align: center;
    border-radius: 0 !important;
    font-weight: 500;
    background-color: var(--color-bg-input) !important;
    padding: 0;
    line-height: 1;
    min-width: 48px;
}

.input-number-wrapper .btn-decrease,
.input-number-wrapper .btn-increase {
    cursor: pointer;
    max-height: 45px;
    padding-bottom: 12px !important;
}

.input-number-wrapper .btn-decrease {
    border-radius: var(--border-radius-large) 0 0 var(--border-radius-large) !important;
}

.input-number-wrapper .btn-increase {
    border-radius: 0 var(--border-radius-large) var(--border-radius-large) 0 !important;
}

/* Transision */
a,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
.button-link {
    transition: var(--transition-height);
    -webkit-transition: var(--transition-height);
    -moz-transition: var(--transition-height);
    -o-transition: var(--transition-height);
}

/**
 * END Core
 * */

/**
 * Wordpress core customize ---------------------------------
 * */

/* Hidden search WP */
form.search-form,
.wp-block-search {
    display: none !important;
}

.wp-block-button__link {
    border-radius: var(--border-radius-extra-large);
    ;
    background-color: var(--color-main);
    padding: 0.3em 1.5em !important;
    text-transform: uppercase;
}

/* WP Single post */
.site-main .wp-block-group__inner-container {
    padding: 0;
}

.wp-block-heading {
    color: var(--color-link);
    font-weight: bold;
}

.wp-block-media-text>.wp-block-media-text__content {
    padding-top: 1em
}

/* END WP Single post */

/* Image - text */
@media (max-width: 750px) {
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: 100% !important;
    }

    .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__media {
        grid-column: 1;
        grid-row: 1;
    }

    .wp-block-media-text.is-stacked-on-mobile>.wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
    }
}

/* END Image - text */

/**
 * END Wordpress custom ---------------------------------
 * */

/**
 * Utils ---------------------------------
 * */

.accent-info {
    background-color: var(--color-bg-note);
    color: var(--color-text) !important;
    border-left: 5px solid var(--color-note);
    border-radius: var(--border-radius-extra-large);
    padding: .5em;
    max-width: max-content;
}

.banner-title {
    text-transform: uppercase;
    color: var(--color-banner-light) !important;
    font-size: var(--font-size-45);
    text-shadow: 1px 1px 0px #2b2b2ba8, -1px -1px 0px #2b2b2ba8, -1px 3px 0px #2b2b2ba8, 1px -1px 0px #2b2b2ba8;
    font-weight: bold;
    margin-bottom: 0;
    text-align: center;
    position: relative;
    z-index: 1;
}

.banner-title-sub {
    margin: 0;
    color: var(--color-button) !important;
    line-height: 1.1;
    font-size: var(--font-size-30);
    text-shadow: 1px 1px 0px #2b2b2ba8, -1px -1px 0px #2b2b2ba8, -1px 3px 0px #2b2b2ba8, 1px -1px 0px #2b2b2ba8;
    font-weight: bold;
    text-align: center;
    position: relative;
    z-index: 1;
}

.color-note {
    color: var(--color-note) !important;
}

.color-success {
    color: var(--color-success) !important;
}

.color-warning {
    color: var(--color-warning) !important;
}

.color-error {
    color: var(--color-error);
}

.max-width-1000 {
    max-width: 1000px;
    margin: 0 auto;
    padding-left: .5em;
    padding-right: .5em;
}

.no-scroll-y {
    touch-action: none !important;
    overscroll-behavior: none;
    /* Ngăn cuộn tầng */
    overflow: hidden;
    /* Ngăn cuộn nội dung */
    position: fixed;
    width: 100%;
}

.session-title {
    padding: 1em 0;
    margin-bottom: 3em;
    background: var(--color-bg-content-light);
}

.session-title h3 {
    color: var(--color-text);
    text-transform: uppercase;
}

.session-title hr {
    flex: 1;
    color: var(--color-border-element);
}

.sub-field-form {
    padding: 0 !important;
    margin: -1em 1em 0 1em !important;
}

.tan-disable {
    opacity: 0.45;
    pointer-events: none;
    cursor: not-allowed;
    touch-action: none;
    color: gray;
}

.tan-hidden {
    display: none !important;
}

.tan-icon-svg {
    width: 1em;
    height: 1em;
    fill: currentcolor;
}

.tan-margin-0 {
    margin: 0;
}

.tan-note {
    display: block;
    font-size: 90%;
    font-style: italic;
    padding: .5em 0;
    color: var(--color-warning);
}

.tan-session {
    padding-top: clamp(2.5em, 5vw, 5em);
    padding-bottom: clamp(2.5em, 5vw, 5em);
}

/**
 * END Utils ---------------------------------
 * */

/**
 * Tan toggle checkbox ---------------------------------
 * */
.tan-toggle-checkbox input[type="checkbox"] {
    display: none !important;
}

.tan-toggle-checkbox label {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 29px;
    background-color: var(--color-bg-input);
    box-shadow: var(--box-shadow-input) !important;
    border: 1px solid var(--color-border-input) !important;
    border-radius: 29px;
    cursor: pointer;
    transition: background-color 0.3s;
    transition: border 0.3s;
}

.tan-toggle-checkbox label::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 21px;
    height: 21px;
    background-color: var(--color-input-placeholder);
    border-radius: 50%;
    transition: transform 0.3s, background-color 0.3s;
}

.tan-toggle-checkbox input[type="checkbox"]:checked+label {
    background-color: var(--color-success);
    box-shadow: var(--box-shadow-input-hover) !important;
    border-color: var(--color-success) !important;
}

.tan-toggle-checkbox input[type="checkbox"]:checked+label::after {
    transform: translateX(21px);
    background-color: var(--color-body);
}

/**
 * END Tan toggle checkbox ---------------------------------
 * */

/**
 * Loading styling ---------------------------------
 * */

/* ----- Button loading ----- */

/* linear-gradient */
.loading-button {
    position: relative;
    border: none;
    cursor: not-allowed !important;
    pointer-events: none !important;
    touch-action: none;
    overflow: hidden;
    color: rgba(10, 10, 10, 0.2) !important;
    text-shadow: none !important;
}

.loading-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 300%;
    height: 100%;
    background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(200, 200, 200, 0.55) 40%, rgba(255, 255, 255, 0) 100%);
    animation: slideOverlay 0.7s infinite linear;
    z-index: 1;
    mix-blend-mode: overlay;
}

@keyframes slideOverlay {
    0% {
        left: -150%;
    }

    100% {
        left: 150%;
    }
}

/* spinner rotate */
.loading-button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    margin-top: -12px;
    margin-left: -12px;
    border: 3.5px solid #f8b84b8a;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    /* mix-blend-mode: overlay;*/
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* ----- END Button loading ----- */


/**
 * END Loading styling ---------------------------------
 * */

/**
 * Tan Modal ---------------------------------
 * */

.tan-modal-container {
    position: fixed;
    overflow: hidden;
    z-index: 999991;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(43, 43, 43, 0);
    display: none;
    visibility: hidden;
}

.tan-modal-container.active {
    display: block;
    visibility: visible;
}

.tan-modal-wrap {
    position: fixed;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    transform: translatex(-150%);
    background-color: var(--color-body);
    width: 93%;
    max-width: 98vw;
    max-height: 100vh;
    -webkit-overflow-scrolling: touch;
    /* Tối ưu cuộn trên iOS */
    touch-action: auto !important;
    overflow-x: hidden;
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: var(--box-shadow-modal-container);
}

.tan-modal-content {
    width: 100%;
    margin: 0;
    padding: 3em 1em 3em 1em;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}

.close-modal-button {
    position: fixed;
    transform: translatex(100vw);
    top: 1em;
    right: 2%;
    font-size: 16px;
    padding: 10px;
    font-weight: bold;
    z-index: 9999999;
    color: var(--color-text);
    visibility: hidden;
    opacity: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-body);
    width: 35px;
    height: 35px;
    line-height: 1;
    border-radius: 30px;
    box-shadow: var(--box-shadow-modal-container);
}

/**
 * END Tan Modal ---------------------------------
 * */

/**
 * GeneratePress theme custom ---------------------------------
 * */

/* Theme page core */
.separate-containers.no-sidebar .site-main {
    margin-top: 0;
}

.page-content:not(:first-child),
.entry-content:not(:first-child),
.entry-summary:not(:first-child) {
    margin-top: 0;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation {
    padding: var(--padding-container);
}

.entry-content {
    padding-top: clamp(15px, 5vw, 20px);
    padding-bottom: clamp(20px, 5vw, 50px);
}

/* END Theme page core */

/* Theme single post core */
.single .page-header-image-single {
    display: none !important;
}

.single .separate-containers .inside-article,
.single .separate-containers .comments-area,
.separate-containers .page-header,
.single .separate-containers .paging-navigation {
    padding: .5em !important;
}

.single .entry-meta {
    display: none !important;
}

@media (max-width:600px) {
    .separate-containers .inside-article {
        padding: .5em;
    }
}

/* END Theme single post core */

/**
 * END GeneratePress theme custom ---------------------------------
 * */


/**
* Swiper cutom ---------------------------------
*/
.swiper {
    width: 100%;
    height: auto;
}

.swiper-wrapper {
    padding-bottom: 2.5em;
    gap: unset;
}

.swiper-slide {
    text-align: center;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

/**
* END Swiper cutom ---------------------------------
*/

/**
* Plugin PhotoSwipe cutom ---------------------------------
*/
.pswp__button {
    background-color: #ffffff30 !important;
}

/**
* END Plugin PhotoSwipe cutom ---------------------------------
*/

/**
* Plugin Gravity form cutom ---------------------------------
*/
.gform-theme--framework {
    max-width: 700px;
    margin: 0 auto;
}

.gform-theme--framework .gfield--type-section .gsection_title {
    margin-bottom: 0 !important;
}

.gform_title {
    font-size: clamp(25px, 7vw, 35px);
}

.gform_drop_area.gform-theme-field-control {
    background: #ffffff9c;
}

.gform_required_legend {
    display: none;
}

.gform-body fieldset label {
    cursor: pointer;
}

/* radio gform */
.gform-theme--framework input[type=radio]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
    background-color: var(--color-warning) !important;
}

/* gform total input */
.gfield--type-total {
    display: flex !important;
    gap: .5em !important;
}

label.gfield_label.gform-field-label {
    word-wrap: normal !important;
    white-space: nowrap !important;
}

input.ginput_total {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    font-size: var(--font-size-17) !important;
}

.gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *))::before {
    color: var(--color-success);
    font-weight: bold;
}

.gform-theme--framework .gf_progressbar .percentbar_blue {
    background-color: var(--color-link);
}

.gform_page_footer {
    position: relative;
}

/* gform footer - spinner loader */
.gform_footer {
    position: relative !important;
    width: 100% !important;
    max-width: 500px !important;
    margin: 2em auto !important;
}

.gform_footer .gform-loader {
    position: absolute !important;
    right: 10px;
    font-size: 2.5px;
    border-block-end-color: #f7dfb6 !important;
    border-block-start-color: #f9f3e863 !important;
    border-inline-end-color: #f7dfb6 !important;
    border-inline-start-color: #f9f3e863 !important;
}

/* gform button */
.gform_button.button {
    width: 100% !important;
    display: block;
    text-transform: uppercase !important;
    font-size: var(--font-size-16) !important;
    font-weight: 600 !important;
    background-color: var(--color-bg-link) !important;
    color: var(--color-body) !important;
}

.gform_previous_button {
    color: #ebebeb !important;
}

.form-confirm {
    border: 1px dashed #0303036b;
    border-radius: var(--border-radius-extra-large);
    ;
    padding: 0 1em;
    margin-top: 2em;
}

/**
* END Plugin Gravity form cutom ---------------------------------
*/

/**
 * Shortcode style ---------------------------------
 * */

/* Shortcode [hours_working] */
.hours-working {
    font-size: var(--font-size-16);
}

.hours-working h3 {
    margin-bottom: .2em;
}

.hours-working p {
    margin-bottom: 0.3em;
}

.hours-working .day-off {
    font-weight: 700;
}

.hours-working-button {
    display: flex;
    align-items: center;
    gap: 1em;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 1em;
    font-size: var(--font-size-16);
}

.hours-working-button a {
    display: inline-flex;
    align-items: center;
    gap: .3em;
    line-height: 1;
}

.hours-working-icon-button {
    background-color: var(--color-bg-link);
    padding: .4em;
    border-radius: var(--border-radius-extra-large);
    color: var(--color-body);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-16);
}

/* wfs modal hours_working */
/* END Shortcode [hours_working] */


/**
 * Header customize ---------------------------------
 * */

header#masthead {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    color: var(--color-body);
    max-height: 1550px;
    overflow: hidden;
    background-color: var(--color-bg-dark);
}

.inside-header {
    margin: 0;
    padding: 0;
}

.site-logo {
    display: none !important;
    /* hide original logo theme */
}

/**
 * Inside Header content ---------------------------------
 * */
.inside-header-content {
    width: 100%;
    margin: 0 !important;
    padding: 0;
}

/* ---- Default page top banner ---- */
.page-top-banner-wrap {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: var(--color-bg-dark);
}

.page-top-banner-content video,
.page-top-banner-content img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .7;
}

/* ---- Default site logo with menu ---- */
/* Logo custom */
.site-logo-with-menu {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5em;
    padding-top: 1em;
    padding: 0 var(--padding-container);
    padding-top: 1em;
    max-width: var(--max-width-session);
    margin: 0 auto;
}

.site-logo-with-menu .logo-custom {
    width: clamp(50px, 10vw, 55px);
}

.nav-below-header .main-navigation .inside-navigation.grid-container,
.nav-above-header .main-navigation .inside-navigation.grid-container {
    padding: 0;
}

/* Navigator main menu */
#menu-primary-menu li a {
    margin: 1em 2px;
    padding: 0 .8em;
    line-height: 40px;
    border-radius: var(--border-radius-large);
    font-size: var(--font-size-18);
    color: var(--color-text-header);
    transition: var(--transition-background-color, --transition-transform);
    -webkit-transition: var(--transition-background-color, --transition-transform);
    -moz-transition: var(--transition-background-color, --transition-transform);
    -o-transition: var(--transition-background-color, --transition-transform);
}

#menu-primary-menu li a:hover {
    background-color: var(--color-bg-link);
}

li.current-menu-item a {
    border: 1px solid var(--color-bg-link);
}

/* none border menu archive */
li#menu-item-4410 a,
li#menu-item-4411 a {
    border: none;
}

#menu-primary-menu li a:active {
    color: var(--color-body) !important;
    background-color: var(--color-link-active) !important;
    transform: scale(1.015, 1.03) !important;
}

/* Toggle button open menu */
.toggle-button-mobile-menu button {
    width: 100%;
    padding: .6em;
    font-size: 20px;
}

/* Navigator menu min-width 769px */
@media (min-width: 769px) {

    .toggle-button-mobile-menu,
    .logo-in-modal-wrapper,
    .main-navigation .hours-working-wrapper {
        display: none;
    }

    .main-navigation {
        position: unset;
        overflow: unset;
        z-index: unset;
        width: unset;
        height: unset;
        background-color: unset;
        display: unset;
        visibility: unset;
    }

    .main-navigation .inside-navigation {
        position: unset;
        transform: unset;
        background: unset;
        width: unset;
        height: unset;

    }

    .main-navigation .tan-modal-wrap {
        box-shadow: none;
    }

    .main-navigation .tan-modal-content {
        opacity: unset;
        position: unset;
        padding: unset;
    }
}

/* Mobile menu popup max-width:768px */
@media (max-width: 768px) {
    .inside-header-home .site-logo-with-menu {
        display: flex;
        padding: clamp(.5em, 2vw, 1em);
        flex-direction: column;
        align-items: center;
        gap: 1em;
    }

    .main-navigation ul,
    .gen-sidebar-nav,
    .main-navigation:not(.slideout-navigation):not(.toggled) .main-nav>ul,
    .has-inline-mobile-toggle #site-navigation .inside-navigation>*:not(.navigation-search):not(.main-nav) {
        display: flex;
        flex-direction: column;
        color: var(--color-link);
    }

    .inside-navigation {
        background-color: var(--color-bg-dark);
    }

    .inside-navigation .main-nav {
        margin: 3em 0;
        padding: 2em 0;
        border-top: 1px solid var(--color-border-line-dark);
        border-bottom: 2px solid var(--color-border-line-dark);
    }

    .inside-navigation .logo-in-modal-wrapper {
        max-width: clamp(60px, 45vw, 80px);
        margin: 0 auto;
        margin-bottom: 1em;
    }

    #menu-primary-menu li a {
        font-size: var(--font-size-25);
        margin: .3em 0;
    }

    /* close icon popop mobile menu */
    .close-mobile-menu-button {
        background-color: var(--color-bg-dark);
        color: var(--color-body);
    }

    /* Working hours in popup mobile menu */
    .inside-navigation .hours-working h3 {
        font-size: var(--font-size-45);
    }

    .inside-navigation .hours-working-button {
        justify-content: center;
    }
}

/* ----- Title page in header  ----- */
.page-title-in-header {
    color: var(--color-text-header);
    text-align: center;
    margin: .5em 0 2.5em 0;
    padding-left: var(--padding-container);
    padding-right: var(--padding-container);
    position: relative;
    z-index: 1;
}

.page-title-in-header h5 {
    margin: 0;
}

.page-title-in-header h1 {
    width: 100%;
    font-size: var(--font-size-45);
    text-transform: uppercase;
    margin: 0;
    word-wrap: normal !important;
    white-space: nowrap !important;
    text-overflow: ellipsis;
    display: inline-block;
    overflow: hidden;
}


/**
 * END Header customize ---------------------------------
 * */

/**
 * Page theme custom ---------------------------------
 * */

.featured-image.page-header-image.grid-container.grid-parent,
.entry-title {
    display: none;
}

/**
 * END Page theme custom ---------------------------------
 * */

/**
 * Homepage design --------------------------------- */

/* ----- Preloader homepage ----- */
#preloader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
    height: 100%;
    background: #000;
    z-index: 999999;
    margin: 0;
    padding: 0;
}

.loader-wrapper {
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translatey(-50%);
    margin: auto;
    padding: 0;
    text-align: center;
    width: 100%;
    max-width: 100%;
    opacity: 0;
    transition: var(--transition-opacity);
    -webkit-transition: var(--transition-opacity);
    -moz-transition: var(--transition-opacity);
    -o-transition: var(--transition-opacity);
}

.loader-logo figure {
    max-width: 100px;
    margin: auto;
    line-height: 1;
}

.loader-text {
    line-height: 70px;
    display: flex;
    justify-content: center;
    padding: 0 var(--padding-container);
}

.loader-text span {
    display: inline-block;
    margin: 0 4px;
    color: #fff;
    font-size: var(--font-size-15);
}

.loader-text-words{
    font-family: "AtkinsCondLight", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

/* ----- Inside header homepage ----- */
.inside-header-home {
    width: 100%;
    height: 100vh;
    max-height: 1800px;
    overflow-x: hidden;
    overflow-y: auto;
}

/* Home top banner  */
.homepage-top-banner .page-top-banner-content video {
    opacity: .65;
}

/* Homegroup welcome */
.inside-header-home .group-welcome {
    width: 100%;
    height: 100vh;
    min-height: 550px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    z-index: 1;
}

/* Home banner logo with menu */
.inside-header-home .site-logo-with-menu {
    display: flex;
    flex-direction: column;
    padding-top: 2em;
}

.inside-header-home .site-logo-with-menu .logo-custom {
    width: clamp(60px, 10vw, 75px);
    margin: 0 auto;
}

/* home banner welcome warp */
.home-welcome-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 0 .5em 5em .5em;
    width: 100%;
    min-height: 80vh;
}

/* Home welcome block scroll */
.home-welcome-block {
    width: 100%;
    padding: .5em;
    position: relative;
}

.home-welcome-block.welcome-mimi {
    max-width: 950px;
}

.home-below-welcome h1 {
    font-size: var(--font-size-65);
}

.logo-text-mimi {
    padding: 5% 1em;
}

.logo-text-mimi figure {
    max-width: 70vw;
}

.block-content {
    padding-bottom: 41vh;
}

.block-content h1 {
    font-size: var(--font-size-85);
    padding-bottom: 2em;
}

.scroll-content.scroll-5 h1 {
    padding: 0;
    margin: .2em;
    padding-top: 1em;
}

.scroll-content.scroll-6 {
    margin-top: 1em;
    max-width: 450px;
    margin: 0 auto;
}

.scroll-content.scroll-6 a {
    display: block;
    padding: .2em 1em;
    font-size: var(--font-size-30);
    font-weight: 500;
    margin-bottom: .1em;
}

.home-session {
    display: block;
    margin: 0 auto;
}

/**/
#post-7 .entry-content {
    padding: 0;
}

/* ---- Session home intro brand ---- */
.intro-brand-session {
    position: relative;
    padding: 8em .5em;
    min-height: 100vh;
    background-color: var(--color-bg-dark);
    display: flex;
    align-items: center;
    justify-content: center;
}

.intro-brand-wrapper {
    display: flex;
    justify-content: center;
    padding: .5em;
    gap: 4em;
}

/* Home page intro content */
.intro-content {
    width: 100%;
    max-width: 640px;
    border: 20px solid var(--color-link);
    border-radius: var(--border-radius-large);
    padding: 1.5em 2em;
    background-color: var(--color-bg-content-light);
    color: var(--color-text);
    font-size: var(--font-size-16);
    font-weight: 300;
}

.intro-title {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: .5em;
}

.intro-title h2 {
    text-transform: uppercase;
    margin: 0;
}

.intro-title h5 {
    font-weight: 500;
    text-align: center;
}

.intro-title figure {
    max-width: 75px;
}

.intro-title span {
    font-weight: 600;
    font-size: var(--font-size-20);
    color: var(--color-main);
    text-align: center;
}

.intro-text figure {
    max-width: 150px;
    margin: 2em auto 1em auto;
}

.booking-button {
    width: 90%;
    font-size: var(--font-size-18);
    padding: .4em;
    margin: 2em auto 1em auto;
    display: block;
    text-align: center;
}

/* home page intro right */
.intro-right {
    width: 100%;
    max-width: 550px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.intro-right figure {
    max-width: 350px;
}

.intro-right img {
    border-radius: var(--border-radius-mid);
}

.intro-hours-working {
    color: var(--color-body);
    text-align: center;
    font-size: var(--font-size-20);
    border-top: 1px solid var(--color-link);
    border-bottom: 1px solid var(--color-link);
    margin: 1.5em 0 2em 0;
    padding: 1em 0;
}

.intro-hours-working h3 {
    font-size: var(--font-size-45);
    color: var(--color-main);
}

.intro-hours-working .hours-working-text-button {
    color: var(--color-main);
}

/* Animation */
.intro-brand-session {
    overflow: hidden;
}

.intro-content,
.intro-img-1,
.intro-img-2,
.intro-img-3,
.intro-img-4 {
    opacity: 0;
    transform: translateX(-100%);
}

@media(min-width:920px) {
    .logo-text-mimi figure {
        max-width: 600px;
    }
}

@media (max-width: 850px) {
    .intro-brand-wrapper {
        flex-wrap: wrap;
    }
}

@media (max-width: 600px) {
    .intro-content {
        padding: 1em;
    }

    .intro-text>p:nth-child(3) {
        display: none;
    }
}

@media (max-width: 475px) {
    .intro-content {
        padding: 1em .6em;
        border-width: 15px;
    }
}

/* ---- home page Session category ---- */
.category-session {
    position: relative;
    width: 100%;
    max-width: var(--max-width-session);
}

.category-wrapper {
    position: relative;
    display: flex;
}

/* home page category description */
.category-description {
    width: 100%;
    padding: .5em;
    position: sticky;
    z-index: 1;
    top: 0;
    height: 100vh;
    overflow-x: hidden;
    overflow-y: scroll;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-bg-content-light);
}

.category-description .item {
    position: absolute;
    left: 0;
    transform: translateX(-110%);
    opacity: 0;
    z-index: 1;
    width: 100%;
    max-width: 600px;
    background-color: var(--color-bg-content-light);
    padding: 1em;
    border-radius: var(--border-radius-mid);
}

h1.title {
    font-size: var(--font-size-85);
    font-weight: 500;
    margin-bottom: 0;
    text-transform: uppercase;
    line-height: 1;
}

.description h4 {
    font-weight: 500;
    border-left: 5px solid var(--color-bg-link);
    padding-left: .5em;
    vertical-align: middle;
    line-height: 1;
    margin-bottom: .5em;
}

.description .des-text {
    color: var(--color-text);
    text-align: left;
}

.description .read-more-cate-des {
    display: none;
    cursor: pointer;
    color: var(--color-link);
    font-weight: 700;
}

.description .button-link {
    padding: .2em 1em;
    margin-top: 2em;
    margin-bottom: .5em;
    display: block;
    max-width: 400px;
    text-align: center;
}

/* home page category-image */
.category-image {
    width: 60%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    padding: 0;
    margin: 0;
}

.category-image .item {
    position: relative;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

.category-image .item figure {
    position: relative;
    display: block;
    line-height: 0;
    margin-bottom: 2px;
    opacity: 0.3;
}

.category-image .item:last-child figure:last-child {
    margin-bottom: 0;
}

.category-image .item img {
    border-radius: 0;
}

/* Read more category modal */
.read-more-modal .tan-modal-wrap,
.read-more-modal .close-modal-button {
    background-color: var(--color-bg-content-light);
}


/* @media homepage session category */
@media(max-height:700px) {
    .category-description .item {
        top: 0;
    }
}

@media(max-width:750px) {
    .category-image {
        width: 70%;
    }
}

@media (max-width: 550px) {
    .category-wrapper {
        flex-wrap: wrap;
        align-content: flex-start;
        justify-content: center;
    }

    .category-description {
        height: 0;
        max-height: 50vh;
        overflow-x: hidden;
        overflow-y: scroll;
    }
}

@media (max-width: 550px),
(max-height: 450px) and (max-width: 900px) {
    .category-description .item {
        top: 0;
    }

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

    .description h4 {
        font-size: var(--font-size-20);
    }

    .description .button-link {
        font-size: var(--font-size-16);
    }

    .description .trim-text.des-text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 0;
    }

    .description .read-more-cate-des {
        display: inline-block;
    }

    .category-image {
        width: 100%;
        max-width: 400px;
    }
}

/* ---- home page Session Rebowl Box ---- */
.home-rebowl-box-wrapper {
    padding-bottom: 5em;
}

/* Rebowl content */
.home-rebowl-box {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rebowl-box-content {
    background-color: #d8e5e2;
    text-align: center;
    padding: 8em .5em;
    padding-top: 10em;
    font-size: var(--font-size-17);
}

.home-rebowl-box .rebowl-box-content h1,
.home-rebowl-box .rebowl-box-content h3,
.home-rebowl-box .rebowl-box-description {
    max-width: 1000px;
    margin: 0 auto;
}

.rebowl-box-content h1 strong {
    text-transform: uppercase;
    color: var(--color-success);
}

.home-rebowl-box .rebowl-box-description {
    margin: 1em auto;
}

.rebowl-boxl-list {
    max-width: 785px;
    margin: 0 auto;
    margin-bottom: 3em;
    text-align: left;
    padding: 0 .5em;
}

.rebowl-boxl-list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    flex-basis: 50%;
}

.rebowl-box-item svg {
    color: var(--color-success);
}

/* Rebowl image */
.rebowl-box-image {
    max-width: 1500px;
    margin: 0 auto;
}

.rebowl-box-image figure {
    margin-top: -6em;
    padding: 0 .5em;
    max-width: 100%;
}

/* ---- home page Session Gutschein ---- */
.home-gutschein {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 5em;
}

/* Gutschein title */
.gutschein-title {
    max-width: var(--max-width-session);
    margin: 0 auto;
    padding: 1em .5em;
    text-align: center;
}

.gutschein-title h1 {
    margin: 0;
    font-size: var(--font-size-85);
    text-transform: uppercase;
    line-height: 1;
    color: var(--color-link);
}

.gutschein-title h4 {
    margin: 0;
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
    font-size: var(--font-size-30);
    letter-spacing: 3px;
}

.gutschein-title .button-link {
    padding: .2em 2em;
    margin: 1em 0;
    text-transform: unset;
}

/* Gutschein content */
.home-gutschein-wrapper {
    background-color: var(--color-bg-content-light);
    padding: 8em .5em;
}

.gutschein-content {

    margin-bottom: 4em;
}

.gutschein-content-wrap {
    max-width: var(--max-width-session);
    margin: 0 auto;
    display: flex;
    gap: 1em;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.gutschein-text {
    text-align: center;
}

.gutschein-text h3 {
    margin: .0;
}

.gutschein-text p {
    font-size: var(--font-size-16);
}

.gutschein-image {
    background-color: var(--color-bg-content-light);
    max-width: 750px;
    line-height: 1;
    margin-top: 2em;
}

.gutschein-image img {
    border-radius: var(--border-radius-large);
    box-shadow: 0px 10px 30px #cfccbe;
}

/* ---- home page Session Customer review ---- */
.home-customer-review {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Review title */
.customer-review-title {
    text-align: center;
    padding: 2em .5em;
    padding-top: 5em;
    border-top: 5px solid var(--color-link);
    border-bottom: 2.5px solid var(--color-link);
    margin: 0 auto;
}

.review-title-text h1 {
    font-size: var(--font-size-55);
    font-weight: 500;
    margin: 0;
    text-transform: uppercase;
}

.review-title-text h4 {
    max-width: 680px;
    margin: 0 auto;
    margin-bottom: -3.5em;
    background-color: var(--color-body);
}

.review-title-icon {
    font-size: var(--font-size-35);
    line-height: 1;
    display: inline-block;
    padding: .5em;
}

.review-title-icon svg {
    width: 2em;
    height: 2em;
    color: var(--color-link)
}

/* Review content */
.review-content-wrap {
    margin: 4em 0;
    padding: 2em .5em;
}

.review-item-top {
    position: relative;
    display: flex;
    gap: .7em;
    min-width: 310px;
}

.review-item {
    position: relative;
    display: block;
    max-width: 1160px;
    margin: 2em auto;
    padding: 1em;
    display: flex;
    align-items: center;
    padding-top: 8em;
    background-color: #e5e5e566;
    border-radius: var(--border-radius-large);
}

.review-image {
    width: 55px;
}

.review-info a {
    color: var(--color-text);
}

.google-name-cus {
    font-weight: 600;
    font-size: var(--font-size-17);
    margin: 0;
    line-height: 1;
}

.star-info-user {
    display: flex;
    gap: .5em;
    align-items: center;
    font-size: var(--font-size-15);
    line-height: 1;
}

.star-info-user svg {
    width: 2em;
    font-size: var(--font-size-25);
    color: var(--color-warning);
}

.google-verify {
    display: flex;
    gap: .5em;
    align-items: center;
    font-size: var(--font-size-15);
    font-weight: 500;
    color: var(--color-warning);
}

.google-verify img {
    max-width: 20px;
}

.review-text {
    font-size: var(--font-size-16);
    border: 1px dashed var(--color-link);
    border-radius: var(--border-radius-extra-large) var(--border-radius-large) var(--border-radius-large) 3px;
    max-width: 700px;
    padding: 1em 1em 1em 1.5em;
    margin-top: -7em;
    margin-left: 2em;
    background-color: var(--color-bg-input);
    box-shadow: var(--box-shadow-button);
    position: relative;
}

.review-text p {
    margin: 0
}

.google-review-end {
    max-width: 1160px;
    display: block;
    margin: 0 auto;
    margin-top: 3em;
    text-align: right;
}

.google-review-end .button-link {
    padding: .3em 1em;
    font-size: var(--font-size-17);
    text-transform: inherit;
}

.google-review-end .button-link svg {
    margin-left: .5em;
    font-size: 20px;
    width: 30px;
}

/* @media Session Customer review */
@media (max-width: 921px) {
    .review-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 1em;
    }

    .review-text {
        margin-top: .7em;
        margin-left: 10%;
        border-radius: 3px var(--border-radius-large) var(--border-radius-large) var(--border-radius-extra-large);
    }

    .google-review-end {
        text-align: center;
    }
}

@media (max-width:400px) {
    .review-item {
        background-color: unset;
        padding: 1em .5em;
    }

    .review-text {
        margin-left: 7%;
        border-radius: 2px var(--border-radius-mid) var(--border-radius-mid) var(--border-radius-large);
        padding: .7em .7em .7em 1em;
    }

    .review-item-top {
        min-width: unset;
    }
}

/**
 * END Homepage design ---------------------------------
 * */

/**
 * Page gutschein design ---------------------------------
 * */
.page-gutschein-container {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: var(--max-width-session);
    margin: 0 auto;
}

.page-gutschein-container .column {
    box-sizing: border-box;
    padding: 4em var(--padding-container);
}

.gutschein-left {
    background-color: var(--color-bg-content-light);
    flex: 4.3;
    border-radius: var(--border-radius-large)
}

.gutschein-left .page-gutschein-content {
    max-width: 600px;
    margin: 0 auto;
}

.page-gutschein-image {
    margin-top: 3em;
}

.page-gutschein-image img {
    border-radius: var(--border-radius-large);
    box-shadow: 0px 5px 20px #cfccbe;
}

.gutschein-right {
    flex: 5.7;
}

/* gform message error */
.gform-theme--framework .gform_validation_errors {
    border-radius: var(--border-radius-large) !important;
}

/* Confirm message */
.gutschein-confirm-container {
    background-color: var(--color-body);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1em;
}

.gutschein-confirm {
    font-size: var(--font-size-16);
    font-weight: 500;
    text-align: center;
    border: 1px dashed var(--color-border-mid);
    border-radius: var(--border-radius-large);
    padding: 1.5em;
    max-width: 1000px;
    background-color: var(--color-bg-content-light);
}

.gutschein-confirm figure {
    padding: .5em;
}

.gutschein-confirm svg {
    font-size: 50px;
    color: var(--color-success);
}

.gutschein-confirm h2 {
    color: var(--color-success);
}

@media(max-width: 780px) {
    .page-gutschein-container {
        flex-wrap: wrap;
    }

    .page-gutschein-container .column {
        flex: unset;
        width: 100%;
    }

    .gutschein-left h1 {
        text-align: center;
    }

    .column.gutschein-right .gform_heading {
        text-align: center;
    }
}

/**
 * END Page Gutschein design ---------------------------------
 * */

/**
 * Page cancellation-policy design ---------------------------------
 * */

#post-5396 .entry-content {
    max-width: 660px;
    margin: auto;
}

.cancellation-policy-wrapper {
    border: 15px solid var(--color-bg-link);
    border-radius: var(--border-radius-large);
    background-color: var(--color-bg-content-light);
    overflow: hidden;
    box-shadow: 0 0 50px #7070705c;
}

.cancellation-policy-wrapper .wp-block-image {
    background-color: var(--color-bg-dark);
    padding: 2em .5em;

}

.cancellation-policy-content {
    padding: var(--padding-container);
}


/**
 * END Page cancellation-policy ------------------------------------------------------------------
 * */

/**
 * Page privacy-policy design ---------------------------------
 * */

#post-3 .wp-block-group {
    padding-left: 1em;
    margin-bottom: 2em;
}

#post-3 .wp-block-group h4 {
    margin-bottom: .25em;
}

/**
 * END Page privacy-policy ---------------------------------
 * */

/**
 * Page Impressum design ---------------------------------
 * */

#post-34 .wp-block-group {
    max-width: 1200px;
    margin: auto;
    margin-bottom: 4em;
    border: 1px dashed var(--color-main);
    border-radius: var(--border-radius-large);
    padding: var(--padding-container);
}

/**
 * END Page Impressum design ---------------------------------
 * */

/**
 * ShopPage foodstore design ------------------------------------------------------------------
 * */

/* Shoppage container */
article#post-95 .entry-content {
    padding-top: 0;
}

#foodstore_shop_container {
    position: relative;
    display: block;
    width: 100%;
}

#foodstore {
    margin: 1em auto;
}

#foodstore .fs-row,
.wfs-cart-wrapper .fs-row {
    margin: 0 !important;
}

/* important fix margin */
.fs-container {
    width: var(--max-width-session);
    padding-right: 0;
    padding-left: 0;
}

#wfs-food-items {
    padding-left: var(--padding-container);
    padding-right: var(--padding-container);
}

.fs-container a,
.fs-container a:hover {
    color: var(--color-link);
}

@media(max-width:550px) {
    #wfs-food-items {
        padding: 0;
    }
}

/* END Shoppage container */

/* WFS sidebar categories */
@media (min-width:922px) {
    #wfs-sticky-sidebar {
        height: 80vh !important;
        overflow-y: auto !important;
        padding-top: 13%;
        position: sticky !important;
        z-index: unset !important;
        top: 0;
        display: block !important;
        visibility: visible !important;
        left: unset;
        background-color: unset !important;
    }

    .wfs-sidebar-menu {
        position: relative !important;
        transform: unset !important;
        background: unset !important;
        width: unset !important;
        height: 100%;
        overflow: unset !important;
        display: unset !important;
        align-items: unset !important;
        justify-content: unset !important;
        padding: unset !important;
    }

    .wfs-sidebar-content {
        opacity: 1 !important;
    }
}

.wfs-sidebar-menu {
    font-size: var(--font-size-25);
}

.wfs-sidebar-menu ul li a:hover {
    color: var(--color-link) !important;
}

.wfs-sidebar-menu ul a {
    border-bottom: none;
    background: none !important;
    padding: .25em;
    font-weight: 400;
}

.wfs-sidebar-menu ul li a:active {
    color: var(--color-bg-link) !important;
}


a.wfs-loop-category__title.active {
    color: var(--color-bg-link);
}

/* li.wfs-category-menu-li.hauptgerichte-main-dishes-mimi-pho a {
    font-family: "Arial Narrow", "Helvetica Neue", Helvetica, Arial, Geneva, Verdana, sans-serif;
    font-weight: 300;
} */

@media (max-width:921px) {
    #wfs-sticky-sidebar a.wfs-loop-category__title {
        font-size: var(--font-size-35);
    }

    .wfs-sidebar-menu.tan-modal-wrap {
        display: flex;
        align-items: center;
        padding: 2em .5em;
    }

    .wfs-sidebar-menu.tan-modal-wrap ul {
        text-align: center;
    }
}

/* ---- WFS search bar stick ---- */
.wfs-search-container {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 1;
    background: var(--color-body);

    padding: 0;
    padding-top: 1.5em;
    box-shadow: 0 20px 25px 25px var(--color-body);
    border-radius: 0 0 25px 25px;
    margin-bottom: clamp(2em, 10vw, 3em);
}

.wfs-search-wrap {
    position: relative;
    display: flex;
    border-radius: 0 0 5px 5px;
    align-items: center;
    gap: 1em;
    width: 100%;
}

.search-bar-item a {
    background-color: var(--color-bg-link);
    align-items: center;
    justify-content: center;
    color: var(--color-body);
    font-size: 23px;
    border-radius: 42px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    cursor: pointer;

}

.search-bar-item a:active {
    background-color: var(--color-link-active) !important;
}

.search-bar-item a:hover {
    background-color: var(--color-bg-link);
    color: var(--color-body);
}

/* WFS Search wrap */
.search-wrap {
    position: relative;
    flex: 1;
    display: inline-flex;
    align-items: center;
}

.wfs-search-container .wfs-food-search {
    border-radius: var(--border-radius-extra-large);
}

.search-bar-content {
    width: 100%;
}

/* Add class "searching" */
input.wfs-food-search.searching,
input.wfs-food-search.searching:focus {
    border: 2px solid var(--color-warning) !important;
    color: var(--color-warning) !important;
    font-weight: 500;
}

.search-wrap.search-bar-item {
    background: none;
}

.search-wrap i.wfs-icon-search,
.search-wrap i.wfs-icon-close {
    position: absolute;
    top: 50%;
    transform: translatey(-50%);
    right: .2em;
    font-size: 23px;
    cursor: pointer;
    padding: 0 .5em;
    color: var(--color-warning);
}

.search-wrap i.wfs-icon-close {
    font-size: 25px;
    right: 0;
    color: var(--color-error);
}

/* Open search btn */
.open-search-btn i.wfs-icon-search {
    position: unset;
    top: unset;
    right: unset;
    position: relative;
    color: var(--color-body);
    padding: 0 .5em;
}

/* Close search btn */
.close-search-mobile {
    cursor: pointer;
}

/* Btn Kasse */
.checkout-button.search-bar-item .wfs-proceed-to-checkout.text {
    width: unset;
    padding: 0 1em;
    color: var(--color-body);
    font-size: 17px;
    font-weight: 600;
    text-transform: uppercase;
}

/* Search notification */
#search_notification {
    display: none;
    padding: 1em;
    text-align: center;
    color: var(--color-warning);
}

/* Mobile search bar sticky */
@media(min-width: 922px) {
    .open-category-btn {
        display: none;
    }
}

@media (min-width: 501px) {

    .open-search-btn,
    .close-search-mobile,
    .wfs-search-wrap .wfs-proceed-to-checkout.icon {
        display: none;
    }
}

@media (max-width: 500px) {
    .wfs-search-wrap {
        justify-content: center;
    }

    .search-bar-item a {
        width: 40px;
        height: 40px;
        border-radius: 40px;
        font-size: 21px;
    }

    .wfs-proceed-to-checkout.text {
        display: none;
    }

    .search-wrap {
        position: absolute;
        width: 100%;
        max-width: 0%;
        overflow: hidden;
        padding: 0;
        background-color: var(--color-body) !important;
        z-index: 1;
        transition: var(--transition-max-width);
        -webkit-transition: var(--transition-max-width);
        -moz-transition: var(--transition-max-width);
        -o-transition: var(--transition-max-width);
        left: 0;
    }

    .search-wrap.mobile-focusing {
        max-width: 100%;
        overflow: visible;
    }

    /* Mobile close search */
    .close-search-mobile {
        padding-right: .5em;
        line-height: 1;
        font-size: 20px;
    }

    .close-search-mobile i {
        color: var(--color-warning);
        font-weight: 700;
    }
}

/* END Mobile search bar sticky  */

/* ---- END WFS search bar stick ---- */

/* -----  WFS Shop item design ----- */
/* note message */
.note-mesaage {
    background-color: var(--color-bg-note);
    padding: .5em;
    color: var(--color-note);
    max-width: 700px;
    margin: auto;
    padding-left: var(--padding-container);
    padding-right: var(--padding-container);
}

/* WFS items container */
.wfs-food-item-container:after {
    border-bottom: none;
}

/* Add class "not-in-search-custom" */
.wfs-category-title-container.not-in-search-custom {
    display: block;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* WFS Cate title */
.wfs-food-item-title:hover {
    color: var(--color-link-active) !important;
}

h3.wfs-category-title {
    font-size: var(--font-size-55);
    padding-bottom: 0;
}

/* div#\32 5_start h3 {
    font-family: "Arial", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
} */

/* WFS categories images */
.wfs-category-title-container {
    background-size: clamp(180px, 40vw, 370px);
    background-repeat: no-repeat;
    background-position: 87%;
    padding-top: 150px;
    padding-bottom: 150px;
    margin-top: -70px;
    margin-bottom: -150px;
}

div#\31 8_start {
    padding-top: 100px;
}

div#\31 9_start {
    background-image: url('/wp-content/uploads/2024/11/Vorspeisen.png');
    background-size: clamp(220px, 43vw, 450px);
}

div#\32 5_start {
    background-size: clamp(190px, 40vw, 385px);
    background-image: url('/wp-content/uploads/2024/11/Pho-MiMi.png');
}

div#\32 0_start {
    background-image: url('/wp-content/uploads/2024/11/Udon-Banh-Canh-1.png');
}

div#\32 1_start {
    background-image: url('/wp-content/uploads/2024/11/Ricenoodle-bun-cha-gio.png');
}

div#\32 2_start {
    background-image: url('/wp-content/uploads/2024/11/Duck-Curry-Don-Com-cari-vit.png');
}

div#\32 3_start {
    background-image: url('/wp-content/uploads/2024/10/Desserts-category.png');
}

div#\32 4_start {
    background-image: url('/wp-content/uploads/2024/11/GETRANKE-Limonad.png');
}

@media (max-width: 700px) {
    .wfs-category-title-container {
        background-position: 90%;
        padding-top: 130px;
        padding-bottom: 80px;
        margin-bottom: -60px;
    }
}

@media (max-width: 450px) {
    .wfs-category-title-container {
        background-position: 100%;
    }
}


/* WFS item images */
.wfs-food-item-image-container {
    display: none !important;
}

/* WFS cate description */
.wfs-category-short-desciption {
    color: var(--color-bg-link);
    font-weight: 600;
    font-size: var(--font-size-20);
    margin-top: 0;
}

p.cate_des_spec {
    text-align: center;
    max-width: 600px;
    border: 1px dashed #a5a5a5;
    border-radius: var(--border-radius-extra-large);
    ;
    color: #292929;
    font-size: 17px;
    line-height: 1.2;
    padding: 10px;
    margin: 10px auto !important;
}

p.cate_des_spec.special-product {
    font-weight: 600;
    border-color: var(--color-bg-link);
    color: var(--color-bg-link);
    ;
}

/* WFS title and description item */
.wfs-food-item-summery {
    padding-left: 0;
}

.wfs-food-item-title {
    font-size: var(--font-size-25);
    font-weight: 400;
}

.second-title-product {
    font-size: var(--font-size-16);
}

sup.sub-info-product {
    font-weight: 400;
    padding-right: .7em;
    font-size: 100%
}

.des-wraming-product {
    color: var(--color-warning);
}

.wfs-food-item-description {
    display: inline;
    font-size: 15px;
    color: #404040;
    text-align: left;
}

.wfs-food-item-summery .main-description-product {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wfs-food-item-summery .price {
    display: none !important;
}

span.TaniNox_Price_shop {
    font-weight: 400;
    vertical-align: middle;
    margin-right: 15px;
    margin-top: 10px;
    display: inline-block;
}

i.wfs-icon-plus {
    font-weight: 700;
}

/* Button plus and price item */
.wfs-food-item-cart-action .button-add-to-cart {
    display: inline-flex !important;
    width: 36px;
    height: 36px;
    color: var(--color-body);
    padding: 0;
}

.button-add-to-cart:active {
    background-color: var(--color-link-active) !important;
}

.button-add-to-cart i {
    font-size: 20px;
}

.button-add-to-cart svg {
    font-size: 25px;
}

button.fs-btn.fs-btn-primary.button-add-to-cart.wfs-product-modal {
    display: none;
    border-radius: 100%;
}

@media (max-width: 767px) {
    .fs-text-right.wfs-food-item-cart-action {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }

    span.TaniNox_Price_shop {
        margin: 0;
    }
}

@media (max-width: 375px) {
    .wfs-food-item-container {
        flex-direction: column;
        align-items: flex-end;
    }

    .wfs-food-item-summery {
        padding: 0;
    }

    .fs-text-right.wfs-food-item-cart-action {
        flex-direction: row;
        gap: .5em;
        padding: .5em;
        margin-left: auto;
    }

    .wfs-food-item-cart-action .button-add-to-cart {
        margin-top: 0;
    }
}

/* information food */
.infomation-food-wrap {
    display: flex;
    margin-top: 3em;
    justify-content: center;
    border-top: 1px dashed var(--color-border-element);
}

.infomation-food-content {
    text-align: center;
    padding: 1em;
    border-radius: var(--border-radius-extra-large);
    ;
    margin: 2em 0 2em 0;
}

.infomation-food-content h4 {
    margin-bottom: 0;
    margin-top: 1em;
}

/* -----  END WFS Shop item design ----- */


/* -----  WFS bottom cart design ----- */

/* WFS bottom cart bar sticky */
.wfs-cart-overview {
    background: var(--color-body) !important;
    box-shadow: var(--box-shadow-modal) !important;
    border-top: 1px solid #fff;
    padding-left: var(--padding-container);
    padding-right: var(--padding-container);
}

.wfs-cart-overview>div.fs-container {
    padding-left: 0;
    padding-right: 0;
}

.wfs-cart-overview-row {
    padding: 0;
    padding-bottom: .5em;
    gap: .5em;
}

.wfs-cart-toggle {
    width: unset;
    align-items: center;
    display: inline-flex;
    position: relative;
}

.wfs-cart-toggle a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    font-size: var(--font-size-30);
}

.wfs-cart-toggle .wfs-cart-subtotal-custom {
    font-size: var(--font-size-20);
}

span.count-items-mini {
    position: absolute;
    background-color: var(--color-warning);
    width: 21px;
    height: 21px;
    border-radius: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-body);
    font-size: 13px;
    right: -20px;
    top: 0;
}

.wfs-cart-overview-description {
    width: unset;
    margin-right: .5em;
    margin-right: auto;
    line-height: 30px;
    display: block;
}

.wfs-cart-overview-description p {
    font-size: var(--font-size-18);
    text-wrap: nowrap;
}

.wfs-cart-service-settings {
    width: unset;
    font-size: var(--font-size-16);
    display: block !important;
    margin-left: auto;
    padding-right: 1em;
    position: relative;
    top: 3px;
}

.wfs-cart-service-settings .wfs-change-service {
    color: var(--color-warning) !important;
    font-weight: 600;
}

.wfs-cart-purchase-actions {
    flex: unset;
}

.wfs-cart-subtotal {
    font-size: var(--font-size-20) !important;
}

a.wfs-clear-cart,
.wfs-change-service-mobile {
    display: none !important;
}

.fs-btn-md.fs-btn-primary.wfs-proceed-to-checkout {
    border-radius: var(--border-radius-extra-large);
    padding-left: 1.25em;
    padding-right: 1.25em;
}

.fs-text-right .wfs-cart-purchase-actions-mobile>a {
    margin: 0;
    padding: 0 .5em
}

.fs-text-right a.wfs-proceed-to-checkout {
    padding-right: 0;
}

.fs-text-right a.wfs-proceed-to-checkout svg {
    font-size: 25px;
    top: 3px;
    position: relative;
}

/* Info order setting in bottom cart */
.wfs-cart-overview-row .info-order-setting-wrapper {
    background: none;
    margin-bottom: 0;
    margin-left: 1em;
    padding: 0;
}

.wfs-cart-overview-row .info-order-content {
    gap: .2em;
    line-height: 1;
}

@media (max-width:770px) {
    .wfs-cart-overview-row .info-order-setting-wrapper .info-order-label {
        display: none;
    }
}

@media (min-width: 671px) {
    .wfs-cart-purchase-actions-mobile {
        display: none !important;
    }

    .wfs-cart-purchase-actions,
    .wfs-cart-overview-description,
    .wfs-cart-service-settings {
        display: block;
    }
}

@media (max-width:670px) {

    .wfs-cart-service-settings,
    .wfs-cart-subtotal-custom .text {
        display: none;
    }

    .wfs-cart-overview-description {
        display: none !important;
    }
}

@media (max-width:550px) {

    .wfs-cart-overview-row .info-order-type,
    .wfs-cart-overview-row .info-order-date-time {
        display: none;
    }

    .wfs-cart-overview-row .info-order-type-time.mobile {
        display: inline-block;
    }
}

@media (max-width:375px) {
    .wfs-cart-overview-row .info-order-setting-wrapper {
        display: none;
    }

    .wfs-change-service-mobile {
        display: inline-block !important;
        margin-right: .5em !important;
    }
}

/*----- WFS bottom cart expanded customize -----*/
.wfs-cart-expanded {
    -webkit-transition: var(--transition-height), var(--transition-opacity);
    -moz-transition: var(--transition-height), var(--transition-opacity);
    -o-transition: var(--transition-height), var(--transition-opacity);
    transition: var(--transition-height), var(--transition-opacity);
}


.wfs-body-fade.active {
    background-color: var(--color-overlay);
    opacity: 1;
}

.wfs-cart-expanded.empty.active,
.wfs-cart-expanded.active {
    height: 75vh;
    padding-bottom: 1em !important;
    background-color: var(--color-body)
}

.wfs-cart-expanded .fs-container {
    padding: 0 1.5em;
    height: 100%;
    padding-bottom: 35px;
}

.wfs-cart-content-area {
    background-color: var(--color-bg-input);
    box-shadow: var(--emboss-in-normal) !important;
    height: 100%;

    -webkit-overflow-scrolling: touch;
    padding: 1.5em;
    border: 1px solid var(--color-border-input);
    border-radius: 5px;
}

.wfs-cart-expanded-header {
    padding: 0 0 .75em 0;
}

.wfs-cart-wrapper .wfs-close-cart-icon {
    border-radius: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: .2em;
}

.wfs-cart-wrapper .wfs-close-cart-icon i.wfs-icon-close {
    font-size: 21px;
}

.wfs-cart-wrapper i.wfs-icon-close {
    margin-right: -1px;
}

/* cart expended content left */
.cart-content-left {
    width: 65%;
    padding-right: .65em;
}

.wfs-cart-item-container {
    padding-left: 0;
}

.wfs-cart-item {
    border-bottom: 1px dashed var(--color-border-min);
}

.wfs-cart-item-left {
    padding-right: .5em;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
}

.wfs-cart-item-title {
    margin: 0;
    flex-wrap: wrap;
    flex-direction: column;
}

.wfs-cart-item-title p {
    font-size: var(--font-size-18) !important;
}

p.special-items-cart-info {
    display: inline-block;
    font-size: var(--font-size-15) !important;
    border-radius: var(--border-radius-mid);
    color: var(--color-warning);
    font-weight: 500;
    padding-top: .3em;
}

.wfs-cart-actions.wfs-cart-item-edit,
.wfs-cart-actions.wfs-cart-item-delete {
    background-color: var(--color-bg-link);
    color: var(--color-body);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 100%;
    margin-right: 1em;
    font-size: 18px;
    width: 30px;
    height: 30px;
}

.wfs-cart-actions.wfs-cart-item-edit:focus,
.wfs-cart-actions.wfs-cart-item-delete:focus {
    background-color: var(--color-link-active) !important;
}

.wfs-cart-actions.wfs-cart-item-delete {
    background-color: var(--color-warning);
    margin-right: 0;
}

i.wfs-icon-trash-o {
    margin-top: -1px;
    margin-right: -1px;
}

.fs-text-right {
    white-space: nowrap;
    padding-right: 0;
}

.clear-cart-custom {
    text-align: right;
    padding: 1em .65em 2em 0;
}

.fs-btn-secondary {
    color: var(--color-warning) !important;
    border-color: var(--color-warning) !important;
    border-radius: var(--border-radius-extra-large);
    ;
}

button.fs-btn-md.fs-btn-secondary.wfs-clear-cart,
button.fs-btn-md.fs-btn-secondary.wfs-clear-cart:hover {
    background-color: var(--color-warning) !important;
    color: var(--color-body) !important;
    border: none;
}

/* wfs addon in cart */
.wfs-cart-item-left .wfs-cart-addon,
.wfs-cart-item-left .wfs-special-instruction {
    display: block;
    width: 100%;
    font-weight: 500;
    font-size: var(--font-size-15) !important;
}

/* cart expended content right */
.cart-content-right {
    width: 40%;
    border-left: 1px solid var(--color-border-min);
    padding-left: .65em;
}

.wfs-cart-totals-container {
    padding-right: 0;
}

.wfs-cart-totals-container hr {
    background: none;
    border-top: 1px dashed var(--color-border-min);
}

.wfs-cart-totals-item-left {
    flex: unset !important;
}

.rebowl-box-note {
    display: block;
    font-size: var(--font-size-15);
    font-style: italic;
    font-weight: 500;
    color: var(--color-warning);
}

.wfs-cart-item {
    flex-wrap: wrap;
}

/* media max-width */
@media(max-width: 800px) {
    .wfs-cart-content-area {
        align-content: flex-start;
    }

    .wfs-cart-content-area {
        flex-wrap: wrap;
    }

    .cart-content-left,
    .cart-content-right {
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .wfs-cart-item-container {
        padding-right: 0;
    }

    .cart-content-right {
        border-left: none;
        border-top: 1px solid var(--color-border-min);
        padding: 1.5em 0 4em 0;
        margin-top: .5em
    }

    .wfs-cart-totals-container {
        padding-left: 0;
    }
}

@media (max-width:767px) {
    .wfs-cart-totals-container {
        padding: 0;
    }

    .wfs-cart-actions.wfs-cart-item-edit {
        margin-right: .5em;
    }
}

@media (max-width:450px) {
    .wfs-cart-content-area {
        padding: .7em;
    }

    .wfs-cart-expanded .fs-container {
        padding-left: .7em;
        padding-right: .7em;
    }

    .fs-row.wfs-cart-item {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: .8em;
        padding: .3em 0;
    }

    .clear-cart-custom {
        text-align: left;
    }
}

/* Media max-height */
@media (max-height: 600px) {

    .wfs-cart-expanded.empty.active,
    .wfs-cart-expanded.active {
        height: 83vh;
        max-height: 100% !important;
    }
}

/* END WFS cart expanded */

/* -----  WFS Info Order Setting Wrapper ----- */

/* -----  WFS modal item ----- */

/* wfs modal dialog overlay */
#wfsModal,
.wfsmodal {
    z-index: 99999;
    background: var(--color-overlay);
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.wfsmodal-dialog {
    top: 5%;
}

/* wfs modal container */
.wfsmodal-container {
    max-height: 100%;
    margin: 0;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--border-radius-mid);
    /* hidden scrollbar */
    /* scrollbar-width: none;
    scrollbar-width: hidden; */
}

/* hidden scrollbar safari */
/* .inside-header-home::-webkit-scrollbar {
    display: none;
} */

#wfsServiceModal .tab-content {
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
    border-bottom: 1px dashed var(--color-border-mid);
}

#wfsServiceModal .wfsmodal-container,
#wfsConfirmationModal .wfsmodal-container {
    max-width: 600px;
}

/* wfs modal header */
header.wfsmodal-header {
    background-color: var(--color-bg-link);
    box-shadow: 0 5px 15px -7px #383737;
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 9;
    justify-content: space-between;
    align-items: center;
}

header.wfsmodal-header h5 {
    color: var(--color-body);
    font-size: var(--font-size-25);
    font-weight: 500;
}

.wfsmodal-container .wfsmodal-header .modal__close {
    width: 30px;
    height: 30px;
    border-radius: 30px;
    background-color: var(--color-body) !important;
    color: var(--color-bg-link) !important;
}

.wfsmodal-header .modal__close:before {
    content: none;
}

button.modal__close i.wfs-icon-close {
    font-size: 21px;
    font-weight: bold;
}

/* wfs modal images item */
.product-image-container {
    text-align: center;
    margin-bottom: 20px
}

.product-image-container img {
    border-radius: 5px;
    border: 1px solid #b5b5b5;
    box-shadow: 2px 2px 15px rgb(0 0 0 / 20%);
}

.wfsmodal {
    z-index: 99999;
}

.wfsmodal .modal-content-wrapper {
    display: block;
}

/* END wfs modal images item */

/* wfs Modal variable item */
.wfsmodal-body {
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
    -webkit-overflow-scrolling: touch;
    background: var(--color-body);
    padding-bottom: 3em;
}

.inox_price_popup {
    font-size: var(--font-size-16);
    padding-bottom: 1em;
    margin-bottom: 1.5em;
    border-bottom: 1px solid var(--color-border-element);
    font-weight: 600;
}

.product-content .main-description-product {
    padding-top: 1em;
}

.product-content .des-wraming-product {
    margin-bottom: 0;
}

.wfs-variations .wfs-variation>div {
    padding-top: 8px;
    padding-bottom: 8px;
    display: inline-flex;
}

.wfsmodal input[type="checkbox"],
.wfsmodal input[type="radio"] {
    width: 1em !important;
    height: 1em !important;
}

.wfs-variation.wfs-variation-radio {
    border-bottom: 1px solid var(--color-border-min);
    padding: 5px 10px;
}

.wfs-variations .wfs-variation:hover {
    background-color: rgb(0 0 0 /5%);
    border-radius: 4px;
}

p.wfs-pricing-option-label {
    display: none !Important;
}

.wfs-variation-image {
    display: none !Important;
}

.wfs-variation-info {
    width: 100%;
    display: flex;
}

.wfs-variation-name {
    display: inline-block;
    margin-right: 10px;
}

.wfs-variation-price {
    float: right;
}

span.inox_sub_desc {
    font-weight: 400;
}

.wfs-variation-price {
    font-weight: 600;
    margin-left: auto;
}

/* wfs Extra addon*/
h6.wfs-addon-category-title {
    margin-top: 10px;
    text-transform: uppercase;
}

/* wfs note popup */
.wfsmodal .wfs-special-instruction-wrapper {
    margin-top: 1em;
}

/* wfs modal add to cart button */
.wfsmodal-footer .wfs-modal-add-to-cart a {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: var(--font-size-16);
    padding: 0 5px;
    border-radius: 44px;
    height: 100%;
    min-height: 44px
}

.wfsmodal-footer .wfs-modal-add-to-cart a:active {
    background-color: var(--color-link-active) !important;
    transform: scale(1.015, 1.03) !important;
}

.wfsmodal-footer .wfs-modal-add-to-cart svg {
    font-size: 25px;
}

.add-to-cart-icon {
    font-size: var(--font-size-30);
    display: none;
}

/* wfs modal footer */
footer.wfsmodal-footer {
    position: sticky;
    position: -webkit-sticky;
    bottom: 0;
    width: 100%;
    background-color: var(--color-body);
    box-shadow: 0 -5px 15px -12px #383737;
    border-top: 1px solid #fff;
}

.wfs-modal-actions{
    align-items: center;
}

.wfs-modal-count input {
    min-height: 44px;
    padding-bottom: 2px !important;
}

input.wfs-qty-btn.wfs-qtyminus {
    border-radius: 44px 0 0 44px !important;
}

input.wfs-qty-btn.wfs-qtyplus {
    border-radius: 0 44px 44px 0 !important;
}

.wfs-modal-quantity{
    flex: 1;
}

.wfs-modal-quantity .wfs-qty-input{
    width: 50px;
}

@media (max-width: 921px) or (max-height: 921px) {
    .wfsmodal-dialog {
        top: 5px;
        bottom: 5px;
    }

    footer.wfsmodal-footer {
        padding-bottom: 30px;
    }
}

@media (max-width: 400px) {
    .wfsmodal-body {
        padding: 1.5em .5em 2em .5em;
    }

    .wfs-variation.wfs-variation-radio {
        padding: 5px 0;
    }

    .wfs-variation-radio .wfs-variation-info .wfs-variation-price {
        margin-right: 0;
    }

        .wfs-modal-actions{
            padding: 0 5px;
        }
}

@media (max-width: 335px) {
    .wfs-cart-action-text {
        display: none;
    }

    .add-to-cart-icon{
        display: block;
    }
}

/* -----  END WFS modal item ----- */

/* -----  WFS modal service date time ----- */

.wfs-service-dates-wrapper,
.wfs-service-time-wrapper {
    font-size: var(--font-size-16);
}

.wfs-service-modal-container select {
    padding: 0.4em 1.8em 0.4em .8em !important;
    min-height: 41px !important;
    height: unset !important;
}

.foodstore_service_error {
    border-radius: var(--border-radius-extra-large);
    padding: .5em 1em;
    margin-top: 0;
    margin-bottom: .7em;
    float: unset;
    /* important fix */
    height: 0;
    background-color: var(--color-bg-error);
    color: var(--color-error);
    text-align: center;
}

select.wfs-service-dates {
    margin-bottom: 9px;
}

/* Notice pickup time */
.pickup-notice {
    height: 0;
    overflow: hidden;
    text-align: center;
    font-size: var(--font-size-15);
}

.pickup-notice p {
    margin: 0;
    padding: 0;
}

/* .btn-manual-open-cart {
    border-radius: 42px;
    width: 37px;
    height: 37px;
    margin-top: .5em;
    padding: 0;
}

.btn-manual-open-cart svg {
    font-size: 20px;
} */

.wfs-service-modal-container button.wfs-update-service {
    border-radius: var(--border-radius-extra-large);
    color: var(--color-body);
    font-size: var(--font-size-18);
    height: unset;
    max-width: 400px;
    margin: 1em auto 2em auto;
    padding: .5em;
}

/* -----  END WFS modal service date time ----- */

/* ----- Order type option ----- */

.order-type-title {
    margin-bottom: .3em;
}

.error-services {
    height: 0;
    overflow: hidden;
    display: block;
    margin: -.4em 1em .5em .8em;
    font-size: var(--font-size-15);
    font-style: italic;
    color: var(--color-error);
}

.toggle-description {
    overflow: hidden;
    height: 0;
    font-style: italic;
    padding: 0 .8em;
}

.book-table-description label {
    font-style: normal;
}

.book-table-description p {
    padding: 0 .8em;
}

.toggle-description.active {
    height: auto;
}

/* ----- change service session in modal service----- */
.booking-session-in-modal {
    margin-top: 1em;
    margin-bottom: 4em;
    text-align: center;
}

.booking-session-in-modal h4 {
    margin: 0;
}

.booking-session-in-modal .info-order-setting-wrapper {
    background: none;
}

.booking-session-in-modal .info-order-change-btn,
.booking-session-in-modal .info-order-type {
    display: none !important;
}

.booking-session-in-modal .info-order-setting-wrapper {
    justify-content: center;
}

.booking-session-in-modal .change-service-wrap {
    display: flex;
    flex-direction: column;
    gap: 1em;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.booking-session-in-modal .change-service-wrap a {
    min-width: 300px;
    padding: .2em 1em;
    text-transform: capitalize;
    font-size: var(--font-size-16);
    font-weight: 600;
}

/* ----- WFS Hour working in modal service----- */

#wfsServiceModal .hours-working {
    border-top: 1px dashed var(--color-border-mid);
    padding-top: 1.5em;
    text-align: center;
    font-size: var(--font-size-15);
}


/* -----  info order setting ----- */
.info-order-type-time.mobile {
    display: none;
}

.info-order-setting-wrapper {
    background-color: var(--color-bg-content-light);
    padding: 1em;
    border-radius: var(--border-radius-mid);
    margin-bottom: 1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5em;
}

.info-order-content {
    display: flex;
    flex-direction: column;
    gap: .5em;
    line-height: 1.2;
}

.info-order-status {
    opacity: .6;
}

.info-order-status.info-selected {
    opacity: 1;
    font-weight: 500;
    display: inline-block;
}

.info-order-icon {
    font-size: var(--font-size-17);
    color: gray;
    vertical-align: middle;
    opacity: .6;
}

.info-order-icon.info-selected {
    color: var(--color-success);
    opacity: 1;
}

.info-order-change-btn .wfs-change-service {
    background-color: var(--color-bg-link);
    color: var(--color-body);
    font-size: var(--font-size-20);
    padding: .25em;
}

/* -----  WFS toast ----- */

.jq-toast-wrap {
    z-index: 99999999 !important;
}

.jq-toast-wrap {
    width: auto;
    max-width: 415px;

}

.jq-toast-single {
    font-size: var(--font-size-15);
    padding: .5em;
    padding-right: 2em;
    line-height: 18px;
}

.close-jq-toast-single {
    font-size: 25px;
    padding: 5px;
    top: -2px;
    right: 3px;
}

/* -----  END WFS toast----- */

/**
 * END ShopPage foodstore design ------------------------------------------------------------------
 * */

/**
 * Booking product customize ------------------------------------------------------------------
 * */
#post-2463 .woocommerce-breadcrumb,
#post-2463 p.price,
#post-2463 .product_meta,
#post-2463 .woocommerce div.product .product_title {
    display: none !important;
}

#post-2463 .entry-content {
    padding: 0;
    margin: 0;
}

#post-2463 .summary.entry-summary {
    width: 100% !important;
    float: unset !important;
    position: relative;
}

/* booked info in booking page */
.info-booked-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    background-color: var(--color-overlay);
    width: 100%;
    height: 100%;
    padding: 4em var(--padding-container);
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

.info-booked-content {
    background-color: var(--color-body);
    padding: var(--padding-container);
    border-radius: var(--border-radius-large);
}

.action-booked ul {
    display: flex;
    gap: 1em;
    list-style: none;
    margin: 1em 0;
    margin-bottom: .5em;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.action-booked ul li {
    width: 100%;
}

.action-booked li a {
    padding: .5em 1em;
    text-transform: capitalize;
    width: 100%;
    font-size: var(--font-size-18);
}

/* booking head content */
.booking-head-wrapper {
    background-color: var(--color-bg-content-light);
}

.booking-head-content {
    max-width: 800px;
    margin: 0 auto;
    text-align: center;
    padding: 3em var(--padding-container);
}

.woocommerce-product-details__short-description ul {
    list-style: none;
}

/* form booking */
.woocommerce div.product form.cart {
    margin: 2em 0;
    max-width: 650px;
    margin: 0 auto;
    padding: 2em var(--padding-container);
}

/* Booking form wrapper */
.wc-bookings-booking-form {
    border: none;
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    padding: 0;
}

/* fieldset calendar wrap */
.wc-bookings-booking-form fieldset {
    margin: 0;
    padding: 0;
}

.wc-bookings-date-picker-timezone-block {
    text-align: right;
    font-style: italic;
    font-size: 90%;
    padding-right: 2em;
}

.wc-bookings-date-picker .ui-widget-content {
    border-radius: var(--border-radius-large) !important;
    overflow: hidden;
    box-shadow: 0 0 50px #7070705c;
    border: 2px solid var(--color-body);
}

/* datepicker header */
.wc-bookings-date-picker .ui-datepicker-header {
    background-image: none;
    background-color: var(--color-bg-link);
    color: var(--color-body);
}

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next {
    top: 0;
    right: 0;
    height: 100% !important;
    width: 2.5em !important;
    background: none !important;
}

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev:active,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next:active {
    background-color: var(--color-link-active) !important;
}

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-prev span,
.wc-bookings-date-picker .ui-datepicker .ui-datepicker-next span {
    background: url(/wp-content/themes/generatepress-child/icon/chevron-down-light.svg) no-repeat center;
    background-size: 30px;
    padding: 0 !important;
    top: 45%;
    transform: rotate(-90deg);
}

span.ui-icon.ui-icon-circle-triangle-w {
    transform: rotate(90deg) !important;
}

.wc-bookings-date-picker .ui-datepicker .ui-datepicker-title {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: var(--font-size-25);
}

/* datepicker table */
.woocommerce div.product form.cart table {
    background-color: var(--color-body) !important;
}

.ui-datepicker table {
    font-size: var(--font-size-18);
    border-collapse: separate;
}

.wc-bookings-date-picker .ui-datepicker th {
    padding: 0;
    line-height: clamp(20px, 7vw, 40px);
    border: 0.5px solid var(--color-body);
    border-top: 1px solid;
    border-spacing: 10px !important;
    background-color: var(--color-bg-link);
    color: var(--color-body);
    font-weight: 600;
    border-radius: 0 0 clamp(2px, 10vw, 4px) clamp(2px, 10vw, 4px);
}

.wc-bookings-date-picker .ui-datepicker td {
    border-radius: clamp(2px, 10vw, 4px);
    position: relative;
}

.wc-bookings-date-picker .ui-datepicker td .ui-state-default {
    padding: 0;
    line-height: clamp(25px, 10vw, 60px);
    border-radius: clamp(2px, 10vw, 4px);
}

.wc-bookings-date-picker .ui-datepicker td.bookable a {
    background-color: var(--color-success) !important;
}

.wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
    background-color: var(--color-body) !important;
    color: var(--color-text) !important;
}

.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
    opacity: .4;
}

/* Current day */
.wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day {
    background-color: #00728f;
}

.wc-bookings-date-picker .ui-datepicker td.ui-datepicker-current-day a {
    width: clamp(17px, 7vw, 40px);
    height: clamp(17px, 7vw, 40px);
    border-radius: 50%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-body);
    font-weight: 600;
    line-height: 1;
    min-width: 17px;
    min-height: 17px;
}

/*  */
.wc-bookings-booking-cost.price {
    display: none !important;
    text-align: center;
    background: none;
    border: none;
}

/* number of person */
p.form-field.form-field-wide.wc_bookings_field_persons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .7em;
    order: 3;
    /* 	border-top: 1px solid var(--color-border-min);
	border-bottom: 1px solid var(--color-border-min); */
    margin: 1em 0;
    padding: 1em 0 1.5em 0;
    background-color: var(--color-bg-input);
    border-radius: var(--border-radius-large);

}

p.form-field.form-field-wide.wc_bookings_field_persons label {
    font-weight: 600;
}

.wc-bookings-booking-form .form-field input[type=number] {
    width: 100%;
}

/* block pick time */
.wc-bookings-booking-form .form-field {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    padding: 1em .5em;
    border-radius: 20px;
    background-color: var(--color-bg-input);
    margin-top: 1em;
}

.wc-bookings-booking-form .block-picker {
    overflow: visible;
    display: flex;
    flex-wrap: wrap;
}

.wc-bookings-booking-form .block-picker li {
    padding: .8em .7em;
    float: none;
    min-width: 33.3%;
}

.wc-bookings-booking-form .block-picker li a {
    margin: 0 auto;
    position: relative;
    padding: .4em 1.5em;
    border: 1px solid var(--color-border-input);
    border-radius: var(--border-radius-large);
    box-shadow: var(--box-shadow-input);
    font-size: var(--font-size-17);
    background-color: var(--color-bg-input) !important;
    color: var(--color-text) !important;
    font-weight: 500;
    transition: var(--transition-box-shadow), var(--transition-transform), var(--transition-border-color);
    -webkit-transition: var(--transition-box-shadow), var(--transition-transform), var(--transition-border-color);
    -moz-transition: var(--transition-box-shadow), var(--transition-transform), var(--transition-border-color);
    -o-transition: var(--transition-box-shadow), var(--transition-transform), var(--transition-border-color);
}

.wc-bookings-booking-form .block-picker li a.selected {
    background-color: var(--color-bg-input) !important;
    box-shadow: var(--box-shadow-input-hover);
    color: var(--color-text) !important;
    border: 1.5px solid var(--color-success);
    scale: 1.1;
}

/* booking-spaces-left */
.booking-spaces-left {
    background-color: var(--color-bg-input) !important;
    border-radius: var(--border-radius-large);
    border: none !important;
    padding: .2em 1em;
    color: var(--color-text);
    border: 1px solid var(--color-body);
    display: inline-block !important;
    position: absolute;
    bottom: -1.1em;
    left: 50%;
    transform: translatex(-50%);
    font-size: 12px;
}

/* Button submit booking form */
.woocommerce div.product form.cart .button {
    display: block;
    float: unset !important;
    width: 100%;
    max-width: 450px;
    margin: 2em auto !important;
    border-radius: var(--border-radius-large) !important;
    background-color: var(--color-bg-link) !important;
    padding: .8em 1.5em;
}

.woocommerce div.product form.cart .button:active {
    background-color: var(--color-link-active) !important;
}

/* @ media Woocommerce Booking */
@media(max-width:460px) {
    .wc-bookings-booking-form .block-picker li {
        min-width: 50%;
    }

    .wc-bookings-date-picker .ui-widget-content {
        border-radius: 15px !important;
    }
}

@media(max-width:305px) {
    .wc-bookings-booking-form .block-picker {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .wc-bookings-booking-form .block-picker li {
        min-width: 70%;
    }
}

/**
 * Woocommerce custom master style ------------------------------------------------------------------
 * */

/* hidden button forward cart page in message wrap  */
.button.wc-forward {
    display: none !important;
}

/* styling woocommerce-notices-wrapper */
.woocommerce-message::before {
    color: var(--color-success);
}

.woocommerce-message {
    border-top-color: var(--color-success);
}

/* ----- Woocommerce checkout ----- */

/* Input dropdown select number table */
div#table_number_select_field_wrapper {
    margin-bottom: 2em;
}
.woocommerce-billing-fields {
    display: none !important;
}

/* woo form container  */
form.checkout.woocommerce-checkout {
    max-width: 835px;
    margin: 0 auto;
    text-align: center;
}

/* woo checkout form styling  */
p#wfs_service_type_field label,
.woocommerce-billing-fields h3,
h3#order_review_heading {
    font-size: var(--font-size-30);
    text-transform: uppercase;
    font-weight: 400;
    color: var(--color-bg-link);
}

.woocommerce form .form-row.woocommerce-invalid .select2-container,
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
    color: var(--color-error);
}

textarea#order_comments::placeholder {
    color: var(--color-input-placeholder);
    font-size: var(--font-size-16);
}

.woocommerce form .form-row label {
    line-height: 1.5;
    font-size: var(--font-size-15);
}

/* woo error message */
.woocommerce-notices-wrapper {
    background-color: var(--color-bg-content-light);
}

.woocommerce-notices-wrapper>div {
    max-width: 1500px;
    margin: 2px auto;
}

.woocommerce-error {
    border-top-color: var(--color-error);
}

.woocommerce-error::before {
    top: .7em;
    left: .5em;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    background-color: var(--color-bg-note);
    border-radius: var(--border-radius-min);
}


.woocommerce-error::before {
    color: var(--color-error);
}

.woocommerce-error li {
    padding-left: 1em !important;
}

/* woo wfs service type */
p#wfs_service_type_field label {
    line-height: 2;
}

#wfs_checkout_fields {
    margin-bottom: 2em;
}

#wfs_service_type_field {
    padding: 0;
}

#wfs_service_type_field abbr {
    display: none;
}

#wfs_checkout_fields .wfs_co_service_type .input-radio:checked+label {
    display: none !important;
}

p#wfs_service_date_field label,
p#wfs_service_time_field label {
    text-align: left;
    margin-bottom: 5px;
}

#wfs_service_time_field h5,
.wfs-service-time-wrapper h5 {
    margin: 0;
    font-size: var(--font-size-18);
    line-height: 21px;
    color: var(--color-warning);
}

/* woo customer details session */
div#customer_details {
    margin-bottom: 2em;

}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    width: 100%;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
    width: 49%;
}

.col2-set label {
    margin-bottom: 5px;
    text-align: left;
}

#order_comments {
    min-height: 160px !important;
    max-width: 835px !important;
}

span.optional {
    display: none;
}

.woocommerce-additional-fields h3 {
    display: none;
}

.woocommerce-additional-fields {
    margin-top: 30px;
}

/* Book table info in order review */
.checkout-service-info-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 1.5em;
    margin-bottom: .5em;
    border-bottom: 1.5px solid var(--color-border-min);
    gap: .5em;
}

.checkout-service-info-content {
    text-align: left;
}

.checkout-service-info-content p {
    padding: 0;
    margin: 0;
    font-weight: 500;
    font-size: var(--font-size-15)
}

.checkout-service-info-content span.info-time {
    display: inline-block;
}

.checkout-service-info-content .edit-service-icon {
    width: 30px;
    height: 30px;
    font-size: 14px;
    flex: 1;
}

.redirect-edit-cart {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    font-size: 14px;
    gap: .5em;
}

.redirect-edit-cart .btn-manual-open-cart {
    margin: 0;
}

@media (max-width:600px) {
    .checkout-service-info-wrapper {
        padding-left: 0;
        padding-right: 0;
    }

    .redirect-edit-cart .text-icon {
        display: none;
    }
}

/* styling only book table checkout */
.only-book-table-checkout .woocommerce-checkout-review-order-table {
    display: none !important;
}

.only-book-table-checkout .checkout-service-info-wrapper {
    padding-top: 2em;
    flex-direction: column;
    justify-content: space-between;
    display: flex;
    align-items: center;
    gap: 2em;
}

.only-book-table-checkout .checkout-service-info-content {
    border: 1px dashed var(--color-border-mid);
    padding: 1em 2em;
    border-radius: var(--border-radius-mid);
    text-align: center;
}

.only-book-table-checkout .checkout-service-info-content h2 {
    margin-bottom: .2em;
    color: var(--color-success);
}

.only-book-table-checkout .only-booking-info {
    text-align: left;
}

.only-book-table-checkout .redirect-edit-cart {
    margin-left: auto;
    text-align: center;
}

/* button change service in checkout */
.redirect-booking-page-wrapper {
    margin-left: auto;
}

.edit-service-btn {
    display: inline-flex;
    gap: .5em;
    align-items: center;
    cursor: pointer;
}

.edit-service-icon {
    background-color: var(--color-bg-link);
    color: var(--color-body);
    width: 30px;
    height: 30px;
    border-radius: 30px;
    display: inline-flex;
    font-size: 18px;
    align-items: center;
    justify-content: center;
    padding: 0;
}

/* woo order review session */
#order_review {
    margin-bottom: 2em;
    background-color: var(--color-bg-content-light);
    border-radius: var(--border-radius-mid);
    padding: var(--padding-container);
}

table.shop_table.woocommerce-checkout-review-order-table,
.woocommerce table,
.woocommerce th,
.woocommerce td {
    border: none;
}

#order_review th {
    padding-left: 0;
    padding-right: 0;
    font-size: var(--font-size-15);
}

.cart_item td.product-name,
td.product-total {
    font-weight: 400;
    font-size: var(--font-size-16);
}

.cart_item td {
    border-bottom: none !important;
    border-top: 1px dashed var(--color-border-min) !important;
}

table.shop_table.woocommerce-checkout-review-order-table tbody tr:first-child td {
    border-top: none !important;
}

tr.cart-subtotal th,
tr.cart-subtotal td {
    border-top: 2px solid var(--color-border-min) !important;
}

tr.order-total th,
tr.order-total td {
    border-top: 0 !important;
    font-size: var(--font-size-18) !important;
}

table.shop_table tfoot td,
.product-total {
    text-align: right;
}

tr.order-total {
    color: var(--color-bg-link);
    font-size: 120%;
}

table.shop_table.woocommerce-checkout-review-order-table td {
    padding-left: 0;
    padding-right: 0;
}

tr.cart-subtotal td {
    font-weight: 600 !important;
}

/* woo payment session */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: none;
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid var(--color-border-min);
}

#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment li.wc_payment_method.payment_method_cod,
li.wc_payment_method.payment_method_cheque,
li.wc_payment_method.payment_method_bacs,
li.wc_payment_method.payment_method_paypal {
    font-size: var(--font-size-17);
}

#add_payment_method #payment ul.payment_methods li input,
.woocommerce-cart #payment ul.payment_methods li input,
.woocommerce-checkout #payment ul.payment_methods li input {
    margin-right: .5em;
}

li.wc_payment_method label {
    font-weight: 500;
}

.woocommerce #payment #place_order,
.woocommerce-page #payment #place_order {
    width: 100%;
    border-radius: var(--border-radius-extra-large);
    color: var(--color-body);
    background-color: var(--color-bg-link);
    padding: .4em 1em;
    max-width: 495px;
    margin: 0 auto;
    margin-top: .2em;
    float: none;
    font-size: var(--font-size-18);
    display: block;
}

ul.wc_payment_methods li {
    display: flex;
    align-items: center;
}

/* terms-and-conditions */
.woocommerce-terms-and-conditions-wrapper {
    padding-bottom: .5em;
}

.woocommerce-privacy-policy-text {
    font-size: var(--font-size-14);
}

.woocommerce-privacy-policy-text p {
    margin-bottom: .5em;
}


@media (max-width: 600px) {
    .woocommerce table.shop_table {
        padding: .5em 0 !important;
    }
}

@media (max-width: 420px) {
    #order_review {
        padding: .7em;
    }

    #wfs_checkout_fields {
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 300px) {
    #order_review {
        padding: .7em .3em;
    }

    .woocommerce form .form-row-first,
    .woocommerce form .form-row-last,
    .woocommerce-page form .form-row-first,
    .woocommerce-page form .form-row-last {
        width: 100%
    }
}

/* ----- END woocommerce checkout ----- */

/* ----- woocommerce thankyou page ----- */

/* Remove customer-details in thank you page */
.woocommerce-order-received section.woocommerce-customer-details {
    display: none !important;
}

/* booking info thankyou page */
.wc-booking-summary {
    margin: .5em 0 !important;
    background-color: var(--color-bg-input);
    border-radius: var(--border-radius-mid);
    padding: .5em clamp(.5em, 2vw, 1em);
    color: var(--color-text);
}

.status-paid,
.status-unpaid,
.status-confirmed {
    display: none !important;
}

.wc-booking-summary-list {
    margin: 0 !important;
}

.wc-booking-summary-list li {
    margin: 0 !important;
}

.woocommerce-order {
    max-width: 650px;
    margin: 0 auto;
    padding: 20px;
    border: 1px dashed var(--color-border-mid);
    border-radius: 15px;
    background-color: var(--color-bg-content-light);
}

ul.order_details li {
    line-height: 1.2;
    margin-bottom: .8em;
}

.woocommerce ul.order_details {
    display: none !important;
}

.woocommerce-order h2 {
    margin-bottom: 0;
    font-size: var(--font-size-30);
}

.only-book-table-thankyou {
    text-align: center;
    padding-bottom: 1em;
}

.only-book-table-thankyou h3 {
    color: var(--color-success);
    margin-bottom: 5px;
}

.only-book-table-thankyou p {
    margin: 0;
}

.woocommerce table.shop_table {
    border: none !important;
    padding: .5em 0;
}

.woocommerce-order-details tr td:last-child {
    text-align: right;
    font-weight: 600;
}

.woocommerce table.shop_table td {
    border-top: 1px solid var(--color-border-min);
}

/* hidđen meta item variable item */
.woocommerce table.shop_table ul.wc-item-meta {
    display: none !important;
}

.woocommerce .woocommerce-customer-details address {
    border: none;
}

p.woocommerce-customer-details--phone {
    margin-bottom: 0;
}

/* only-book-table thankyou page */
.only-book-table-checkout .woocommerce-order h2,
.only-book-table-checkout table thead,
.only-book-table-checkout table tfoot tr:nth-child(1),
.only-book-table-checkout table tfoot tr:nth-child(2) {
    display: none !important;
}

.only-book-table-checkout table tbody tr:first-child td {
    border: none !important;
}

@media (max-width:544px) {
    .woocommerce-order {
        padding: 10px;
    }

    .woocommerce table.shop_table td {
        padding: .5em 0;
    }
}


@media (max-width:450px) {

    .woocommerce table.shop_table td,
    .woocommerce table.shop_table th {
        padding: .5em 0;
    }
}
/* ----- END Woocomerce thankyou page ----- */

/* -----  Call waiter modal ----- */
/* Call waiter open button */
.wfs-cart-overview-row .call-waiter-open-wrap {
    align-content: center;
    padding-top: .5em;
    padding-left: 2em;
}
.woocommerce-order-received .call-waiter-open-wrap{
    text-align: center;
}
.call-waiter-open-wrap a {
    display: inline-flex;
    gap: .5em;
    align-items: center;
    font-size: var(--font-size-18);
    line-height: 1.2;
}
.call-waiter-open-wrap svg {
    width: 24px;
    height: 24px;
}
.call-waiter-modal-wrap {
    justify-content: center;
}
.call-waiter-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5em;
    margin-top: -10%;
    padding: .5em;
}
button#service-rufen-button {
    margin-top: 1em;
}

/* Call Waiter result */
.warning-message, .info-message {
    margin: 0;
    color: var(--color-error);
    font-style: italic;
    display: none;
}
.info-message{
    color: var(--color-warning);
}
.call-waiter-result {
    margin-top: 1em;
    font-size: var(--font-size-25);
    font-weight: 600;
    margin-bottom: 0;
    text-align: center;
    display: none;
}

.call-waiter-result.success {
    color: var(--color-success);
}

.call-waiter-result.failed {
    color: var(--color-error);
}


/**
 * Footer customize ------------------------------------------------------------------
 * */
.before-footer-container {
    width: 100%;
    background-color: var(--color-bg-dark);
    color: var(--color-body);
    padding: 1em 0;
    padding-top: 9em;
}

.before-footer-wrap {
    width: 100%;
    max-width: var(--max-width-session);
    margin: 0 auto;
    padding: var(--padding-container);
}

.before-footer-container hr {
    background-color: var(--color-border-line-dark);
    margin: 0;
    padding: 0;
    height: 2px;
}

.before-footer-container a {
    color: var(--color-main);
}

.before-footer-wrap row {
    width: 100%;
}

/* footer logo title */
.footer-logo {
    max-width: clamp(155px, 37vw, 180px);
    margin: 0 auto;
}

.footer-logo figure {
    margin-top: -6.5em;
    padding: 0 3em;
    background-color: var(--color-bg-dark);
}

.footer-logo-content {
    text-align: center;
}

/* footer main content */
.footer-main-content {
    display: flex;
    justify-content: space-around;
    gap: 1em;
    padding: 2em 0;
    font-size: var(--font-size-16);
    text-align: left;
}

.footer-main-content h3,
.footer-main-content h5 {
    margin-bottom: .2em;
}

.footer-main-content ul {
    list-style: none;
    margin: 0;
}

.footer-address h3 {
    margin: 0;
    line-height: 1;
}

.footer-address h5 {
    margin-bottom: .4em;
    text-transform: uppercase;
}

.footer-address p {
    padding: 0;
    margin: 0
}

.address-item-social ul {
    display: flex;
    gap: .7em;
    font-size: 25px;
    margin: .5em 0;
}

.footer-link .link-item-2 {
    margin-top: 1em;
}

.footer-main-content .hours-working-button {
    justify-content: flex-start;
}

/* Footer link */
.column.footer-link a{
    line-height: 1.85;
}

/* footer copyright */
.inside-site-info {
    background-color: #232728;
    color: var(--color-body);
    border-top: 3px solid var(--color-border-line-dark);
    font-size: var(--font-size-15)
}

.inside-site-info.grid-container {
    max-width: 100%;
    padding: 20px var(--padding-container);
    padding-top: 1em;
    padding-bottom: 6em;
}

.inside-site-info a {
    color: var(--color-body);
}

/* @media footer */
@media(max-width:850px) {
    .footer-main-content {
        justify-content: space-between;
        flex-wrap: wrap;
        max-width: 600px;
        margin: 0 auto;
    }

    .footer-link {
        width: 100%;
    }
}

@media(max-width:585px) {
    .footer-working-hours {
        width: 100%;
        margin-bottom: 1em;
        border: 1px solid var(--color-border-line-dark);
        padding: 2em 0;
        border-left: 0;
        border-right: 0;
    }
}

/*  New Event homepage */
#new_event_homepage_container {
    max-width: 1310px;
    margin: 3em auto 2em auto;
    font-size: var(--font-size-18);
    border: 3px solid var(--color-link);
    padding: 1em var(--padding-container);
    border-radius: var(--border-radius-large);
    background-color: #35281359;
}

/* Module New Event frontend */
.new-event-modal {
    width: 100%;
    max-width: 1000px;
    top: 2%;
    bottom: 2%;
    left: 0;
    right: 0;
    margin: auto;
    padding: var(--padding-container);
    box-shadow: none;
    overflow: hidden;
    background: none;
}

.new-event-content-wrapper.tan-modal-content {
    padding: 0;
    height: 100%;
    max-height: 100vh;
}

.new-event-header {
    background-color: var(--color-bg-link);
    color: var(--color-body);
    display: flex;
    justify-content: space-between;
    /* align-items: center; */
    border-radius: var(--border-radius-large) var(--border-radius-large) 0 0;
    padding: .5em var(--padding-container);
    box-shadow: 0px 5px 15px #37270d78;
    border-bottom: 1px solid #f0f0f082;
    position: relative;
    z-index: 1;
}

.new-event-header h2 {
    margin: 0;
    align-content: center;
}

.close-event-button {
    position: static;
    font-size: 16px;
    background-color: var(--color-body);
    color: var(--color-link);
    border-radius: 35px;
    width: 35px;
    height: 35px;
}

.new-event-content {
    padding: 2em var(--padding-container);
    overflow-x: hidden;
    overflow-y: scroll;
    max-height: 100vh;
    background-color: var(--color-body);
    border-radius: 0 0 var(--border-radius-large) var(--border-radius-large);
    box-shadow: 0 5px 30px #18181899;
}

.new-event-content p {
    margin-bottom: 0;
    font-size: var(--font-size-16);
}

/* END Module New Event */