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

/**
 * Root variables ---------------------------------
 * */
:root {
    /* MORI GLOBAL — một nguồn màu public; alias cũ giữ API theme/plugin. */
    --mori-paper: #f3e5cf;
    --mori-ink: #263e34;
    --mori-wine: #8d343d;
    --mori-green: #174e43;
    --mori-green-hover: #246657;
    --mori-text: #332d26;
    --mori-muted: #6b604e;
    --mori-line: #b7a58b;
    --mori-paper-light: #fff6e5;
    --mori-sand: #cdbca1;
    --mori-surface-dark: #2a2f30;
    --mori-surface-input: #ccc2b94d;
    --mori-surface-soft: #e9e0d67a;
    --mori-border-input: #ece5df;
    --mori-border-control: #a5a5a5a3;
    --mori-placeholder: #929292;
    --mori-error: #a00;
    --mori-error-bg: #df302217;
    --mori-note: #ae6509;
    --mori-note-bg: #d1aa3b17;
    --mori-warning: #773224;
    --mori-success: #2d5789;
    --mori-overlay: #161616e0;
    --mori-on-dark: #e6eceb;

    --color-bg-body: var(--mori-paper);
    --color-body: var(--mori-paper);
    --color-bg-dark: var(--mori-surface-dark);
    --color-bg-error: var(--mori-error-bg);
    --color-bg-input: var(--mori-surface-input);
    --color-bg-note: var(--mori-note-bg);
    --color-bg-link: var(--mori-green);
    --color-bg-bottom-right: linear-gradient(to bottom right, #efe8e038, #4d42351f);
    --color-bg-content-light: var(--mori-surface-soft);
    --color-border-element: var(--mori-border-control);
    --color-border-input: var(--mori-border-input);
    --color-border-min: rgba(0, 0, 0, 0.07);
    --color-border-mid: color-mix(in srgb, var(--mori-wine) 55%, transparent);
    --color-border-line: #4140404e;
    --color-border-line-dark: color-mix(in srgb, var(--mori-sand) 31%, transparent);
    --color-border-menu: #ffffff57;
    --color-error: var(--mori-error);
    --color-input-placeholder: var(--mori-placeholder);
    --color-link: var(--mori-wine);
    --color-link-active: var(--mori-green-hover);
    --color-main: var(--mori-sand);
    --color-note: var(--mori-note);
    --color-overlay: var(--mori-overlay);
    --color-sub: var(--mori-muted);
    --color-success: var(--mori-success);
    --color-text: var(--mori-text);
    --color-text-light: var(--mori-on-dark);
    --color-text-header: var(--mori-ink);
    --color-title: var(--mori-wine);
    --color-title-second: var(--mori-green);
    --color-warning: var(--mori-warning);

    /* Radius và khung dùng chung; composition/gap từng trang vẫn scoped. */
    --mori-radius-xs: 2px;
    --mori-radius-sm: 4px;
    --mori-radius-md: 6px;
    --mori-radius-lg: 7px;
    --mori-radius-image: clamp(4px,.45vw,7px);
    --mori-radius-panel: clamp(6px,.5vw,7px);
    --border-radius-min: var(--mori-radius-xs);
    --border-radius-mid: var(--mori-radius-sm);
    --border-radius-large: var(--mori-radius-md);
    --border-radius-extra-large: var(--mori-radius-lg);
    --mori-content-width: 1560px;
    --mori-gutter: clamp(22px,4.4vw,72px);
    --mori-panel-padding: clamp(18px,3vw,32px);

    /* Element size */
    --max-width-session: 1500px;
    --image-width-200: clamp(110px, 17vw, 200px);

    /* 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, 6.5vw, 30px);
    --font-size-35: clamp(26px, 6.5vw, 35px);
    --font-size-45: clamp(30px, 6.5vw, 45px);
    --font-size-55: clamp(35px, 10.5vw, 55px);
    --font-size-65: clamp(38px, 10.5vw, 65px);
    --font-size-75: clamp(41px, 10.5vw, 75px);
    --font-size-85: clamp(44px, 10.5vw, 85px);
    --font-size-95: clamp(47px, 10.5vw, 95px);
    --font-size-14rem: clamp(47px, 10.5vw, 95px);

    /* margin and padding */
    --max-width-section: 1650px;
    --padding-container: var(--mori-gutter);

    /* Shadow */
    --box-shadow-button: 4px 4px 5px #7b6c5d73, -4px -4px 5px #fdf3e9b3;
    --box-shadow-hover: 6px 6px 9px #9898985e, -6px -6px 9px #f0f0f085;
    --box-shadow-image: 6px 6px 10px #7b6c5d73, -6px -6px 10px #fdf3e9b3;
    --box-shadow-item: 3px 3px 7px #7b6c5d73, -3px -3px 7px #fdf3e9b3;
    --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-warm: 0.5px 0.5px 0px #6b553bb0, -0.5px -0.5px 0px #ccaf88bf;
    --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.2s 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);
}
@media(max-width:768px){:root{--mori-gutter:18px;--mori-panel-padding:18px}}
@media(max-width:414px){:root{--mori-gutter:12px;--mori-panel-padding:14px}}


/**
 * END Root variables
 * */

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

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

@font-face {
    font-family: "Bitter";
    src: url('/wp-content/themes/generatepress-child/assets/font/Bitter-VariableFont_wght.woff2') format('woff2');
    font-weight: 200 900;
    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: 100% !important;
    min-width: 250px !important;
    margin: 0 auto;
    overflow-x: hidden !important;
    overflow-y: auto;
    margin: 0 auto;
    padding: 0;
    word-wrap: break-word;
    outline: none !important;
    font-family: "Bitter", -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-20);
    color: var(--color-text);
    font-weight: 350;
}

/* Ẩ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, .site-content, .entry-header {
        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 */
}

/* ----- 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: "Bitter", -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: "Bitter", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

h1 {
    font-family: "iCielBCCubano", -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: "iCielBCCubano", -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: "iCielBCCubano", -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: "Bitter", -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);
    padding:0;
    margin: 0;
}

h5 {
    font-family: "Bitter", -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-20);
    padding:0;
    margin: 0;
}

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
 * */

/* ----- background texture ----- */
body {
    background-image: url(/wp-content/uploads/2026/04/texturetastic-gray.png);
}

@media (max-width: 500px) {
    .search-wrap.search-bar-item {
        background-image: url(/wp-content/uploads/2026/04/texturetastic-gray.png);
    }
}

/* ----- Color and stlye core ----- */
html,
body {
    background-color: var(--color-bg-body);
}
.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.sfHover>a {
    color: var(--color-text-light);
}
@media (hover:hover) and (pointer:fine){

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

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

/* link */
a,
a:focus {
    color: var(--color-link);
}
@media (hover:hover) and (pointer:fine){
a:hover{
    color: var(--color-link);
}}

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

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

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.edit-service-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-20);
    font-weight: 600;
    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,
.edit-service-icon:active {
    color: var(--color-bg-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 */
figure {
    margin: 0;
    padding: 0;
    line-height: 0.7;
}

@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 ---------------------------------
 * */
 /* a button link */
.button-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-23);
    text-transform: uppercase;
    color: var(--color-text-light);
    border-radius: var(--border-radius-extra-large);
    transition: var(--transition-box-shadow);
    -webkit-transition: var(--transition-box-shadow);
    -moz-transition: var(--transition-box-shadow);
    -o-transition: var(--transition-box-shadow);
    background-color: var(--color-bg-link);
}
@media (hover:hover) and (pointer:fine){

.button-link:hover {
    box-shadow: var(--box-shadow-button);
    color: var(--color-text-light);
}}

.button-link:focus {
    color: var(--color-text-light);
}

.button-link:active {
    transform: scale(1.015, 1.03) !important;
}
.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-bg-body);
}

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

/**
 * Snipper 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: gray !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 var(--color-link-active);
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;
    opacity: .8;
}

@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-bg-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 {
    background-color: var(--mori-paper);
    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-bg-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(20px, 5vw, 50px);
    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 var(--mori-gutter);
    }
}

/* 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 ---------------------------------
*/

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

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

.hours-working h4 {
    margin-bottom: .2em;
    font-size: var(--font-size-30);
}

.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: .5em;
    line-height: 1;
}

.hours-working-icon-button {
    background-color: var(--color-title);
    padding: .4em;
    border-radius: var(--border-radius-extra-large);
    color: var(--color-text-light);
    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;
    max-height: 1550px;
    overflow: hidden;
    background-color: var(--color-bg-bottom-right);
}

.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%;
}

.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: 1;
    object-position: 20% 0%;
}

.page-top-banner-content video {
    backface-visibility: hidden;
    will-change: transform;
}

img.cover-normal {
    object-position: 50% 65%;
    border-bottom: 1px solid #b7afa4;
}

/* ---- 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;
    margin-bottom: 2em;
}

.logo-custom {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
    line-height: 1;
}

.site-logo-with-menu .logo-custom {
    width: clamp(106px, 13vw, 136px);
}

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

/* Typography/state cua primary menu tap trung tai MORI GLOBAL NAV o cuoi file. */

/* 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 .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: 158px;
        margin: 0 auto;
    }


    header#masthead {
        color: var(--color-text);
    }

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

    /* 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;
    text-shadow: var(--text-shadow-warm);
}

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

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


/**
 * 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 --------------------------------- */

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

/* Homegroup welcome */
.inside-header-home .group-welcome {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
    position: relative;
    z-index: 1;
}
@media (hover:hover) and (pointer:fine){

.group-welcome #menu-primary-menu li a:hover {
    color: #f6f6f6;
}}

/* 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(106px, 13vw, 136px);
    margin: 0 auto;
}

/* home banner welcome warp */
.home-welcome-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 5%;
    margin-bottom: 15%;
}

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

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

.home-welcome-block.logo-text {
    width: 95%;
    max-width: 900px;
    margin: 0 auto;
}

.home-welcome-block.logo-text h1 {
    font-size: clamp(5rem, 18vw, 13rem);
    color: var(--color-title);
    line-height: 1;
}

.home-welcome-block.logo-text h3 {
    font-size: clamp(3rem, 10vw, 5rem);
    margin-bottom: -5px;
    color: var(--color-title);
}

.home-below-welcome h2 {
    font-size: clamp(30px, 4vw, 59px);
    margin-bottom: -20px;
    color: var(--color-bg-link);
    letter-spacing: 8px;
    margin-top: -8px;
    line-height: 1;
    margin-left: 10px;
}

.home-below-welcome h4 {
    font-size: clamp(26px, 8vw, 75px);
    letter-spacing: 3px;
    line-height: 1.1;
    text-transform: uppercase;
}

.home-below-welcome h5 {
    font-size: clamp(22px, 6vw, 45px);
    text-transform: uppercase;
    letter-spacing: 11px;
    line-height: 1;
}

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

.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-2 .entry-content {
    padding: 0;
}

/* ==========================================================================
   Homepage Section design
   ========================================================================== */

/* ----- homepage Section global ----- */
.section-wrap {
    width: 100%;
    max-width: 100%;
    position: relative;
    overflow: hidden;
}

.global-section {
    padding: 80px var(--padding-container);
}

.global-container {
    display: grid;
    grid-template-columns: 2.5fr 1fr;
    gap: clamp(10px, 3vw, 60px);
    max-width: var(--max-width-section);
    margin: 0 auto;
}

.global-section a.button-link {
    padding: .5em clamp(3rem, 5vw, 6rem);
    text-align: center;
    line-height: 1.2;
}

.dropcap-letter {
    margin-right: 2px;
    background: var(--color-text);
    display: inline-flex;
    margin-bottom: -4px;
    align-items: center;
    justify-content: center;
    transform: translateY(-10px);
    border-radius: var(--border-radius-min);
    padding: .3em 1em;
}

.dropcap-letter h3 {
    font-size: var(--font-size-65);
    color: var(--color-text-light);
    transform: translateY(-3px);
    line-height: 1;
    margin:0;
    padding: 0;
}

.reserve-box {
    background: var(--color-title);
    color: var(--color-text-light);
    padding: 35px 20px;
    margin-bottom: 40px;
    border-radius: var(--border-radius-min);
}

.reserve-box h2 {
    font-size: clamp(30px, 4vw, 80px);
    font-weight: 700;
}

.reserve-small {
    font-size: var(--font-size-20);
    text-transform: uppercase;
    font-style: italic;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 1em;
}

.reserve-small .text {
    font-size: var(--font-size-25);
    line-height: 1.1;
    white-space: nowrap;
}

.reserve-small .line {
    width: 100%;
    height: 1px;
    background-color: var(--color-text-light);
}

.section-line-break {
    width: 100%;
    border-top: 1px solid var(--color-border-mid);
    max-width: var(--max-width-section);
    margin: 2em auto;
}

@media (max-width: 475px) {
    .dropcap-letter {
        transform: translateY(-7px);
    }

    .reserve-small .text {
        white-space: normal;
    }
}

@media (max-width: 700px) {
    .global-section {
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .global-container {
        grid-template-columns: 1fr;
    }
}

/* ----- homepage - sec-speisekarte ----- */
/* LEFT */
.sec-speisekarte-left {
    margin-bottom: 3em;
}

.sec-speisekarte .sec-speisekarte-title {
    font-size: clamp(3.6rem, 8vw, 9rem);
    color: var(--color-title);
    line-height: 1;
    margin-bottom: 30px;
    padding: 0;
    font-weight: 700;
}

.sec-speisekarte-visual {
    text-align: center;
    max-width: 95%;
    margin: 0 auto;
}

.sec-speisekarte-visual img {
    width: 100%;
    max-width: 650px;
}

.sec-speisekarte-button {
    text-align: right;
    margin-top: 3em;
}

/* RIGHT */
.sec-speisekarte-right {
    border-left: 1px solid var(--color-border-mid);
    padding-left: clamp(10px, 4vw, 40px);
}

.sec-speisekarte .contact-visual {
    text-align: center;
    max-width: 95%;
    margin: 0 auto;
}

.sec-speisekarte .contact-visual img {
    width: 100%;
    height: 100%;
    margin: 20px 0;
    max-width: 400px;
}

.sec-speisekarte-right a.button-link {
    margin-bottom: 1.5em;
}

.sec-speisekarte-right .hours-working-button {
    display: none !important;
}

.sec-speisekarte .contact-info {
    text-align: center;
}

.sec-speisekarte-right .phone a {
    font-size: clamp(25px, 3vw, 35px);
    font-style: italic;
}

.sec-speisekarte-right .info-block {
    margin: 1em auto;
}

.sec-speisekarte-right .info-block h4 {
    font-weight: 500;
}

@media (max-width: 700px) {
    .sec-speisekarte {
        padding-top: 60px;
    }

    .sec-speisekarte .sec-speisekarte-title {
        font-size: clamp(2.2rem, 12vw, 6rem);
        text-align: center;
    }

    .sec-speisekarte-right {
        padding: 0;
        border: none;
    }

    .sec-speisekarte .reserve-box h2 {
        font-size: clamp(30px, 10vw, 65px);
    }

    .sec-speisekarte .contact-visual img {
        margin-top: 0;
    }
}

/* ----- homepage - sec-mittag and sec-order-online ----- */
.sec-mittag-order {
    padding-bottom: 0;
}

.sec-mittag-container {
    align-items: stretch;
}

.sec-mittag-title {
    font-size: clamp(4rem, 8vw, 9rem);
    color: var(--color-title);
    line-height: 0.9;
    margin: 0 0 15px 0;
}

.sec-mittag-subtitle {
    font-size: clamp(2rem, 8vw, 7rem);
    color: var(--color-bg-link);
    line-height: 0.9;
}

.italic-title {
    font-size: clamp(2.2rem, 3.5vw, 4.5rem);
    color: var(--color-title);
    font-style: italic;
    line-height: 1.1;
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 40px;
}

.mittag-content {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    margin-top: 4em;
    min-height: 750px;
}

.sketch-img, .sketch-img-small {
    mix-blend-mode: multiply;
    filter: contrast(1.1) grayscale(.7);
}

.aesthetic-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px solid var(--color-border-mid);
}

/* LEFT COLUMN  */
.sec-mittag-left {
    border-right: 1px solid var(--color-border-mid);
    padding-right: clamp(10px, 3vw, 60px);
    display: flex;
    flex-direction: column;
    padding-bottom: 40px;
}

.mittag-top-row {
    display: flex;
    gap: 30px;
    margin-bottom: 40px;
    flex-direction: column;
}

.mittag-photo {
    margin-top: 5em;
    display: flex;
}

.mittag-info-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: clamp(10px, 3vw, 60px);
}

.info-inner-box {
    border: 1px solid var(--color-border-input);
    text-align: center;
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius-min);
    background-color: var(--color-bg-input);
    box-shadow: var(--box-shadow-input);
}

.info-inner-box .drink-sketch {
    max-width: 100%;
    margin: 0px auto 2em auto;
}

.info-inner-box .drink-sketch img {
    width: 100%;
    height: 100%;
    margin-top: -10em;
}

.info-inner-box .info-text {
    padding: clamp(.7em, 2vw, 2em);
}

.info-inner-box h4 {
    font-weight: 700;
}

.info-inner-box h5 {
    margin-bottom: 3em;
}

.sec-online-order {
    padding-top: 0;
}

.online-order-left {
    border-right: 1px solid var(--color-border-mid);
    padding: 0;
    margin: 0;
    padding-right: clamp(10px, 3vw, 60px);
}

.online-order-left h2.sec-mittag-title {
    margin-bottom: 2rem;
}

.order-header-wrap {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: end;
    margin-bottom: 40px;
    border-top: 1px solid var(--color-border-mid);
    padding-top: 80px;
}

.product-sketch-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 4.3em auto;
}

.product-item {
    text-align: center;
}

.product-item figure {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 450px;
    margin: 0 auto;
    padding: 0;
    margin-bottom: 1em;
}

.product-item .sketch-img {
    max-height: 100%;
    width: auto;
}

.prod-name {
    font-weight: 600;
    color: var(--color-bg-link);
    text-transform: uppercase;
    font-size: var(--font-size-25);
}

.action-shop {
    text-align: right;
}

.sec-mittag-right {
    display: flex;
    flex-direction: column;
}

.specials-section {
    text-align: center;
    margin-bottom: 80px;
}

.special-item {
    margin: 0em auto;
    border-bottom: 1px solid var(--color-border-mid);
    padding: 1.5em 0;
}

.special-name {
    font-weight: 600;
    font-size: var(--font-size-35);
    color: var(--color-bg-link);
}

.special-item figure {
    max-width: 280px;
    margin: 0 auto 15px auto;
    width: 90%;
}
/* Note */
.online-order-right h4 {
    line-height: 1;
}

.cooks-note-section {
    text-align: center;
    margin-top: -2.5em;
}

.cooks-note-section h3.right-title {
    line-height: .9;
    font-size: clamp(2.2rem, 4.5vw, 4.5rem);
}

.note-red-box {
    background-color: var(--color-title);
    color: var(--color-text-light);
    padding: clamp(10px, 2vw, 60px);
    margin-bottom: 0;
}

.note-greeting, .note-signature {
    font-size: clamp(25px, 3.5vw, 35px);
    font-style: italic;
    margin: 20px 0;
}

.note-red-box p {
    font-size: var(--font-size-18);
}

.note-photo figure {
    margin: 0;
    height: 100%;
    border: 10px solid var(--color-title);
    border-radius: 0 0 2px 2px;
}

.note-photo img {
    max-height: 650px;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 850px) {
    .sec-mittag-container {
        grid-template-columns: 1fr;
    }

    .sec-mittag-left {
        border: none;
    }

    .sec-mittag-left {
        border: none;
        padding-right: 0;
    }

    .sec-mittag-left .sec-mittag-title {
        font-size: clamp(2.4rem, 12vw, 9rem);
    }

    .sec-mittag-subtitle {
        font-size: clamp(1.8rem, 10vw, 7rem);
    }

    .italic-title {
        font-size: clamp(2.5rem, 11vw, 5rem);
        text-align: left;
        margin-bottom: 0;
    }

    .cooks-note-section h3.right-title {
        font-size: clamp(3.2rem, 9.5vw, 5.5rem);
    }

    .spec-item-wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .special-item {
        padding: 3em .7em 0 .7em;
        margin-bottom: -10px;
        border: none;
    }

    .specials-section .italic-title {
        padding: 0;
        border: none;
    }

    .sec-online-order-container {
        grid-template-columns: 1fr;
    }

    .online-order-left {
        margin: 0;
        padding: 0;
        border: none;
    }

    .online-order-left h2.sec-mittag-title {
        margin-bottom: 2rem;
        font-size: clamp(3rem, 14vw, 7rem);
    }

    .online-order-right {
        display: grid;
        grid-template-columns: 1fr 1fr;
        margin-top: 5em;
    }

    .cooks-note-section {
        margin-top: 5em;
    }
}

@media (max-width: 550px) {
    .mittag-content {
        grid-template-columns: 1fr;
        margin: 0;
    }

    .mittag-photo {
        margin-top: 2em;
    }

    .mittag-info-wrap {
        padding: 0;
        margin-top: 4em;
    }

    .info-inner-box {
        width: 80%;
        max-width: 400px;
    }

    .info-inner-box .drink-sketch img {
        margin: 0;
    }

    .spec-item-wrap {
        grid-template-columns: 1fr;
    }

    .specials-section .italic-title {
        text-align: center;
    }

    .special-item {
        margin: 0 auto;
        max-width: 380px;
        border-top: 1px dashed var(--color-border-line);
        padding: 0;
        margin-top: 2em;
        padding-top: 3em;
    }

    .special-item figure {
        max-width: 75%;
    }

    .product-sketch-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }    

    .product-item {
        text-align: center;
        max-width: 400px;
        margin: 0 auto;
    }

    .action-shop {
        text-align: center;
    }

    .online-order-right {
        grid-template-columns: 1fr;
        max-width: 428px;
        margin: 0 auto;
        border-top: 1px solid var(--color-border-mid);
        margin-top: 5em;
    }
}

/* ----- homepage - sec-sushi ----- */
.sec-sushi-container {
    grid-template-columns: 1fr;
    align-items: center;
}

.sushi-title .title {
    background: var(--color-title);
    color: var(--color-text-light);
    padding: 20px;
    font-size: clamp(4rem, 12vw, 13rem);
}

.sushi-top-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 10px solid var(--color-title);
    border-radius: var(--border-radius-mid);
}

.sushi-top-row h3 {
    color: var(--color-bg-link);
    padding: 20px;
    font-size: clamp(22px, 2.5vw, 45px);
}

.sushi-pencil figure {
    padding-top: 1em;
    width: 95%;
    margin: auto;
}

.sushi-bottom-row {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 20px;
    margin-top: 2em;
}

.btn-sushi {
    margin-top: 2em;
}

.sushi-bottom-row .product-sketch-grid {
    margin: 0;
}

.sushi-item.product-sketch-grid figure {
    height: 100%;
    max-height: 365px;
}

.sushi-item.product-sketch-grid figure img {
    height: 100%;
    width: auto;
    object-fit: cover;
}

@media (max-width: 978px) {
    .btn-sushi {
        margin-top: 3em;
    }

    .sushi-bottom-row {
        grid-template-columns: 1fr;
        gap: 3.5em;
    }

    .sushi-item.product-sketch-grid figure {
        height: auto;
        max-height: 100%;
    }
}

@media (max-width: 700px) {
    .sushi-top-row {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 550px) {
    .sushi-bottom-row .prod-name {
        margin-bottom: 20px;
    }
}

/* ----- homepage - sec-gutschein ----- */
.sec-gutschein-container {
    grid-template-columns: 1fr;
}

.sec-gutschein-right {
    position: relative;
    min-height: 776px;
    overflow: hidden;
    border-radius: var(--border-radius-mid);
    display: flex;
    align-items: center;
    box-shadow: var(--box-shadow-image);
    background: var(--color-bg-bottom-right);
    margin: 0 auto;
    width: 100%;
    border-left: clamp(5px, 2vw, 40px) solid var(--color-title);
}

.gutschein-pic {
    position: absolute;
    right: 0;
    top: 0;
    max-width: 500px;
}

.gutschein-bottom-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    width: 100%;
}

.gutschein-content {
    padding: 20px;
    max-width: 700px;
    margin: 0 auto;
}

.gutschein-content h4 {
    text-transform: uppercase;
    font-weight: 600;
    font-size: var(--font-size-25);
}

.highlight {
    display: flex;
}

.highlight h1 {
    font-size: clamp(3rem, 14vw, 8rem);
    line-height: .8;
    color: var(--color-title);
    padding: 0 1rem;
    margin: 1rem 0 2rem 0;
}

.gutschein-content .symbolic {
    border-right: 3px solid var(--color-title);
    padding-left: 0;
}

.btn-gutschein {
    margin: 60px 0;
    position: relative;
}

@media (max-width: 700px) {
    .gutschein-bottom-row {
        grid-template-columns: 1fr;
    }

    .gutschein-pic {
        right: -100px;
    }
}

@media (max-width: 450px) {
    .gutschein-content .symbolic {
        display: none;
    }

    .highlight h1 {
        padding: 0;
    }
}


/* ----- homepage - sec-about-us ----- */
.sec-about-us-container {
    grid-template-columns: 1.3fr 1fr;
    border-left: none;
    border-right: none;
}

/* LEFT */
.sec-about-us-left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.sec-about-us .reserve-box h2 {
    font-size: clamp(4.5rem, 9vw, 10rem);
}

.sec-about-us-left h1 {
    font-size: clamp(25px, 5vw, 45px);
    margin-top: -2em;
    padding: 2em 0;
}

/* RIGHT */
.sec-about-us-right figure {
    width: 100%;
    height: 100%;
    overflow: hidden;
    min-height: 870px;
}

.sec-about-us-right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 1px solid var(--color-border-mid);
}

@media (max-width: 700px) {
    .sec-about-us-container {
        grid-template-columns: 1fr;
    }

    .sec-about-us-left h1 {
        font-size: clamp(25px, 9vw, 45px);
        margin: 0;
        margin-bottom: 1em;
        padding: 20px 0;
    }

    .sec-about-us .reserve-box h2 {
        font-size: clamp(3rem, 16vw, 10rem);
    }
}
/**
 * END Homepage design ---------------------------------
 * */

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

#post-11 .entry-content {
    max-width: 850px;
    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-224 .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 ------------------------------------------------------------------
 * */

.page-top-banner-wrap.page-id-7 {
    background: linear-gradient(to bottom, #f9e0c4, #4d4235);
}

 img.cover-shop {
    object-position: 45% 90%;
    opacity: .7;
}

/* 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{
    color: var(--color-link);
}
@media (hover:hover) and (pointer:fine){
.fs-container a:hover {
    color: var(--color-link);
}}



/* END Shoppage container */

/* -----  Direct link order type ----- */
#direct_order_type_modal_container .tan-modal-wrap {
    justify-content: center;
}
#direct_order_type_modal_container .tan-modal-content {
    text-align: center;
    max-height: 100%;
}
.direct-order-type-body .info {
    padding: .3em 0;
    font-size: var(--font-size-17);
    font-style: italic;
}
.direct-order-type-body .take-away {
    margin-bottom: 2em;
    border-bottom: 1px dashed var(--color-border-mid);
}

/* ----- WFS sidebar categories ----- */
ul.wfs-sidebar-content.tan-modal-content.wfs-category-grid {
    padding: 5% 0;
}

.wfs-cat-image-wrap {
    display: none !important;
}

.wfs-cat-image-wrap img {
    max-height: 300px;
    width: auto;
}

.wfs-sidebar-menu ul a {
    display: flex;
    align-items: center;
    gap: 2em;
    max-width: 700px;
    margin: 0 auto;
    padding: 1.5em var(--padding-container);
    border-bottom: 1px dashed var(--color-border-line);
}
@media (hover:hover) and (pointer:fine){

.wfs-sidebar-menu ul li a:hover {
    background-color: var(--color-bg-note);
}}

.wfs-sidebar-menu ul li a.active {
    background-color: var(--color-bg-note);
    font-weight: 700;
}

.wfs-sidebar-menu .wfs-cat-name {
    font-size: clamp(34px, 6.5vw, 55px);
    color: var(--color-title);
    line-height: 1;
}

.wfs-sidebar-menu .wfs-cat-description {
    font-size: var(--font-size-20);
    color: var(--color-text);
}

.wfs-sidebar-menu .wfs-cat-description .cate-second-title {
    font-size: clamp(25px, 5.5vw, 45px);
    color: var(--color-bg-link);
    line-height: 1;
}

/* ---- WFS search bar stick ---- */
.wfs-search-container {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 1;
    background-color: var(--color-bg-body);
    padding: 0;
    padding-top: 1.5em;
    box-shadow: 0 20px 25px 25px #e1d8ce96;
    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 {
    align-items: center;
    justify-content: center;
    color: var(--color-text-light);
    background: var(--color-bg-link);
    font-size: 23px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    cursor: pointer;

}
@media (hover:hover) and (pointer:fine){

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

/* 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) !important;
    height: 100%;
    border: 1px solid var(--color-bg-link) !important;
}

.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-size: var(--font-size-20);
}

.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-title);
}

.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-text-light);
    padding: 0 .5em;
}

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

/* Btn Kasse */
.search-bar-item .text {
    width: unset;
    padding: 0 1em;
    color: var(--color-text-light);
    font-size: var(--font-size-20);
    text-transform: uppercase;
    background: var(--color-bg-link);
}
@media (hover:hover) and (pointer:fine){

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

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

.open-category-btn.search-bar-item .icon {
        display: none;
    }

@media (max-width: 750px) {
    .open-category-btn.search-bar-item .icon {
        display: inline-flex;
    }
    .open-category-btn.search-bar-item .text {
        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;
        align-items: unset;
    }

    .search-bar-item a {
        width: 40px;
        height: 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-bg-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 ----- */
.wrapper-category {
    position: relative;
}

.wfs-food-item-container {
    align-items: center;
    max-width: 100%;
    flex-flow: nowrap;
    margin-bottom: 1em;
}

.wfs-food-item-container:after {
    display: none;
}

/* WFS item images */
.wfs-food-item-image-container {
    padding-right: 0;
    padding-left: 0;
}

.wfs-food-item-image-container img {
    object-fit: cover;
    width: 100% !important;
    height: 100%;
    border-radius: var(--border-radius-mid) !important;
}

/* WFS cate description */
.wfs-category-short-desciption {
    color: var(--color-title);
    font-weight: 600;
    font-size: var(--font-size-25);
    line-height: 1;
    margin-top: -5px;
    margin-bottom: 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-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;
}

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

.wfs-food-item-description {
    display: inline !important;
    color: var(--color-text);
    text-align: left;
}

.special-product {
    display: inline-block;
    font-weight: 600;
    color: var(--color-bg-link);
    font-size: var(--font-size-20);
}

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

.main-description-product {
    font-size: var(--font-size-17);
}

.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 ul.main-description-product {
    overflow: visible;
    display: flex;
    margin: 0;
    flex-direction: column;
    margin-left: 1em;
}

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

span.TaniNox_Price_shop {
    font-weight: 600;
    vertical-align: middle;
    display: inline-block;
    color: var(--color-bg-link)
}

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-text-light);
    padding: 0;
    margin-top: 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: 375px) {
    .fs-text-right.wfs-food-item-cart-action {
        flex-direction: row;
        margin-left: auto;
    }
}

/* information food */
.infomation-food-wrap {
    display: flex;
    margin-top: 3em;
    justify-content: center;
}

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

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

.warpper-after-image {
    flex: 100%;
    display: flex;
    align-items: start;
    justify-content: flex-end;
    padding: 0;
    gap: .5em;
}

/* 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;
}
@media (hover:hover) and (pointer:fine){

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

.wfs-category-title-container .wfs-category-title {
    color: var(--color-title) !important;
    line-height: 1;
    font-size: clamp(2.7rem, 10vw, 6rem);
    margin-bottom: -10px !important;
}

.wfs-category-title-container .cate-second-title {
    color: var(--color-bg-link);
    margin-bottom: 10px !important;
    line-height: 1;
    font-size: clamp(2.2rem, 8vw, 4.5rem);
}

.cate-second-title.smaller {
    font-size: var(--font-size-35);
    color: var(--color-bg-link);
    margin: 5px 0 !important;
}

.wfs-category-title-container {
    margin: 6em .5em 3em;
}

/* ----- Custom layout in live search ----- */
.layout-in-search .shop-category-image, .layout-in-search img, .layout-in-search .wfs-food-item-image-container,
.layout-in-search .wfs-category-title-container, .layout-in-search .product-listing-end {
    display: none !important;
}

.layout-in-search .wrapper-category {
    max-width: 1000px !important;
    margin: 0 auto;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.layout-in-search .category-content {
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column;
    max-width: 615px !important;
    margin: 0 auto !important;
}

.layout-in-search .wrapper-list-product {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    display: block;
}

.layout-in-search .warpper-after-image {
    display: flex !important;
    padding: 0 .5em 0 .5em;
}

.layout-in-search .wrapper-list-product .fs-row {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
}

.layout-in-search .fs-text-right.wfs-food-item-cart-action {
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
}

.layout-in-search .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
}

.layout-in-search .layout-in-search .fs-text-right.wfs-food-item-cart-action {
    margin: 0 !important;
    padding: 0 !important;
}


/* ----- Custom Category shop page ----- */

/* Custom shop page global */
#wfs-food-items .category-content {
    display: grid;
    grid-template-columns: .9fr 1fr;
    box-shadow: var(--box-shadow-image);
}

.shop-category-image {
    line-height: .6;
}

.shop-category-image figure {
    width: 100%;
    height: 100%;
}

.shop-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 30%;
}

.wrapper-list-product {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--color-title);
    border-left: 1px dashed rgb(73 73 73 / 55%);
    border-radius: var(--border-radius-mid);
    padding: clamp(.5em, 4.5vw, 3em) clamp(.5em, 4.5vw, 4em);
}

.wrapper-list-product .fs-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.wrapper-list-product .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    width: 100%;
    display: flex;
    align-items: flex-start;
}

@media (max-width:1024px) {
    #wfs-food-items .category-content {
        grid-template-columns: 1fr 1.2fr;
    }
}

@media (max-width:678px) {
    #wfs-food-items .category-content {
        grid-template-columns: 1fr 1.3fr;
    }
}

@media (max-width:539px) {
    #wfs-food-items .category-content {
        grid-template-columns: 1fr;
    }
}

/* ===== Custom: shop category 1fr ===== */
#category_49_wrapper .category-content,
#category_50_wrapper .category-content,
#category_51_wrapper .category-content,
#category_52_wrapper .category-content,
#category_53_wrapper .category-content {
    grid-template-columns: 1fr !important;
}

#category_49_wrapper .shop-category-image img,
#category_50_wrapper .shop-category-image img,
#category_51_wrapper .shop-category-image img,
#category_52_wrapper .shop-category-image img,
#category_53_wrapper .shop-category-image img {
    max-height: 420px;
    min-height: 200px;
}

#category_49_wrapper .wrapper-list-product,
#category_50_wrapper .wrapper-list-product,
#category_51_wrapper .wrapper-list-product,
#category_52_wrapper .wrapper-list-product,
#category_53_wrapper .wrapper-list-product {
    border-left: 1px solid var(--color-title);
    border-top: 1px dashed rgb(73 73 73 / 55%);
}

@media (min-width: 601px) {
    #category_49_wrapper .wrapper-list-product .fs-row,
    #category_50_wrapper .wrapper-list-product .fs-row,
    #category_51_wrapper .wrapper-list-product .fs-row,
    #category_52_wrapper .wrapper-list-product .fs-row,
    #category_53_wrapper .wrapper-list-product .fs-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    #category_49_wrapper .wrapper-list-product .fs-row::before,
    #category_50_wrapper .wrapper-list-product .fs-row::before,
    #category_51_wrapper .wrapper-list-product .fs-row::before,
    #category_52_wrapper .wrapper-list-product .fs-row::before,
    #category_53_wrapper .wrapper-list-product .fs-row::before {
        content: none;
    }

    #category_49_wrapper .right-col,
    #category_50_wrapper .right-col,
    #category_51_wrapper .right-col,
    #category_52_wrapper .right-col,
    #category_53_wrapper .right-col {
        padding-left: clamp(.5em, 1.5vw, 2em);
    }

    #category_49_wrapper .left-col,
    #category_50_wrapper .left-col,
    #category_51_wrapper .left-col,
    #category_52_wrapper .left-col,
    #category_53_wrapper .left-col {
        padding-right: clamp(.5em, 1.5vw, 2em);
    }
}


/* ====== Custom: shop category Special Sushi ====== */
@media (min-width: 601px) {
    #category_54_wrapper .wrapper-list-product .fs-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: auto;
        align-items: stretch;
    }

    #category_54_wrapper .wrapper-list-product .fs-row::before {
        content: none;
    }

    #category_54_wrapper .right-col {
        padding-left: clamp(.5em, 1.5vw, 2em);
    }

    #category_54_wrapper .left-col {
        padding-right: clamp(.5em, 1.5vw, 2em);
    }
}

#category_54_wrapper .category-content {
    grid-template-columns: 1fr;
    box-shadow: none;
}

div#category_54_image {
    display: none;
}

#category_54_wrapper .wrapper-list-product {
    border:none;
    padding: 0;
}

#category_54_wrapper .wfs-food-item-container {
    display: flex;
    grid-template-columns: 1fr;
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 1.5em;
    border: 1px dashed var(--color-border-line);
    border-radius: var(--border-radius-mid);
    box-shadow: var(--box-shadow-item);
    flex-direction: column;
    height: 100%;
}

#category_54_wrapper .warpper-after-image {
    padding: .8em clamp(.5em, 1.5vw, 1em) 1em;
    width: 100%;
}

#category_54_wrapper .wfs-food-item-image-container {
    width: 100%;
    height: 100%;   
}

#category_54_wrapper .wfs-food-item-image-container img {
    min-height: 180px;
    max-height: 280px;
}


/* ====== Custom: shop category Sushi Combo ====== */
@media (max-width:649px) {
    #category_57_wrapper .category-content {
        grid-template-columns: 1fr !important;
    }
}





/* Custom: MON TRUA – MITTAGSKARTE */

/* #category_17_wrapper div#category_17_image {
    flex: 65%;
    max-width: 50%;
}

div#category_17_wrapper .wfs-category-title-container {
    text-align: center;
}

div#category_17_wrapper .warpper-after-image {
    display: block;
}

div#category_17_wrapper .fs-text-right.wfs-food-item-cart-action {
    flex-direction: row; 
    gap: 1em;
    padding: 0;
    padding-top: .5em;
}

div#category_17_wrapper .button-add-to-cart {
    margin-top: 0;
} */

/* Custom: SUPPEN */
/* div#category_24_wrapper {
    max-width: 1000px;
    margin: auto;
}

div#\32 4_start {
    text-align: center;;
}

div#category_24_image {
    float: left;
    width: 35%;
}

#category_24_wrapper .fs-row {
    display: flex;
    flex-direction: column;
}

#category_24_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    width: 100%;
    justify-content: flex-start;
}

@media (max-width:768px) {
    div#category_24_image {
        float: unset;
        display: flex;
        justify-content: center;
        margin: 0 auto;
        margin-top: -3em;
        width: 50%;
    }
    #category_24_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
        width: 100%;
        justify-content: center;
    }
} */

/* VORSPEISE */
/* div#category_25_wrapper {
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 4em;
}

div#category_25_image {
    float: right;
    margin-top: -14em;
    margin-bottom: 2em;
    margin-right: 2em;
    max-width: 45%;
    height: 362px;
}

div#category_25_image img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 830px) {
    div#category_25_wrapper {
        margin-top: 0;
    }
    div#\32 5_start {
        text-align: center;
    }
    div#category_25_image {
        float: none;
        margin: -1em auto 3em auto;
        width: 100%;
        overflow: hidden;
        max-width: 550px;
        max-height: 250px;
    }
    div#category_25_image img {
        width: 100%;
        height: 100%;
        max-width: 100%;
        max-height: 100%;
        object-fit: cover;
    }
} */

/* GOI - SALAT */
/* div#category_26_wrapper {
    max-width: 1100px;
    margin: 0 auto;
}

div#\32 6_start {
    text-align: center;
}

#category_26_wrapper .wrapper-list-product {
    padding-top: 1.5em;
}

div#category_26_image {
    float: left;
    margin-right: 1em;
    max-width: 42%;
    height: 310px;
}

div#category_26_image img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
}

#category_26_wrapper .wrapper-list-product .fs-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

#category_26_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    width: 100%;
}

@media (max-width: 660px) {
    div#category_26_image {
        float: none;
        margin: -1em auto 3em auto;
        width: 100%;
        overflow: hidden;
        max-width: 550px;
        max-height: 250px;
    }
    div#category_26_image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
} */

/* SPEZIALITÄTEN DES HAUSES */
/* div#category_33_wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

div#\33 3_start {
    position: relative;
}

div#\33 3_start h3 {
    text-align: center;
    border: 1px dashed var(--color-title);
    max-width: 600px;
    border-radius: var(--border-radius-extra-large);
    padding: .2em .2em 0 .2em;
}

div#category_33_image {
    float: right;
    margin-top: -1em;
    height: 635px;
    max-width: 41%;
}

div#category_33_image img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
}

#category_33_wrapper .fs-row {
    display: flex;
    flex-direction: column;
}

#category_33_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    display: flex;
    justify-content: flex-start;
    width: 100%;
}

@media (max-width: 660px) {
    div#category_33_image {
        float: none;
        margin: -1em auto 3em auto;
        width: 100%;
        overflow: hidden;
        max-width: 550px;
        max-height: 250px;
    }
    div#\33 3_start {
        text-align: center;
    }
    div#\33 3_start h3 {
        margin: 0 auto !important;
    }
} */

/* MON CHINH
WARME HAUPTGERICHTE */
/* div#category_43_wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

#category_43_wrapper div#category_43_image {
    float: left;
    margin-top: -1em;
    height: 608px;
    max-width: 42%;
}

div#category_43_image img {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    object-position: center;
}

#category_43_wrapper .wrapper-list-product {
    margin-top: -1em;
}

#category_43_wrapper .fs-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

#category_43_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    width: 100%;
    justify-content: flex-end;
}

@media (max-width: 660px) {
    #category_43_wrapper div#category_43_image {
        float: none;
        margin: -1em auto 3em auto;
        width: 100%;
        overflow: hidden;
        max-width: 550px;
        max-height: 250px;
    }
    div#\34 3_start {
        text-align: center;
    }
} */

/* NIGIRI */
/* div#category_46_wrapper, #category_60_wrapper {
    max-width: 1200px;
    margin: 0 auto;
    overflow: visible;
}

div#\34 6_start, div#\36 0_start {
    margin-bottom: 1em;
}

div#\36 0_start {
    margin-top: 0;
}

div#classic-nigiri_end {
    border: none;
    margin-bottom: -5em;
}

#category_60_wrapper .fs-row {
    display: flex;
    flex-direction: column;
}

div#category_60_image {
    float: right;
    margin-top: -17em;
    height: 480px;
    max-width: 45%;
}

div#category_60_image img {
    max-height: 453px;
}

#category_60_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    width: 100%;
    justify-content: flex-start;
    max-width: 90%;
}

@media (max-width: 768px) {
    div#\34 6_start, div#\36 0_start {
        text-align: center;
    }
    #category_60_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
        max-width: 100%;
    }
    div#category_60_wrapper {
        display: flex;
        flex-direction: column;
    }
    div#\36 0_start {
        order: 2;
    }
    div#category_60_image {
        float: none;
        height: auto;
        order: 1;
        margin: 0 auto;
        max-width: 75%;
        padding: 0;
        margin-top: -4em;
        margin-bottom: -2em;
    }
    #category_60_wrapper .wrapper-list-product {
        order: 3;
    }
    div#aburi-nigiri_end {
        order: 4;
    }
} */

/* Maki Rolls */
/* div#category_47_wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

div#\34 7_start {
    text-align: left;
    margin-top: 6em;
}

div#category_47_image {
    float: right;
    margin-top: -8em;
    max-width: 50%;
}

@media (max-width: 1200px) {
    div#\34 7_start {
        text-align: center;
        margin-top: 5em;
    }
    div#category_47_image {
        float: none;
        max-width: 100%;
        width: 98%;
        text-align: center;
        margin: 0 auto;
        margin-top: -3em;
    }
} */

/* INSIDE OUT ROLL (hidden) */
/* div#category_61_wrapper {
    text-align: center;
}

h3#\36 1 {
    font-size: var(--font-size-85);
}

div#category_61_image {
    margin-top: -3em;
}

#category_61_wrapper .wrapper-list-product, div#inside-out-rolls_end {
    display: none;
} */

/* INSIDE OUT */
/* #category_49_wrapper, #category_50_wrapper, #category_51_wrapper, #category_52_wrapper, #category_53_wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

div#veggie-inside-out-rolls_end, div#chicken-inside-out_end, div#salmon-inside-out_end, div#duck-inside-out_end {
    border: none;
}

div#\34 9_start, div#\35 0_start, div#\35 1_start, div#\35 2_start, div#\35 3_start {
    margin-top: .5em;
    margin-bottom: .5em;
} 

#category_50_wrapper, #category_51_wrapper, #category_52_wrapper, #category_53_wrapper {
    margin-top: -6.5em;
}

div#\35 4_start {
    text-align: center;
}

h3#\34 9, h3#\35 0, h3#\35 1, h3#\35 2, h3#\35 3 {
    font-size: var(--font-size-45);
    padding-top: .5em;
}

@media (max-width: 550px) {
    h3#\34 9, h3#\35 0, h3#\35 1, h3#\35 2, h3#\35 3 {
        text-align: center;
    } 
} */

/* SPECIAL SUSHI */
/* div#category_54_wrapper {
    max-width: 1100px;
    margin: 0 auto;
}

div#\35 4_start {
    text-align: center;
}

#category_54_wrapper .shop-category-image {
    float: left;
    max-width: 41%;
    height: 650px;
}

#category_54_wrapper .shop-category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    max-height: 100%;
}

#category_54_wrapper .fs-row {
    display: flex;
    flex-direction: column;
}

#category_54_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}

@media (max-width: 700px) {
    #category_54_wrapper .shop-category-image {
        float: none;
        margin: -1em auto 3em auto;
        width: 100%;
        overflow: hidden;
        max-width: 100%;
        height: 250px;
    }
    #category_54_wrapper .shop-category-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        max-height: 100%;
    }
} */

/* SASHIMI */
/* div#category_55_wrapper {
    max-width: 1100px;
    margin: 0 auto;
}

div#\35 5_start {
    text-align: center;
}

div#category_55_image {
    float: left;
    margin-top: -1.5em;
    width: 38%;
}

.category_55_image .shop-category-image img {
    max-height: 320px;
    width: auto;
}

#category_55_wrapper .fs-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

#category_55_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    width: 100%;
}

@media (max-width: 700px) {
    div#category_55_image {
        float: none;
        display: flex;
        justify-content: center;
        margin: 0 auto;
        margin-top: -2em;
        width: 60%;
    }
} */

/* FUTO BIG ROLLS */
/* div#category_56_wrapper {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

div#\35 6_start {
    order: 1;
    text-align: center;
}

div#category_56_image {
    order: 3;
    margin-top: -10em;
    margin-bottom: -5em;
}

div#category_56_image img {
    max-height: 385px;
    float: right;
    margin-right: 1.2em;
    max-width: 50%;
}

#category_56_wrapper .wrapper-list-product {
    order: 2;
}

div#futo-big-rolls_end {
    order: 4;
}

@media (max-width: 768px) {
    div#category_56_wrapper {
        display: unset;
    }
    div#category_56_image {
        margin-top: -4em;
        margin-bottom: 0;
        float: none;
        width: 100%;
        text-align: center;
    }
    div#category_56_image img {
        max-height: 385px;
        float: none;
        margin-right: 0;
        max-width: 75%;
    }
} */

/* Sushi Combo */
/* div#category_57_wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

div#\35 7_start {
    margin-left: 2.5em;
}

h3#\35 7 {
    font-size: var(--font-size-65);
}

div#category_57_image {
    float: left;
    max-width: 45%;
}

div#category_57_image img {
    max-height: 500%;
}

#category_57_wrapper .wrapper-list-product {
    margin-top: -8.5em;
}

#category_57_wrapper .fs-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

#category_57_wrapper .fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    width: 100%;
}

@media (max-width: 768px) {
    div#\35 7_start {
        margin-left: 0;
        text-align: center;
    }
    div#category_57_image {
        float: none;
        max-width: 55%;
        margin: auto;
        margin-top: -3em;
    }
    #category_57_wrapper .wrapper-list-product {
        margin-top: 0;
    }
} */

/* DESSERT */
/* div#category_58_wrapper {
    max-width: 1200px;
    margin: 0 auto;
}

div#\35 8_start {
    text-align: center;
    position: relative;
}

h3#\35 8 {
    font-size: var(--font-size-75);
}

#category_58_wrapper div#category_58_image {
    text-align: center;
    margin-top: -4em;
}

div#category_58_image img {
    max-height: 350px;
    max-width: 60%;
}

#category_58_wrapper .wrapper-list-product {
    margin-top: -3em;
}

#category_58_wrapper .fs-row {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.fs-col-lg-6.fs-col-md-6.fs-col-sm-12.fs-col-xs-12.fs-2-columns {
    display: flex;
    justify-content: center;
}

div#dessert_end {
    border: none;
} */
/*
* END Custom Category shop page
*/

/*
* Custom mobile item shop
*/

@media(min-width:769px) {
    .fs-col-md-6 {
        width: 50%;
    }
}

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

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


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

/* WFS bottom cart bar sticky */
.wfs-cart-overview {
    background-color: var(--color-bg-body) !important;
    box-shadow: var(--box-shadow-modal) !important;
    border-top: 1px solid var(--color-border-input);
    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-title);
    width: 21px;
    height: 21px;
    border-radius: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-text-light);
    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 {
    border-radius: var(--border-radius-extra-large);
}

.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;
    font-size: var(--font-size-18);
}

.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:405px) {
    .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-bg-body)
}

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

.wfs-cart-content-area {
    background: 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: var(--border-radius-mid);
}

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

.wfs-cart-expanded-header .wfs-icon-close {
    background-color: var(--color-title);
    padding: 5px;
    border-radius: var(--border-radius-mid);
    font-size: var(--font-size-25) !important;
}

.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;
}

.wfs-empty-cart-container .wfs-empty-cart-image img {
    margin: 0 auto;
    mix-blend-mode: multiply;
    filter: contrast(1.1) grayscale(1);
}

/* 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-text-light);
    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;
}

.fs-text-right.wfs-food-item-cart-action {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 7px;
}

.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{
    background-color: var(--color-warning) !important;
    color: var(--color-bg-body) !important;
    border: none;
}
@media (hover:hover) and (pointer:fine){
button.fs-btn-md.fs-btn-secondary.wfs-clear-cart:hover {
    background-color: var(--color-warning) !important;
    color: var(--color-bg-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;
} */

.wfs-service-modal-container button.wfs-update-service:disabled, .wfs-service-modal-container button.wfs-update-service[disabled] {
    border: 1px solid #8080807d;
    background-color: #cccccc !important;
    color: gray;
    cursor: default;
    opacity: .8;
}

#wfsServiceModal .tab-content {
    margin-bottom: 1.5em;
    padding-bottom: 1.5em;
}

#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;
    border-radius: 0;
    border-bottom: .6px solid var(--color-bg-body);
}

header.wfsmodal-header h5 {
    color: var(--color-text-light);
    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-bg-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: var(--border-radius-mid);
    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-color: var(--color-bg-body);
    padding-bottom: 3em;
}

.inox_price_popup {
    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 ul.main-description-product {
    margin-left: 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;
}
@media (hover:hover) and (pointer:fine){

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

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: var(--border-radius-extra-large);
    height: 100%;
    min-height: 44px;
    background-color: var(--color-bg-link);
}

.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-bg-body);
    box-shadow: 0 -5px 15px -12px #383737;
    border-top: 1px solid var(--color-bg-body);
}

.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: var(--border-radius-extra-large) 0 0 var(--border-radius-extra-large) !important;
}

input.wfs-qty-btn.wfs-qtyplus {
    border-radius: 0 var(--border-radius-extra-large) var(--border-radius-extra-large) 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-time-wrapper.loading-button {
    border-radius: var(--border-radius-mid);
}

.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-text-light);
    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-wrapper {
    display: none !important;
}


.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-line);
    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;
    font-size: var(--font-size-17);
}

.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-text-light);
    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-14 .woocommerce-breadcrumb,
#post-14 p.price,
#post-14 .product_meta,
#post-14 .woocommerce div.product .product_title {
    display: none !important;
}

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

#post-14 .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-bg-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-image: url('https://mori-vietnamese-kitchen-sushi.de/wp-content/uploads/2026/04/page-booking-table-2000px-style-2.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.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: 655px;
    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-bg-body);
}

/* datepicker header */
.wc-bookings-date-picker .ui-datepicker-header {
    background-image: none;
    background-color: var(--color-title-second);
    color: var(--color-text-light);
}

.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-bg-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-bg-body);
    border-top: 1px solid;
    border-spacing: 10px !important;
    background-color: var(--color-title);
    color: var(--color-text-light);
    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: #145a51 !important;
}

.wc-bookings-date-picker .ui-datepicker td.bookable-range .ui-state-default {
    background-color: var(--color-bg-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: var(--color-link-active);
}

.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-bg-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-bg-link);
    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-bg-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;
    overflow: hidden;
}

.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 ------------------------------------------------------------------
 * */

.woocommerce-checkout .checkout .checkout-inline-error-message {
    display: none;
}

/* 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 ----- */

/* 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);
    font-size: var(--font-size-18);
}


.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-billing-fields h3, h3#order_review_heading {
    margin-bottom: 30px;
    color: var(--color-title);
}

.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-text-light);
    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-text-light);
    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 ----- */

/* 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;
}

#guest-cancel-order-section {
    background-color: var(--color-bg-note) !important;
    border: 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-order-details .order-again {
    display: none !important;
}

.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 ----- */


/* MORI GLOBAL FOOTER — một style native, từ homepage đã nghiệm thu. */
.site-footer{background:transparent;font-family:Bitter,Georgia,serif;line-height:1.75;text-shadow:none}
.site-footer .before-footer-container{background:transparent;color:var(--mori-ink);padding:0;margin-top:clamp(140px,12vw,220px)}
.site-footer .before-footer-wrap{box-sizing:border-box;max-width:var(--mori-content-width);width:calc(100% - 2 * var(--mori-gutter));padding:82px 0 72px;border-top:2px solid var(--mori-green);margin:0 auto}
.site-footer .footer-main-content{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:clamp(56px,7vw,112px);padding:0;text-align:left}
.site-footer .footer-main-content>.column{width:auto;min-width:0;margin:0;padding:0;border:0}
.site-footer .footer-main-content h3{font:400 38px/1.1 iCielBCCubano,serif;color:var(--mori-wine);margin:0 0 14px}
.site-footer .footer-main-content h4{font:400 23px/1.3 Bitter,Georgia,serif;color:var(--mori-ink);margin:0 0 26px}
.site-footer .footer-main-content h5{font:400 17px/1.6 Bitter,Georgia,serif;color:var(--mori-ink);margin:0 0 24px}
.site-footer .footer-main-content p{font-size:14px;line-height:1.85;margin:0 0 17px}
.site-footer .footer-main-content a{color:var(--mori-ink);font-size:14px;font-weight:400}
@media (hover:hover) and (pointer:fine){
.site-footer .footer-main-content a:hover{color:var(--mori-wine)}}
.site-footer .footer-working-hours .mori-hours,.site-footer .footer-working-hours .hours-working{display:block;width:100%;margin:0;padding:0;text-align:left}
.site-footer .footer-main-content .hours-working-button{justify-content:flex-start;gap:16px;flex-wrap:wrap;margin:24px 0 0;padding:0}
.site-footer .footer-main-content .hours-working-button a{font-size:12px;color:var(--mori-wine)}
.site-footer .site-info{background:transparent;padding:0 var(--mori-gutter)}
.site-footer .inside-site-info.grid-container{max-width:var(--mori-content-width);margin:0 auto;background:transparent;color:var(--mori-muted);font-size:12px;border-top:1px solid var(--mori-line);padding:26px 0}
.site-footer .footer-main-content{font-family:Bitter,Georgia,serif;font-size:16px;line-height:1.75;text-shadow:none}
.site-footer .footer-main-content ul{list-style:none;margin:0;padding:0}
.site-footer .footer-link .link-item-2{margin-top:1em}
.site-footer .inside-site-info a{color:var(--mori-muted)}
@media(max-width:920px){.site-footer .footer-main-content{gap:32px}}
@media(max-width:768px){
 .site-footer .before-footer-container{margin-top:130px}
 .site-footer .before-footer-wrap{padding:60px 0}
 .site-footer .footer-main-content{grid-template-columns:1fr;gap:48px}
 .site-footer .footer-main-content>.column+ .column{padding-top:36px;border-top:1px solid var(--mori-line)}
}

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


.new-event-header-homepage h2 {
    margin: 10px 0 20px 0;
    font-size: var(--font-size-65);
}

/* 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-text-light);
    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-bg-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-bg-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 */
/* MORI — tích hợp selector FoodStore/WP, dữ liệu native. */
.page-id-7 .page-top-banner-wrap { background: #e5dac8; }
.page-id-7 img.cover-shop { object-position: 50% 52%; opacity: .35; }
.page-id-7 .page-title-in-header h1 { color: var(--color-title); }
.page-id-7 .shop-category-image { min-width: 0; }
.page-id-7 .shop-category-image img { max-height: 1050px; object-position: center; }
.page-id-7 .wfs-food-item-title { overflow-wrap: anywhere; }
.page-id-7 .mori-menu-note { max-width: 1000px; margin: 0 auto; text-align: center; }
.page-id-7 .mori-menu-note p { margin-bottom: .5em; }
@media (max-width: 539px) {
    .page-id-7 .shop-category-image img { max-height: 280px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* Giữ heading Cubano và nền giấy; mô tả nhóm thoáng hơn trên mọi màn hình. */
.page-id-7 .wfs-category-short-desciption { display: block; margin-top: .5em; font-size: var(--font-size-18); line-height: 1.5; font-weight: 400; }


/* MORI — Speisekarte đã nghiệm thu: hoài cổ Việt–Nhật, native FoodStore. */
body.mori-speisekarte {
  background-color:var(--mori-paper); font-family:"Bitter",Georgia,serif;
  font-size:16px; line-height:1.65; padding-bottom:78px; text-shadow:none;
}
.mori-speisekarte {background-image:linear-gradient(color-mix(in srgb, var(--mori-paper) 40%, transparent),color-mix(in srgb, var(--mori-paper) 40%, transparent)),url(/wp-content/uploads/2026/04/texturetastic-gray.png)}
.mori-speisekarte :is(h1,h2,h3,h4,h5) {font-family:"iCielBCCubano",serif;font-weight:400;text-shadow:none;color:var(--mori-wine)}
.mori-speisekarte :is(p,a,span,button,input) {text-shadow:none}
.mori-speisekarte :is(a,button,input):focus-visible {outline:2px solid var(--mori-wine);outline-offset:4px}
.mori-speisekarte #masthead,.mori-speisekarte .inside-header-content {background:transparent;height:auto;min-height:0}
.mori-speisekarte .inside-header-content {padding:0}
.mori-speisekarte .site-logo-with-menu {position:relative;inset:auto;width:min(1240px,calc(100% - 72px));max-width:none;margin:0 auto;padding:18px 0 16px;border-bottom:0}
.mori-speisekarte .logo-custom {background:transparent;border-radius:0;box-shadow:none}
.mori-speisekarte #site-navigation {position:static;background:none}
.mori-speisekarte .mori-responsive-picture {display:contents}
.mori-speisekarte .mori-responsive-picture source {display:none}
.mori-speisekarte .mori-menu-hero {position:relative;isolation:isolate;width:100%;height:460px;display:grid;place-items:start center;overflow:hidden;border:0;background-color:var(--mori-paper);background-image:linear-gradient(color-mix(in srgb, var(--mori-paper) 40%, transparent),color-mix(in srgb, var(--mori-paper) 40%, transparent)),url(/wp-content/uploads/2026/04/texturetastic-gray.png)}
.mori-speisekarte .mori-menu-hero:after {content:"";position:absolute;inset:0;background-image:url(/wp-content/uploads/2026/04/texturetastic-gray.png);mix-blend-mode:multiply;opacity:.2;mask-image:linear-gradient(90deg,#000,transparent 75%);pointer-events:none;z-index:0}
.mori-speisekarte img.mori-heritage-landscape {position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 60%;z-index:-1;opacity:1;mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.mori-speisekarte .mori-hero-copy {width:min(750px,calc(100% - 72px));margin:0 auto;text-align:center;padding:24px 0 0;position:relative;z-index:1}
.mori-speisekarte .mori-menu-hero h1 {font-size:clamp(56px,5.2vw,76px);line-height:1.08;letter-spacing:.015em;margin:0 0 12px;text-transform:uppercase;color:var(--mori-wine);text-shadow:2px 2px 0 #f9efd9}
.mori-speisekarte .mori-hero-description {font-size:15px;line-height:1.7;color:#433d2f;margin:0 0 17px;font-weight:500}
.mori-speisekarte .mori-discover-link {display:inline-flex;gap:22px;align-items:center;color:var(--mori-green);font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid color-mix(in srgb, var(--mori-green) 50.196%, transparent);padding:5px 0}
@media (hover:hover) and (pointer:fine){
.mori-speisekarte .mori-discover-link:hover {color:var(--mori-wine)}}
.mori-speisekarte #page,.mori-speisekarte #content,.mori-speisekarte .site-content,.mori-speisekarte .inside-article {max-width:none;background:transparent;padding:0}
.mori-speisekarte #primary {width:100%}
.mori-speisekarte .entry-content {margin:0}
.mori-speisekarte #foodstore_shop_container {width:min(1180px,calc(100% - 72px));margin:0 auto;scroll-margin-top:24px}
.mori-speisekarte .mori-menu-note {margin:0!important;max-width:none;background:transparent;border-bottom:1px solid var(--mori-line);padding:13px 24px;text-align:center}
.mori-speisekarte .mori-menu-note p {font-size:12px;line-height:1.6;margin:0;letter-spacing:.015em}
.mori-speisekarte .mori-menu-note strong {color:var(--mori-wine);font-weight:600}
.mori-speisekarte #foodstore,.mori-speisekarte #wfs-food-items {display:block;width:100%;max-width:100%;margin:0;padding:0;flex:none}
.mori-speisekarte #foodstore>.fs-row {display:block}
.mori-speisekarte .mori-category-shortcuts {padding:19px 0 0}
.mori-speisekarte .mori-category-shortcuts ul {display:flex;justify-content:space-between;gap:22px;list-style:none;padding:0 0 10px;margin:0;overflow-x:auto}
.mori-speisekarte .mori-category-shortcuts li {flex:0 0 auto}
.mori-speisekarte .mori-category-shortcuts a {font-family:"iCielBCCubano",serif;font-size:18px;letter-spacing:.015em;display:block;padding:7px 0;white-space:nowrap;color:var(--mori-green);text-decoration:none;border-bottom:2px solid transparent}
.mori-speisekarte .mori-category-shortcuts a:is(.active,[aria-current="true"]) {color:var(--mori-wine);border-color:var(--mori-wine)}
.mori-speisekarte .wfs-search-container {position:sticky;top:0;z-index:20;padding:10px 0 14px;background-color:var(--mori-paper);border-bottom:3px double var(--mori-line);box-shadow:none!important}
.mori-speisekarte .wfs-search-wrap {gap:12px;padding:0;margin:0;background:none;align-items:center;box-shadow:none!important}
.mori-speisekarte .search-wrap {flex:1;position:relative;width:auto;max-width:none;left:auto;padding:0;overflow:visible}
.mori-speisekarte .search-bar-content {box-shadow:none;border:1px solid var(--mori-line);border-radius:2px;background:#fff5e459;min-height:45px}
.mori-speisekarte input.wfs-food-search {font:inherit;font-size:14px;padding:12px 40px 12px 15px;height:45px;color:var(--mori-ink);background:none;border:0}
.mori-speisekarte :is(.open-search-btn,.close-search-mobile) {display:none!important}
.mori-speisekarte .clear-input {display:flex;position:absolute;right:30px;top:0;width:34px;height:43px;align-items:center;justify-content:center;z-index:2}
.mori-speisekarte .search-bar-item .button-link {min-height:45px;box-shadow:none;border-radius:2px;font-family:"iCielBCCubano",serif;font-size:17px;letter-spacing:.025em}
.mori-speisekarte .wfs-category-title-container {display:flex;flex-direction:column;align-items:center;text-align:center;margin:54px 0 32px;gap:8px}
.mori-speisekarte .wfs-category-title-container .wfs-category-title {display:flex;align-items:center;gap:22px;font-family:"iCielBCCubano",serif;font-size:clamp(34px,3.4vw,48px);line-height:1.15;letter-spacing:.015em;text-transform:uppercase;margin:0!important;color:var(--mori-wine)}
.mori-speisekarte .wfs-category-title:before,.mori-speisekarte .wfs-category-title:after {content:"";display:block;width:65px;height:5px;border-block:1px solid color-mix(in srgb, var(--mori-wine) 50.196%, transparent)}
.mori-speisekarte .wfs-category-short-desciption {font-size:14px;font-weight:400;color:var(--mori-muted);line-height:1.65;margin:0;max-width:64ch;font-family:"Bitter",Georgia,serif}
.mori-speisekarte .img-decor,.mori-speisekarte .line-decor {display:none}
.mori-speisekarte #wfs-food-items .category-content {display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:55px;box-shadow:none;align-items:stretch}
.mori-speisekarte .shop-category-image {position:static;min-width:0;line-height:normal;padding:0;background:none;border:0;box-shadow:none;transform:none;display:grid;grid-template-rows:repeat(var(--mori-photo-count,1),minmax(min-content,1fr));gap:70px}
.mori-speisekarte .shop-category-image:after {content:none}
.mori-speisekarte .mori-category-photo {margin:0;min-width:0;border:0;padding:0;box-shadow:none}
.mori-speisekarte .mori-photo-portrait {--mori-photo-ratio:4/5}
.mori-speisekarte .mori-photo-square {--mori-photo-ratio:1}
.mori-speisekarte .mori-photo-landscape {--mori-photo-ratio:4/3}
.mori-speisekarte .mori-photo-wide {--mori-photo-ratio:16/9}
.mori-speisekarte .shop-category-image img {position:sticky;top:105px;display:block;width:100%;height:auto!important;aspect-ratio:var(--mori-photo-ratio,auto);object-fit:cover;object-position:var(--mori-photo-focus,center);max-height:none!important;border:0;border-radius:0;box-shadow:none;opacity:1}
.mori-speisekarte .wrapper-list-product {padding:0;border:0;border-radius:0;justify-content:flex-start;min-width:0}
.mori-speisekarte .wrapper-list-product .fs-row {margin:0;width:100%}
.mori-speisekarte .wrapper-list-product .fs-col-lg-6 {padding:0;width:100%;flex-direction:column}
.mori-speisekarte .wfs-food-item-container {width:100%;padding:17px 0;border-bottom:1px solid color-mix(in srgb, var(--mori-line) 60%, transparent);margin:0;align-items:flex-start}
.mori-speisekarte .wfs-food-item-summery {min-width:0;padding:0}
.mori-speisekarte .wfs-food-item-title {font-family:"Bitter",Georgia,serif;font-size:17px;font-weight:650;line-height:1.5;color:var(--mori-ink);text-transform:none;text-shadow:none}
.mori-speisekarte .wfs-food-item-description {font-family:"Bitter",Georgia,serif;font-size:14px;line-height:1.65;color:var(--mori-muted);margin-top:6px}
.mori-speisekarte .wfs-food-item-description :is(p,span) {font-size:inherit;line-height:inherit;color:inherit}
.mori-speisekarte .warpper-after-image {width:100%;display:flex;gap:20px}
.mori-speisekarte .fs-text-right.wfs-food-item-cart-action {min-width:82px;margin-left:auto;padding:0}
.mori-speisekarte .wfs-food-item-price {font-family:"Bitter",Georgia,serif;font-weight:600;font-size:17px;white-space:nowrap;color:var(--mori-wine)}
.mori-speisekarte .button-add-to-cart {width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid var(--mori-green);border-radius:2px;background:var(--mori-green)!important;color:#f9edda!important;box-shadow:2px 2px 0 color-mix(in srgb, var(--mori-green) 12.549%, transparent);margin-top:9px}
@media (hover:hover) and (pointer:fine){
.mori-speisekarte .button-add-to-cart:hover {background:var(--mori-wine)!important;border-color:var(--mori-wine)}}
.mori-speisekarte .button-add-to-cart .wfs-icon-plus {color:inherit!important}
.mori-speisekarte .mori-menu-subsection {width:100%;font-family:"iCielBCCubano",serif;font-size:25px;color:var(--mori-wine);padding-top:30px;margin-bottom:3px;line-height:1.3}
.mori-speisekarte .mori-menu-subsection-first {padding-top:0}
.mori-speisekarte .layout-in-search .mori-menu-subsection {display:none}
.mori-speisekarte .layout-in-search .category-content {display:block!important}
.mori-speisekarte .layout-in-search .wrapper-list-product {max-width:750px;margin:auto!important}
.page-id-7 .infomation-food-wrap {width:min(1180px,calc(100% - 72px));max-width:1180px;margin:60px auto;padding:36px 0;border-top:3px double var(--mori-line);font-size:13px}
.page-id-7 .infomation-food-content {width:100%;min-width:0;margin:0;padding:0;border:0;border-radius:0;text-align:left}
.page-id-7 .mori-food-info-heading {margin-bottom:32px}
.page-id-7 .mori-food-info-heading h2 {font-family:"Cubano",Impact,sans-serif;font-size:34px;color:var(--mori-wine);margin:0 0 12px}
.page-id-7 .mori-food-info-heading p {margin:0;max-width:720px;line-height:1.7}
.page-id-7 .mori-food-info-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px}
.page-id-7 .mori-food-info-group {min-width:0}
.page-id-7 .mori-food-info-group h3 {font-family:"Cubano",Impact,sans-serif;font-size:24px;color:var(--mori-green);line-height:1.3;margin:0 0 24px}
.page-id-7 .mori-food-info-group+ .mori-food-info-group {border-left:1px solid var(--mori-line);padding-left:35px}
.page-id-7 .mori-food-codes {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px;row-gap:12px;margin:0}
.page-id-7 .mori-food-codes>div {display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:baseline}
.page-id-7 .mori-food-codes dt {font-weight:700;color:var(--mori-wine);font-size:14px}
.page-id-7 .mori-food-codes dd {margin:0;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.page-id-7 .mori-food-key {display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:30px;padding-top:20px;border-top:1px solid var(--mori-line)}
.page-id-7 .mori-food-key>span {display:inline-flex;gap:8px;align-items:center;font-weight:600}
.page-id-7 .mori-food-key-note,.page-id-7 .mori-original-note {font-size:12px;line-height:1.7;margin:14px 0 0;color:var(--mori-muted)}
.mori-menu-marks {display:inline-flex;align-items:center;gap:5px;margin-left:6px;vertical-align:baseline;white-space:nowrap}
/* Canh mã/icon lên mép trên tên món; giữ nguyên nhãn trong biến thể/modal. */
.page-id-7 .wfs-food-item-summery > .mori-menu-marks {vertical-align:top;align-items:flex-start;margin-top:.1em}
.mori-menu-marks .mori-allergens {padding:0;font-family:"Bitter",Georgia,serif;font-size:10px;font-weight:500;line-height:1;align-self:start;position:relative;top:-.15em}
.mori-menu-marks .mori-allergens a {color:inherit;text-decoration:none}.mori-menu-marks .mori-allergens a:focus-visible {text-decoration:underline}
@media (hover:hover) and (pointer:fine){
.mori-menu-marks .mori-allergens a:hover{text-decoration:underline}}
.mori-diet-badge {display:inline-flex;width:19px;height:19px;vertical-align:middle;flex:none}
.mori-diet-badge svg {display:block;width:100%;height:100%;fill:currentColor}
.mori-diet-badge.mori-diet-leaf,.mori-speisekarte .mori-diet-badge.mori-diet-leaf {color:#2a6945}
.mori-diet-badge.mori-diet-chili,.mori-speisekarte .mori-diet-badge.mori-diet-chili {color:#a12e35}
.mori-speisekarte .wfs-food-item-summery .wfs-food-item-title {display:inline}
.mori-speisekarte .wfs-food-item-description {display:block!important}
.mori-speisekarte .wfs-food-item-description .mori-choice-note {display:flex;align-items:center;gap:5px;font-size:11px;margin:6px 0 0;color:var(--mori-green)}
.wfs-variation-name .mori-menu-marks {margin-left:7px}
#wfsModal .wfsmodal-title .mori-menu-marks {vertical-align:middle}
#wfsModal .wfsmodal-title .mori-allergens {font-size:11px}
@media(min-width:768px) and (max-width:1099px) {
  .page-id-7 .mori-food-codes {grid-template-columns:minmax(0,1fr)}
}
.mori-speisekarte .wfs-cart-overview {background-color:#e9dcc6;border-top:3px double #a9977a;box-shadow:0 -4px 18px #493b2310;padding-bottom:env(safe-area-inset-bottom)}
.mori-speisekarte .wfs-cart-overview-row {min-height:64px;font-size:12px}
.mori-speisekarte .wfs-cart-overview .fs-container {max-width:1252px}
.mori-speisekarte .wfs-cart-subtotal-custom {color:var(--mori-wine);font-size:17px;font-weight:600}
.mori-speisekarte .wfs-cart-purchase-actions button {box-shadow:none;min-height:42px;font-size:13px;border-radius:2px}
.mori-speisekarte :is(.wfsmodal-container,.wfsmodal-content,.tan-modal-wrap) {background-color:var(--mori-paper)}
@media(min-width:1025px) {
  .mori-speisekarte #site-navigation .inside-navigation {background:transparent}
  .mori-speisekarte #wfs-food-items .wrapper-category:nth-child(even) .category-content {grid-template-columns:minmax(0,1.3fr) minmax(0,.85fr)}
  .mori-speisekarte .wrapper-category:nth-child(even) .shop-category-image {grid-column:2;grid-row:1}
  .mori-speisekarte .wrapper-category:nth-child(even) .wrapper-list-product {grid-column:1;grid-row:1}
}
/* Danh mục dài giữ vòng lặp FoodStore, chỉ phối lại lưới hai cột trên màn rộng. */
@media(min-width:1250px) {
  .mori-speisekarte #wfs-food-items .mori-density-long .category-content {grid-template-columns:minmax(0,.75fr) minmax(0,1.4fr)}
  .mori-speisekarte #wfs-food-items .mori-density-long:nth-child(even) .category-content {grid-template-columns:minmax(0,1.4fr) minmax(0,.75fr)}
  .mori-speisekarte .mori-density-long .wrapper-list-product {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;align-content:start}
  .mori-speisekarte .mori-density-long .wrapper-list-product :is(.fs-row,.fs-col-lg-6) {display:contents}
  .mori-speisekarte #wfs-food-items:not(.layout-in-search) .mori-density-long .wrapper-list-product .fs-col-lg-6 {display:contents!important}
  .mori-speisekarte .mori-density-long .wrapper-list-product .fs-row:before,.mori-speisekarte .mori-density-long .wrapper-list-product .fs-row:after {content:none;display:none}
  .mori-speisekarte .mori-density-long .mori-menu-subsection {grid-column:1/-1}
  .mori-speisekarte .mori-density-long .wfs-food-item-title {font-size:15px}
  .mori-speisekarte .mori-density-long .wfs-food-item-description {font-size:13px}
  .mori-speisekarte .mori-density-long .warpper-after-image {gap:12px}
  .mori-speisekarte .mori-density-long .fs-text-right.wfs-food-item-cart-action {min-width:70px}
  .mori-speisekarte .layout-in-search .mori-density-long .wrapper-list-product {display:flex;gap:0}
  .mori-speisekarte .layout-in-search .mori-density-long .wrapper-list-product .fs-row {display:flex}
  .mori-speisekarte .layout-in-search .mori-density-long .wrapper-list-product .fs-col-lg-6 {display:flex}
}
@media(max-width:1024px) {
  .mori-speisekarte #site-navigation {position:fixed}
  .mori-speisekarte #wfs-food-items .category-content {gap:30px;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr)}
}
@media(max-width:768px) {
  .mori-speisekarte .site-logo-with-menu {width:calc(100% - 2 * var(--mori-gutter));padding:12px 0}
  .mori-speisekarte .mori-menu-hero {height:380px;place-items:start center}
  .mori-speisekarte img.mori-heritage-landscape {height:225px;top:auto;bottom:0;object-fit:cover;object-position:right bottom;mask-image:linear-gradient(transparent,#000 28%,#000 92%,transparent)}
  .mori-speisekarte .mori-hero-copy {width:calc(100% - 2 * var(--mori-gutter));margin:0 auto;text-align:center;padding:30px 0 0}
  .mori-speisekarte .mori-menu-hero h1 {font-size:clamp(36px,10vw,65px);letter-spacing:.005em;margin-bottom:15px}
  .mori-speisekarte .mori-hero-description {font-size:12px;line-height:1.7;margin-bottom:13px}
  .mori-speisekarte .mori-discover-link {font-size:11px}
  .mori-speisekarte #foodstore_shop_container {width:calc(100% - 2 * var(--mori-gutter))}
  .mori-speisekarte .mori-menu-note {padding:11px 18px}
  .mori-speisekarte .mori-menu-note p {font-size:11px}
  .mori-speisekarte .mori-category-shortcuts {padding-top:12px}
  .mori-speisekarte .mori-category-shortcuts ul {gap:22px;padding-bottom:5px}
  .mori-speisekarte .mori-category-shortcuts a {font-size:17px}
  .mori-speisekarte .wfs-search-wrap {display:grid;grid-template-columns:44px minmax(0,1fr) 44px 44px;gap:8px;align-items:center}
  .mori-speisekarte .search-bar-item {min-width:0;margin:0}
  .mori-speisekarte .search-wrap {order:0;flex:none;width:100%;max-width:none;min-width:0;position:relative;background:transparent!important}
  .mori-speisekarte .search-bar-content {width:100%;min-width:0;min-height:44px}
  .mori-speisekarte input.wfs-food-search {width:100%;min-width:0;height:44px;padding:10px 28px 10px 10px;font-size:13px}
  .mori-speisekarte .clear-input {right:0;height:43px}
  .mori-speisekarte .open-category-btn {display:block;margin:0}
  .mori-speisekarte .open-category-btn .text,.mori-speisekarte .checkout-button .text {display:none!important}
  .mori-speisekarte .open-category-btn .icon,.mori-speisekarte .checkout-button .icon {display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:0}
  .mori-speisekarte .Cart-button a {display:flex;align-items:center;justify-content:center;min-height:44px;width:44px;height:44px;font-size:18px;padding:0}
  .mori-speisekarte .wfs-category-title-container {margin:35px 0 25px;gap:8px}
  .mori-speisekarte .wfs-category-title-container .wfs-category-title {font-size:31px;gap:13px}
  .mori-speisekarte .wfs-category-title:before,.mori-speisekarte .wfs-category-title:after {width:24px}
  .mori-speisekarte .wfs-category-short-desciption {font-size:12px}
  .mori-speisekarte #wfs-food-items .category-content {display:block}
  .mori-speisekarte .shop-category-image {display:block;position:static;margin:0 0 26px;padding:0}
  .mori-speisekarte .shop-category-image img {position:static}
  .mori-speisekarte .mori-category-photo~.mori-category-photo {display:none}
  .mori-speisekarte .wfs-food-item-container {padding:16px 0}
  .mori-speisekarte .wfs-food-item-title {font-size:15px}
  .mori-speisekarte .wfs-food-item-description {font-size:12px}
  .mori-speisekarte .warpper-after-image {gap:12px}
  .mori-speisekarte .fs-text-right.wfs-food-item-cart-action {min-width:70px}
  .mori-speisekarte .wfs-food-item-price {font-size:15px}
  .mori-speisekarte .mori-menu-subsection {font-size:23px}
  .page-id-7 .infomation-food-wrap {width:calc(100% - 2 * var(--mori-gutter));padding:24px 0}
  .page-id-7 .infomation-food-content {min-width:0;width:100%;max-width:100%;overflow-wrap:anywhere}
  .page-id-7 .mori-food-info-heading h2 {font-size:29px}
  .page-id-7 .mori-food-info-grid {grid-template-columns:minmax(0,1fr);gap:30px}
  .page-id-7 .mori-food-info-group+ .mori-food-info-group {border-left:0;border-top:1px solid var(--mori-line);padding:25px 0 0}
  .page-id-7 .mori-food-info-group h3 {font-size:22px;margin-bottom:18px}
  .page-id-7 .mori-food-codes {column-gap:14px}
  .page-id-7 .mori-food-codes>div {grid-template-columns:20px minmax(0,1fr);gap:4px}
  .page-id-7 .mori-food-codes dd {font-size:11px}
  .page-id-7 .mori-food-key {gap:12px 24px}
  .mori-speisekarte .wfs-cart-overview .fs-container {padding:0}
  .mori-speisekarte .wfs-cart-overview-row {display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:8px 0;gap:12px}
  .mori-speisekarte .wfs-cart-toggle {display:flex;flex-direction:row;align-items:center;height:44px;gap:8px;padding:0}
  .mori-speisekarte .wfs-cart-toggle .count-items-mini {position:absolute;right:-12px;top:-5px;margin:0;font-size:11px;width:20px;height:20px;line-height:20px}
  .mori-speisekarte .wfs-cart-purchase-actions-mobile {display:flex;flex-direction:row;align-items:center;gap:14px;height:44px;padding:0;margin:0}
  .mori-speisekarte .wfs-cart-purchase-actions-mobile>a {position:static;margin:0;line-height:1}
  .mori-speisekarte .wfs-cart-purchase-actions-mobile .wfs-change-service-mobile {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
  .mori-speisekarte .wfs-cart-purchase-actions-mobile .wfs-proceed-to-checkout {display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:var(--mori-green);color:#f9edda;border-radius:2px}
  .mori-speisekarte .wfs-cart-subtotal-custom {font-size:15px}
}

/* MORI v7: clear native modal action/total and calmer category typography. */
.page-id-7 .wfsmodal-footer .wfs-modal-add-to-cart {min-width:0;flex:1}
.page-id-7 .wfsmodal-footer .wfs-modal-add-to-cart a {
    gap:12px;padding:12px 18px;line-height:1.3;flex-wrap:wrap;
}
.page-id-7 .wfsmodal-footer .wfs-cart-action-text {display:block;min-width:0}
.page-id-7 .wfsmodal-footer .wfs-live-item-price {white-space:nowrap;font-variant-numeric:tabular-nums}
.page-id-7 .wfs-sidebar-menu .wfs-cat-info-wrap {min-width:0}
.page-id-7 .wfs-sidebar-menu .wfs-cat-name {font-size:clamp(30px,5.5vw,46px);line-height:1.12}
.page-id-7 .wfs-sidebar-menu .wfs-cat-description {font-size:18px;line-height:1.5}
.page-id-7 .wfs-sidebar-menu .wfs-cat-description .cate-second-title {font-size:clamp(22px,4.5vw,38px)}
@media (max-width:480px) {
    .page-id-7 .wfsmodal-footer .wfs-modal-add-to-cart a {gap:4px 8px;padding:10px 12px;font-size:14px}
    .page-id-7 .wfs-sidebar-menu .wfs-cat-description {font-size:16px}
}
.page-id-7 .wfsmodal-footer .add-to-cart-icon {display:none}

/* MORI — Homepage composition v3: cùng giấy với Speisekarte, nhịp bố cục riêng. */
body.mori-home{--mori-home-gap:clamp(64px,7.5vw,108px);background-color:var(--mori-paper);font-family:Bitter,Georgia,serif;font-size:16px;line-height:1.75;color:var(--mori-text);text-shadow:none}
.mori-home{background-image:linear-gradient(color-mix(in srgb, var(--mori-paper) 40%, transparent),color-mix(in srgb, var(--mori-paper) 40%, transparent)),url(/wp-content/uploads/2026/04/texturetastic-gray.png);background-size:auto;background-color:var(--mori-paper)}
.mori-home :is(h1,h2,h3,h4,h5,p,a,span,button){text-shadow:none}
.mori-home :focus-visible{outline:2px solid var(--mori-wine);outline-offset:5px}
.mori-home .inside-header-home{position:relative;isolation:isolate;height:100vh;height:100svh;min-height:620px;max-height:none;overflow:clip}
.mori-home .homepage-top-banner{position:absolute;inset:0;width:100%;height:100%;z-index:0;contain:none;pointer-events:none;background:var(--mori-paper)}
.mori-home .page-top-banner-content{width:100%;height:100%}
.mori-home .homepage-top-banner video{position:absolute;inset:0;left:0;top:0;display:block;width:100%;height:100%;object-fit:cover;object-position:20% 50%;transform:none;backface-visibility:visible;opacity:0;transition:opacity .3s ease}
.mori-home .inside-header-home:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb, var(--mori-paper) 60%, transparent) 0%,color-mix(in srgb, var(--mori-paper) 32.157%, transparent) 32%,color-mix(in srgb, var(--mori-paper) 0%, transparent) 70%),linear-gradient(180deg,color-mix(in srgb, var(--mori-paper) 52.157%, transparent) 0%,color-mix(in srgb, var(--mori-paper) 0%, transparent) 24%)}
.mori-home .inside-header-home .group-welcome{height:100%;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:flex-start;padding:0 5%;position:relative;z-index:2}
.mori-home .inside-header-home .site-logo-with-menu{width:100%;max-width:1560px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:28px;padding:24px 0;margin:0;border-bottom:1px solid color-mix(in srgb, var(--mori-wine) 26.667%, transparent)}
.mori-home .inside-header-home .logo-custom{margin:0}
.mori-home .site-logo-with-menu .main-navigation{width:auto;margin:0}
.mori-home .home-welcome-wrap{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;width:100%;max-width:1560px;margin:0;padding:0 0 95px;text-align:left}
.mori-home .mori-home-eyebrow{font-size:13px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--mori-ink);margin:0 0 18px}
.mori-home .mori-home-tagline{font-size:clamp(24px,2.4vw,33px);font-style:italic;color:var(--mori-ink);line-height:1.35;margin:0 0 12px;max-width:540px}
.mori-home .mori-home-location{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin:0 0 28px}
.mori-home .mori-home-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.mori-home .button-link{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 22px;border:1px solid var(--mori-green);border-radius:0;background:var(--mori-green);color:#f9edda;box-shadow:none;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none}
@media (hover:hover) and (pointer:fine){
.mori-home .button-link:hover{background:var(--mori-wine);border-color:var(--mori-wine);color:#f9edda}}
.mori-home .mori-home-text-link{font-size:15px;color:var(--mori-ink);text-decoration:underline;text-underline-offset:5px}
.mori-home #page,.mori-home #content,.mori-home .site-content,.mori-home .site-main,.mori-home .inside-article{max-width:none;margin:0;padding:0;background:transparent}
.mori-home .entry-content{margin:0;padding:0!important}
/* MORI GLOBAL — radius contract PO27/10, 2–7px theo nhóm/kích thước. */
body :is(button,.button,.button-link,.wp-element-button,.button-add-to-cart,.wfs-proceed-to-checkout,.wfs-modal-add-to-cart,input[type="button"],input[type="submit"],input[type="reset"]){border-radius:var(--mori-radius-sm)!important}
body input:not([type="checkbox"]):not([type="radio"]),body select,body textarea{border-radius:var(--mori-radius-sm)!important}
body img{border-radius:var(--mori-radius-image)!important}
body .tan-modal-wrap,body .wfsmodal-content,body .wfsmodal-body,body #wfsServiceModal-content,body .wfs-cart-expanded,body .inox_modal_popup_warp,body .new-event-content{border-radius:var(--mori-radius-panel)!important}
body .search-bar-content,body .wfs-search-wrap,body .wfs-cart-overview{border-radius:var(--mori-radius-md)!important}
/* Các mối nối của quantity là cạnh trong; đường viền ngoài vẫn bo4px. */
body .input-number-wrapper .btn-decrease{border-radius:var(--mori-radius-sm) 0 0 var(--mori-radius-sm)!important}
body .input-number-wrapper input[type="number"]{border-radius:0!important}
body .input-number-wrapper .btn-increase{border-radius:0 var(--mori-radius-sm) var(--mori-radius-sm) 0!important}
/* Media tràn khung và avatar tròn là ngoại lệ có nghĩa, không đổi hình thể. */
body .mori-menu-hero img,body .page-top-banner-content img,body .homepage-top-banner video{border-radius:0!important}
body .mori-review-avatar img{border-radius:50%!important}
body .close-modal-button{border-radius:50%!important}
/* Navigation popup: Desktop transparent; Mobile drawer owns the paper surface. */
@media(min-width:769px){body #site-navigation .tan-modal-wrap.inside-navigation.grid-container{background:transparent!important;background-image:none!important}}
body #site-navigation .tan-modal-content{background:transparent!important;background-image:none!important}

/* MORI GLOBAL LOGO — Customizer chọn attachment, SVG child-theme giữ hình gốc. */
body .site-logo-with-menu .logo-custom{flex:0 0 clamp(106px,13vw,136px);width:clamp(106px,13vw,136px);background:transparent;border:0;box-shadow:none;padding:0}
body .custom-logo-link{display:inline-block;line-height:0;max-width:100%}
body img.custom-logo,body .loader-logo img{display:block;max-width:100%;height:auto;object-fit:contain;border-radius:0!important;box-shadow:none}
body .logo-in-modal-wrapper .custom-logo-link{width:158px}
body .custom-logo-link:focus-visible{outline:2px solid var(--mori-green);outline-offset:6px}
body .site-footer .footer-address .custom-logo-link{width:116px;margin:0 0 14px}

/* Service tab dùng palette chung; trạng thái do FoodStore quản lý. */
body #wfsServiceModal #wfsTab a.nav-link{color:var(--mori-ink);background:transparent;border-color:var(--mori-line)}
body #wfsServiceModal #wfsTab a.nav-link.active{color:var(--mori-paper);background:var(--mori-green);border-color:var(--mori-green)}

/* MORI GLOBAL NAV — mot he typography/state cho Primary Menu native WP. */
body #site-navigation #menu-primary-menu{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:clamp(12px,1.6vw,24px);margin:0;padding:0;list-style:none}
body #site-navigation #menu-primary-menu>li{margin:0;padding:0}
body #site-navigation #menu-primary-menu>li>a{display:block;font-family:iCielBCCubano,Georgia,serif;font-size:18px;font-weight:400;line-height:1.5;letter-spacing:.01em;text-transform:none;padding:9px 3px;margin:0;border:0;border-radius:4px;color:var(--mori-ink);background:transparent;text-decoration:none;box-shadow:none;white-space:nowrap;transition:color .18s ease,box-shadow .18s ease}body #site-navigation #menu-primary-menu>li>a:active{color:var(--mori-wine);background:transparent;transform:none}
@media (hover:hover) and (pointer:fine){
body #site-navigation #menu-primary-menu>li>a:hover{color:var(--mori-wine);background:transparent;transform:none}}
body #site-navigation #menu-primary-menu>li.current-menu-item>a{color:var(--mori-wine);box-shadow:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
body #site-navigation #menu-primary-menu>li>a:focus:not(:focus-visible){outline:none}
body #site-navigation #menu-primary-menu>li>a:focus-visible{outline:2px solid var(--mori-green);outline-offset:4px}
body .site-logo-with-menu{max-width:1656px;width:100%;box-sizing:border-box;gap:28px;align-items:center;padding:24px clamp(22px,4vw,48px);margin:0 auto 36px}
body.mori-home .inside-header-home .site-logo-with-menu{max-width:1560px;width:100%;padding:24px 0;margin:0}
@media(max-width:1000px) and (min-width:769px){body #site-navigation #menu-primary-menu>li>a{font-size:16px}body .site-logo-with-menu{gap:18px}}
@media(max-width:768px){
 body #site-navigation .tan-modal-wrap.inside-navigation.grid-container{background-color:var(--mori-paper)!important;background-image:linear-gradient(color-mix(in srgb, var(--mori-paper) 40%, transparent),color-mix(in srgb, var(--mori-paper) 40%, transparent)),url(/wp-content/uploads/2026/04/texturetastic-gray.png)!important;background-repeat:repeat!important;border-radius:0 var(--mori-radius-panel) var(--mori-radius-panel) 0!important;box-shadow:4px 0 28px color-mix(in srgb,var(--mori-ink) 35%,transparent)!important}
 body #site-navigation .tan-modal-content{background-color:transparent!important;background-image:none!important;min-height:100%!important;height:auto!important;flex:1 0 auto!important;display:flex!important;flex-direction:column!important;padding:44px 24px 44px!important;box-sizing:border-box!important}
 body #site-navigation #menu-primary-menu{flex-direction:column;gap:12px;align-items:stretch;text-align:center}
 body #site-navigation #menu-primary-menu>li>a{font-size:25px;padding:8px 14px;margin:0;border:0;white-space:normal}
 body #site-navigation .inside-navigation .main-nav{margin:30px 0;padding:26px 0;border-top:1px solid var(--mori-line);border-bottom:1px solid var(--mori-line)}
 body #site-navigation .hours-working-wrapper{width:100%!important;margin:12px 0 24px!important;padding-bottom:24px!important}
 body #site-navigation .hours-working{text-align:center!important;margin-bottom:16px!important}
 body #site-navigation .hours-working h4{font-family:iCielBCCubano,Georgia,serif!important;font-size:28px!important;line-height:1.25!important;color:var(--mori-green)!important;margin:0 0 18px!important}
 body #site-navigation .hours-working p{font-family:Bitter,Georgia,serif!important;font-size:15px!important;line-height:1.6!important;color:var(--mori-ink)!important;margin:0 0 14px!important}
 body #site-navigation .hours-working strong{display:inline-block!important;font-family:iCielBCCubano,Georgia,serif!important;font-size:20px!important;letter-spacing:0.02em!important;color:var(--mori-wine)!important;margin-top:4px!important}
 body #site-navigation .hours-working-button{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;justify-content:center!important;align-items:center!important;gap:16px!important;margin-top:16px!important;padding:0!important}
 body #site-navigation .hours-working-button a{font-family:Bitter,Georgia,serif!important;font-size:14px!important;color:var(--mori-wine)!important;text-decoration:underline!important;text-underline-offset:4px!important}
 body .site-logo-with-menu,body.mori-home .inside-header-home .site-logo-with-menu{flex-direction:row;justify-content:space-between;gap:20px;padding:22px 0}
 body .site-logo-with-menu{width:calc(100% - 2 * var(--mori-gutter))}
 body.mori-home .inside-header-home .site-logo-with-menu{width:100%}
}
/* Texture chi thuoc be mat doc lap; wrap/content long nhau khong nhan ban nen. */
body{background-color:var(--mori-paper);background-image:linear-gradient(color-mix(in srgb, var(--mori-paper) 40%, transparent),color-mix(in srgb, var(--mori-paper) 40%, transparent)),url(/wp-content/uploads/2026/04/texturetastic-gray.png)}
body .tan-modal-wrap,body .tan-modal-content,body .wfsmodal-body,body .wfsmodal-footer,body #wfsServiceModal-content,body .new-event-content,body .new-event-modal,body .search-wrap.search-bar-item{background-image:none!important}
body .wfsmodal-container,body .wfs-cart-expanded,body .wfs-cart-overview,body .wfs-search-container,body .inox_modal_popup_warp,body #dynamic_content_modal>.tan-modal-wrap,body .new-event-content-wrapper{background-color:var(--mori-paper);background-image:linear-gradient(color-mix(in srgb, var(--mori-paper) 40%, transparent),color-mix(in srgb, var(--mori-paper) 40%, transparent)),url(/wp-content/uploads/2026/04/texturetastic-gray.png)!important;border-radius:var(--mori-radius-panel)}
body .wfsmodal-body,body .wfsmodal-footer,body #wfsServiceModal-content,body .new-event-content{background-color:transparent!important}
body #new_event_container .new-event-modal{width:calc(100% - 40px);max-width:800px;top:clamp(24px,12vh,120px);bottom:auto;padding:0;background:transparent!important;overflow:visible;max-height:calc(100svh - 48px)}
body #new_event_container .new-event-content-wrapper{height:auto;max-height:calc(100svh - 48px);border-radius:7px;overflow:hidden;padding:0;box-shadow:0 16px 60px color-mix(in srgb, var(--mori-ink) 20%, transparent)}
body #new_event_container .new-event-header{padding:20px 28px;align-items:center;box-shadow:none;border:0;border-radius:7px 7px 0 0;background:var(--mori-green)}
body #new_event_container .new-event-header h2{font-family:iCielBCCubano,Georgia,serif;font-size:25px;line-height:1.2;color:#f9edda;margin:0}
body #new_event_container .new-event-content{padding:26px 28px;max-height:calc(100svh - 170px);overflow:auto;border-radius:0 0 7px 7px;box-shadow:none}
body #new_event_container .new-event-content p{font:16px/1.8 Bitter,Georgia,serif;margin:0 0 16px}
body #new_event_container .new-event-content p:last-child{margin-bottom:0}
body #new_event_container .close-event-button{flex:0 0 36px;width:36px;height:36px;padding:8px;border:0}


@media(max-width:768px){body #new_event_container .new-event-modal{width:calc(100% - 32px)}body #new_event_container .new-event-header{padding:18px 20px}body #new_event_container .new-event-header h2{font-size:22px;padding-right:15px}body #new_event_container .new-event-content{padding:22px 20px}}
@media(prefers-reduced-motion:reduce){body #site-navigation #menu-primary-menu>li>a{transition:none}}
body #new_event_container button.close-event-button{display:flex;align-items:center;justify-content:center;background:var(--mori-paper)!important;color:var(--mori-green);opacity:1}
/* MORI — Art direction28/10. Khung1560; mỗi chương có nhịp riêng. */
body.mori-home{--mori-home-gap:clamp(112px,10vw,176px)}
.mori-home .home-welcome-wrap{align-items:center;text-align:center;padding:24px 0 40px;max-width:1560px;min-height:0}
.mori-home .mori-home-eyebrow,.mori-home .mori-home-tagline{max-width:min(720px,100%)}
.mori-home .mori-home-actions{justify-content:center}
.mori-home #new_event_homepage_container{box-sizing:border-box;width:min(740px,100%);margin:0 0 32px;padding:19px 28px;border:3px solid var(--mori-wine);border-radius:7px;background:color-mix(in srgb, var(--mori-paper) 74.902%, transparent);color:var(--mori-ink);font:14px/1.6 Bitter,Georgia,serif;max-height:24svh;overflow:auto}
.mori-home #new_event_homepage_container h2{font:400 24px/1.25 iCielBCCubano,Georgia,serif;color:var(--mori-wine);margin:0 0 8px}
.mori-home #new_event_homepage_container p{font:14px/1.7 Bitter,Georgia,serif;margin:0 0 10px}
.mori-home #new_event_homepage_container p:last-child{margin-bottom:0}
.mori-home .home-welcome-wrap:has(#new_event_homepage_container) .mori-home-location{margin-bottom:22px}
.mori-home .inside-header-home .site-logo-with-menu{max-width:1560px}
.mori-home .mori-home-flow{box-sizing:border-box;width:calc(100% - 2 * var(--mori-gutter));max-width:var(--mori-content-width);margin:0 auto!important;padding:100px 0 0}
.mori-home .mori-home-flow>.wp-block-group__inner-container{display:flex;flex-direction:column;gap:var(--mori-home-gap);max-width:none;padding:0}
.mori-home .mori-home-flow .wp-block-group{min-width:0;margin:0}
.mori-home .mori-home-section{padding:0;margin:0!important;scroll-margin-top:36px}
.mori-home .mori-home-section>.wp-block-group__inner-container{max-width:none;padding:0}
.mori-home .mori-home-section h2{font:400 clamp(48px,5.2vw,80px)/1.07 iCielBCCubano,Georgia,serif;color:var(--mori-wine);letter-spacing:0;text-transform:none;margin:0 0 28px}
.mori-home .mori-home-section h3{font:400 30px/1.2 iCielBCCubano,Georgia,serif;color:var(--mori-green);margin:0 0 12px}
.mori-home .mori-home-section p{font-size:17px;line-height:1.8;margin:0 0 24px}
.mori-home .mori-home-section .mori-home-kicker{font:600 11px/1.6 Bitter,Georgia,serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mori-green);margin:0 0 22px}
.mori-home .mori-home-section .mori-home-italic{font:italic 27px/1.5 Bitter,Georgia,serif;color:var(--mori-ink);margin:0 0 28px}
.mori-home .mori-home-section .mori-home-small{font-size:13px;line-height:1.7}
.mori-home .mori-home-section figure{display:block;max-width:100%;padding:0;margin:0}
.mori-home .mori-home-section figure img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border:0;box-shadow:none}
.mori-home picture{display:contents}.mori-home picture source{display:none}
.mori-home .mori-home-section .mori-home-action{margin:28px 0 0}
.mori-home .mori-home-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;color:var(--mori-wine);font-size:16px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--mori-line);padding-bottom:7px}
@media (hover:hover) and (pointer:fine){
.mori-home .mori-home-link:hover{color:var(--mori-green);border-color:var(--mori-green)}}
.mori-home .mori-home-section .mori-home-caption{font-size:12px;font-style:italic;text-align:right;color:var(--mori-muted);line-height:1.6;margin:14px 0 0}
.mori-home .mori-home-category-links .mori-home-action{margin:0 0 18px}
.mori-home .mori-home-category-links a{width:100%}
/* Reservation: lời mời, hành động gọi và bảng giờ native cùng một chương. */
.mori-home .mori-home-contact-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(64px,8vw,140px);align-items:center}
.mori-home .mori-home-contact-copy{max-width:700px}
.mori-home .mori-home-contact-copy>div>p:not(.mori-home-contact-number){max-width:550px}
.mori-home .mori-home-contact h2{font-size:clamp(54px,5.5vw,86px);line-height:1.04}
.mori-home .mori-home-contact-number{margin:32px 0 18px!important}
.mori-home .mori-home-contact-number a{display:inline-flex;flex-direction:column;gap:8px;padding:20px 30px;background:var(--mori-green);color:var(--mori-paper);border-radius:6px;text-decoration:none;border:2px solid var(--mori-green);transition:background .2s}
@media (hover:hover) and (pointer:fine){
.mori-home .mori-home-contact-number a:hover{background:var(--mori-wine);border-color:var(--mori-wine)}}
.mori-home .mori-call-label{display:flex;align-items:center;gap:12px;font:400 17px/1.3 iCielBCCubano,serif}
.mori-home .mori-call-label>span{font:28px/1 Georgia,serif}
.mori-home .mori-call-number{font:400 clamp(28px,2.6vw,40px)/1.25 iCielBCCubano,serif;white-space:nowrap;letter-spacing:.015em}
.mori-home .mori-home-contact-hours{position:relative;width:100%;max-width:550px;justify-self:center;text-align:center;border:2px solid var(--mori-green);border-radius:7px;padding:42px 36px;background:#fff8e854;box-shadow:10px 12px 0 color-mix(in srgb, var(--mori-green) 7.843%, transparent)}
.mori-home .mori-home-contact-hours:before{content:"";position:absolute;inset:10px;border:1px solid color-mix(in srgb, var(--mori-green) 33.333%, transparent);border-radius:3px;pointer-events:none}
.mori-home .mori-home-contact-hours:after{content:"";position:absolute;top:-28px;left:calc(50% - 36px);width:72px;height:28px;border:2px solid var(--mori-green);border-bottom:0;border-radius:7px 7px 0 0}
.mori-home .mori-home-contact-hours .mori-hours{display:block;width:100%;margin:0;padding:0;text-align:center}
.mori-home .mori-home-contact-hours .hours-working{width:100%;margin:0;padding:0;text-align:center}
.mori-home .mori-home-contact-hours .hours-working h4{font:400 clamp(28px,2.6vw,38px)/1.2 iCielBCCubano,serif;color:var(--mori-green);margin:0 0 30px}
.mori-home .mori-home-contact-hours .hours-working p{font-size:15px;line-height:1.8;margin:0;padding:20px 0;border-top:1px solid color-mix(in srgb, var(--mori-green) 20%, transparent)}
.mori-home .mori-home-contact-hours .hours-working strong{font:400 clamp(25px,2.3vw,34px)/1.6 iCielBCCubano,serif;color:var(--mori-wine);white-space:nowrap}
.mori-home .mori-home-contact-hours .hours-working-button{display:none}
.mori-home .mori-home-contact-hours .mori-hours-sign-label{font-size:10px;letter-spacing:.2em;color:var(--mori-green);margin:0 0 16px}
.mori-home .mori-home-contact-hours .mori-hours-address{font-size:11px;line-height:1.6;margin:18px 0 0;padding-top:18px;border-top:1px solid color-mix(in srgb, var(--mori-green) 20%, transparent)}
/* Dải màu tràn viewport bằng paint, không tạo phần tử100vw gây overflow. */
.mori-home .mori-story-title{position:relative;background:var(--mori-wine);box-shadow:0 0 0 100vmax var(--mori-wine);clip-path:inset(0 -100vmax);padding:68px 0;margin:0 0 76px!important}
.mori-home .mori-story-title>.wp-block-group__inner-container{display:grid;grid-template-columns:1.25fr .75fr;gap:72px;align-items:end}
.mori-home .mori-story-title h2{font-size:clamp(62px,6.8vw,104px);color:var(--mori-paper);margin:0;line-height:1.03}
.mori-home .mori-story-title .mori-home-kicker{color:color-mix(in srgb, var(--mori-paper) 80.784%, transparent)}
.mori-home .mori-story-title .mori-home-italic{font-size:25px;color:var(--mori-paper);padding-bottom:5px;margin:0}
.mori-home .mori-story-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(60px,7vw,120px);align-items:center}
.mori-home .mori-story-photos>.wp-block-group__inner-container{display:grid;grid-template-columns:1fr .75fr;gap:24px;align-items:start}
.mori-home .mori-story-photo-small{margin-top:120px!important}
.mori-home .mori-story-copy{scroll-margin-top:40px;max-width:530px}
.mori-home .mori-story-copy .mori-home-italic{font-size:32px}
/* Sushi: tiêu đề lệch nhịp, ba ảnh đa tỷ lệ, không crop món. */
.mori-home .mori-sushi-heading>.wp-block-group__inner-container{display:flex;justify-content:space-between;gap:48px;align-items:end;border-bottom:2px solid var(--mori-wine);padding-bottom:32px;margin-bottom:48px}
.mori-home .mori-sushi-heading h2{font-size:clamp(100px,12vw,188px);line-height:.85;margin:0;letter-spacing:-.035em}
.mori-home .mori-sushi-heading .mori-home-kicker{margin-bottom:32px}
.mori-home .mori-sushi-heading .mori-home-italic{font-size:27px;margin:0;padding-bottom:8px}
.mori-home .mori-sushi-gallery>.wp-block-group__inner-container{display:grid;grid-template-columns:.72fr 1.65fr .72fr;gap:clamp(22px,3vw,48px);align-items:center}
.mori-home .mori-sushi-photo-left{align-self:start;margin-top:40px!important}
.mori-home .mori-sushi-photo-right{align-self:end;margin-bottom:25px!important}
.mori-home .mori-sushi-details>.wp-block-group__inner-container{display:grid;grid-template-columns:.95fr 1.2fr .9fr;gap:clamp(36px,5vw,80px);margin-top:50px;align-items:start}
.mori-home .mori-sushi-details .mori-home-italic{font-size:25px;margin:0}
.mori-home .mori-sushi-details p{font-size:16px;margin:0}
.mori-home .mori-sushi-details .mori-home-action{margin:0 0 16px}
/* Món Việt: ảnh/chữ rồi hai tranh chì hòa nền giấy. */
.mori-home .mori-home-viet-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:1fr 1fr;gap:clamp(64px,9vw,150px);align-items:center}
.mori-home .mori-home-viet-copy{max-width:620px}
.mori-home .mori-home-viet-photo{max-width:620px;justify-self:end;transform:rotate(2deg)}
.mori-home .mori-home-viet-dishes>.wp-block-group__inner-container{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:72px;padding-top:36px;border-top:1px solid var(--mori-line)}
.mori-home .mori-viet-dish>.wp-block-group__inner-container{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:center}
.mori-home .mori-viet-bun{padding-top:70px}
.mori-home .mori-viet-pencil{transform:rotate(-5deg);filter:grayscale(1) sepia(.15);mix-blend-mode:multiply}
.mori-home .mori-viet-bun .mori-viet-pencil{transform:rotate(5deg)}
.mori-home .mori-viet-dish h3{font-size:48px;margin-bottom:16px;color:var(--mori-wine)}
.mori-home .mori-viet-dish p{font-size:15px;margin:0}
/* Ưu đãi: coupon xanh, viền nét đứt, giữ điều kiện chỉ mang về. */
/* Review: dải xanh toàn viewport và sáu card viền nét đứt. */
.mori-home .mori-review-heading{background:var(--mori-green);box-shadow:0 0 0 100vmax var(--mori-green);clip-path:inset(0 -100vmax);padding:68px 0;margin:0 0 60px!important}
.mori-home .mori-review-heading>.wp-block-group__inner-container{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}
.mori-home .mori-review-heading h2{font-size:clamp(56px,6vw,90px);color:var(--mori-paper);margin:0}
.mori-home .mori-review-heading .mori-home-kicker{color:color-mix(in srgb, var(--mori-paper) 74.118%, transparent)}
.mori-home .mori-review-heading-aside{max-width:390px;justify-self:end}
.mori-home .mori-review-heading-aside p{color:var(--mori-paper);font-size:16px;margin:0}
.mori-home .mori-review-heading .mori-review-heading-stars{font-size:34px;letter-spacing:.12em;margin:0 0 20px;color:#ecd1a3}
.mori-home .mori-review-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.mori-home .mori-review-card{padding:30px;border:2px dashed #9d8a6e;border-radius:7px;background:#fff9ed40}
.mori-home .mori-review-card>.wp-block-group__inner-container{height:100%;display:flex;flex-direction:column;align-items:stretch}
.mori-home .mori-review-header>.wp-block-group__inner-container{display:grid;grid-template-columns:48px minmax(0,1fr);gap:14px;align-items:center}
.mori-home figure.mori-review-avatar,.mori-home figure.mori-review-avatar img{width:48px;height:48px;margin:0;object-fit:contain}
.mori-home .mori-review-card .mori-review-author{font-size:16px;line-height:1.45;margin:0 0 4px}
.mori-home .mori-review-author a{color:var(--mori-ink);text-decoration:none;font-weight:600}
.mori-home .mori-review-card .mori-review-date{font-size:12px;line-height:1.5;color:var(--mori-muted);margin:0}
.mori-home .mori-review-card .mori-review-stars{color:#936819;letter-spacing:.12em;font-size:17px;line-height:1.4;margin:22px 0 18px}
.mori-home blockquote.mori-review-quote{flex:1;min-height:90px;border:0;margin:0 0 26px;padding:0;box-shadow:none;background:transparent}
.mori-home blockquote.mori-review-quote p{font-size:18px;font-style:italic;line-height:1.65;margin:0}
.mori-home .mori-review-card .mori-review-source{font-size:11px;line-height:1.6;margin:auto 0 0;color:var(--mori-muted)}
.mori-home .mori-review-source a{color:var(--mori-wine);text-underline-offset:3px}
.mori-home .mori-home-section .mori-review-note{font-size:12px;color:var(--mori-muted);line-height:1.7;margin:28px auto 0;max-width:760px;text-align:center}
/* Gutschein giữ cấu trúc, cân tỷ lệ theo khung mới. */
.mori-home .mori-home-gift{padding:clamp(48px,6vw,96px);background:var(--mori-wine);border-radius:7px}
.mori-home .mori-gift-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:1.12fr 1fr;gap:clamp(48px,6vw,96px);align-items:center}
.mori-home .mori-gift-copy .mori-home-kicker{color:color-mix(in srgb, var(--mori-paper) 70.196%, transparent)}
.mori-home .mori-gift-copy h2{color:var(--mori-paper);font-size:clamp(45px,4.8vw,72px);margin-bottom:28px}
.mori-home .mori-gift-copy .mori-home-italic{font-size:22px;color:var(--mori-paper);line-height:1.65;max-width:510px}
.mori-home .mori-gift-copy .button-link{background:var(--mori-paper);color:var(--mori-wine);border-color:var(--mori-paper)}
@media (hover:hover) and (pointer:fine){
.mori-home .mori-gift-copy .button-link:hover{background:var(--mori-paper-light);color:var(--mori-green)}}
.mori-home .mori-gift-art{padding:30px 0}
.mori-home .mori-gift-ticket{position:relative;background:var(--mori-paper);color:var(--mori-wine);padding:48px 28px 38px;text-align:center;border:1px solid #e2cfaf;border-radius:6px;transform:rotate(-4deg);box-shadow:12px 14px 0 #451b2233}
.mori-home .mori-gift-ticket:before{content:"";position:absolute;inset:13px;border:1px solid color-mix(in srgb, var(--mori-wine) 33.333%, transparent);border-radius:3px;pointer-events:none}
.mori-home .mori-gift-ticket-label{font-size:12px!important;text-transform:uppercase;letter-spacing:.2em;margin:0 0 30px!important}
.mori-home .mori-gift-ticket-brand{font-family:iCielBCCubano,Georgia,serif;font-size:clamp(60px,6vw,90px)!important;line-height:1!important;margin:0 0 5px!important}
.mori-home .mori-gift-ticket-subtitle{font-size:10px!important;letter-spacing:.04em;margin:0 0 28px!important}
.mori-home .mori-gift-ticket-message{font-size:20px!important;font-style:italic;margin:0!important}
@media(max-width:1100px){
 .mori-home .mori-home-contact-grid>.wp-block-group__inner-container,.mori-home .mori-story-grid>.wp-block-group__inner-container{gap:48px}
 .mori-home .mori-home-contact-hours{padding:36px 25px}
 .mori-home .mori-viet-dish>.wp-block-group__inner-container{grid-template-columns:1fr;gap:18px}
 .mori-home .mori-home-viet-dishes>.wp-block-group__inner-container{gap:60px}
 .mori-home .mori-viet-dish-copy{max-width:350px}
 .mori-home .mori-story-title>.wp-block-group__inner-container{gap:40px}
 .mori-home .mori-story-title .mori-home-italic{font-size:22px}
}
@media(max-width:920px){
 .mori-home .mori-home-flow{padding-top:88px}
 .mori-home .mori-home-contact-grid>.wp-block-group__inner-container{grid-template-columns:1fr;gap:70px}
 .mori-home .mori-home-contact-copy{max-width:none;text-align:center}
 .mori-home .mori-home-contact-copy>div>p:not(.mori-home-contact-number){margin-left:auto;margin-right:auto}
 .mori-home .mori-story-grid>.wp-block-group__inner-container{grid-template-columns:1fr;gap:48px}
 .mori-home .mori-story-copy{max-width:680px;justify-self:center}
 .mori-home .mori-story-photo-small{margin-top:80px!important}
 .mori-home .mori-story-title>.wp-block-group__inner-container{grid-template-columns:1fr;gap:32px}
 .mori-home .mori-sushi-heading>.wp-block-group__inner-container{gap:24px}
 .mori-home .mori-sushi-heading .mori-home-italic{font-size:22px}
 .mori-home .mori-sushi-details>.wp-block-group__inner-container{grid-template-columns:1fr 1fr;gap:32px}
 .mori-home .mori-sushi-details .mori-home-category-links{grid-column:1/-1}
 .mori-home .mori-home-viet-grid>.wp-block-group__inner-container{gap:44px}
 .mori-home .mori-home-viet-copy h2{font-size:52px}
 .mori-home .mori-review-heading>.wp-block-group__inner-container{grid-template-columns:1.2fr .8fr;gap:40px}
 .mori-home .mori-review-heading h2{font-size:56px}
 .mori-home .mori-review-grid>.wp-block-group__inner-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
 .mori-home .mori-gift-grid>.wp-block-group__inner-container{grid-template-columns:1fr;gap:32px}
 .mori-home .mori-gift-art{max-width:450px;width:100%;margin:0 auto!important}
}
@media(max-width:768px){
 .mori-home .inside-header-home{min-height:600px}
 .mori-home .inside-header-home .group-welcome{padding:0 22px}
 .mori-home .inside-header-home:after{background:linear-gradient(90deg,color-mix(in srgb, var(--mori-paper) 60%, transparent),color-mix(in srgb, var(--mori-paper) 12.157%, transparent)),linear-gradient(180deg,color-mix(in srgb, var(--mori-paper) 40%, transparent),transparent 25%)}
 .mori-home .home-welcome-wrap{padding:16px 0 30px}
 .mori-home .mori-home-eyebrow{font-size:10px;letter-spacing:.08em;margin-bottom:14px}
 .mori-home .mori-home-tagline{font-size:23px;line-height:1.4;margin-bottom:10px}
 .mori-home .mori-home-location{font-size:10px;letter-spacing:.1em;margin-bottom:18px}
 .mori-home .mori-home-actions{flex-direction:column;align-items:center;gap:14px}
 .mori-home .mori-home-actions .button-link{font-size:12px;padding:12px 18px}
 .mori-home #new_event_homepage_container{margin:0 0 26px;padding:14px 16px;max-height:23svh}
 .mori-home #new_event_homepage_container h2{font-size:20px}
 .mori-home #new_event_homepage_container p{font-size:12px;line-height:1.6}
 body.mori-home{--mori-home-gap:104px}
 .mori-home .mori-home-flow{padding-top:64px}
 .mori-home .mori-home-section h2{font-size:48px}
 .mori-home .mori-home-section p{font-size:16px}
 .mori-home .mori-home-section .mori-home-kicker{font-size:10px}
 .mori-home .mori-home-section .mori-home-italic{font-size:24px}
 .mori-home .mori-home-contact h2{font-size:56px}
 .mori-home .mori-home-contact-copy{text-align:center}
 .mori-home .mori-home-contact-number a{display:flex;padding:18px 22px;max-width:380px}
 .mori-home .mori-call-number{font-size:30px}
 .mori-home .mori-home-contact-hours{padding:34px 24px;max-width:440px;box-shadow:7px 9px 0 color-mix(in srgb, var(--mori-green) 7.843%, transparent)}
 .mori-home .mori-home-contact-hours .hours-working h4{font-size:30px}
 .mori-home .mori-home-contact-hours .hours-working strong{font-size:27px}
 .mori-home .mori-home-contact-hours .hours-working p{font-size:14px;padding:18px 0}
 .mori-home .mori-story-title{padding:45px 0;margin-bottom:45px!important}
 .mori-home .mori-story-title h2{font-size:clamp(40px,12vw,52px)}
 .mori-home .mori-story-title .mori-home-italic{font-size:21px;margin:0}
 .mori-home .mori-story-photos>.wp-block-group__inner-container{gap:18px;grid-template-columns:1fr .8fr}
 .mori-home .mori-story-photo-small{margin-top:65px!important}
 .mori-home .mori-story-copy .mori-home-italic{font-size:27px}
 .mori-home .mori-sushi-heading>.wp-block-group__inner-container{display:block;padding-bottom:28px;margin-bottom:32px}
 .mori-home .mori-sushi-heading h2{font-size:114px}
 .mori-home .mori-sushi-heading .mori-home-kicker{margin-bottom:26px}
 .mori-home .mori-sushi-heading .mori-home-italic{font-size:23px;margin:26px 0 0;padding:0}
 .mori-home .mori-sushi-gallery>.wp-block-group__inner-container{grid-template-columns:1fr 1fr;gap:22px}
 .mori-home .mori-sushi-photo-main{grid-column:1/-1;grid-row:1}
 .mori-home .mori-sushi-photo-left{grid-column:1;grid-row:2;margin-top:0!important}
 .mori-home .mori-sushi-photo-right{grid-column:2;grid-row:2;margin:36px 0 0!important}
 .mori-home .mori-sushi-details>.wp-block-group__inner-container{grid-template-columns:1fr;gap:24px;margin-top:36px}
 .mori-home .mori-sushi-details .mori-home-category-links{grid-column:auto}
 .mori-home .mori-home-viet-grid>.wp-block-group__inner-container{grid-template-columns:1fr;gap:44px}
 .mori-home .mori-home-viet-copy h2{font-size:56px}
 .mori-home .mori-home-viet-photo{width:94%;max-width:480px;justify-self:center}
 .mori-home .mori-home-viet-dishes>.wp-block-group__inner-container{grid-template-columns:1fr;gap:48px;margin-top:64px;padding-top:32px}
 .mori-home .mori-viet-dish>.wp-block-group__inner-container{grid-template-columns:1fr;gap:6px}
 .mori-home .mori-viet-dish-copy{max-width:330px}
 .mori-home .mori-viet-bun{padding-top:0}
 .mori-home .mori-viet-dish h3{font-size:43px;margin-bottom:12px}
 .mori-home .mori-viet-dish p{font-size:15px}
 .mori-home .mori-review-heading{padding:48px 0;margin-bottom:40px!important}
 .mori-home .mori-review-heading>.wp-block-group__inner-container{grid-template-columns:1fr;gap:28px}
 .mori-home .mori-review-heading h2{font-size:clamp(38px,12vw,53px)}
 .mori-home .mori-review-heading-aside{justify-self:start;max-width:350px}
 .mori-home .mori-review-heading .mori-review-heading-stars{font-size:28px;margin-bottom:14px}
 .mori-home .mori-review-grid>.wp-block-group__inner-container{grid-template-columns:1fr;gap:24px}
 .mori-home .mori-review-card{padding:25px}
 .mori-home .mori-review-quote{min-height:0}
 .mori-home .mori-home-gift{padding:36px 26px}
 .mori-home .mori-gift-copy h2{font-size:clamp(30px,8.8vw,40px)}
 .mori-home .mori-gift-copy .mori-home-italic{font-size:20px}
 .mori-home .mori-gift-copy .button-link{font-size:12px;padding:13px 16px}
 .mori-home .mori-gift-ticket{padding:44px 20px 36px}
 .mori-home .mori-gift-ticket-brand{font-size:65px!important}
 .mori-home .mori-gift-ticket-subtitle{font-size:9px!important}
 .mori-home .mori-gift-ticket-message{font-size:18px!important}
}
@media(max-width:360px){
 .mori-home .mori-call-number{font-size:26px}
 .mori-home .mori-home-contact-hours{padding:32px 19px}
 .mori-home .mori-home-contact-hours .hours-working strong{font-size:24px}


}
@media(prefers-reduced-motion:reduce){.mori-home *,.mori-home *:before,.mori-home *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* MORI — Lieferservice là điểm chính; ưu đãi chỉ dành cho Abholung tách riêng. */
.mori-home .mori-home-takeaway{border-top:1px solid var(--mori-line);padding-top:72px}
.mori-home .mori-home-take-grid>.wp-block-group__inner-container{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(64px,8vw,130px);align-items:center}
.mori-home .mori-home-take-copy p{max-width:570px}
.mori-home .mori-home-take-copy h2{font-size:clamp(52px,5.7vw,86px);line-height:1.06;text-transform:uppercase}
.mori-home .mori-home-take-copy .mori-home-italic{font-size:24px;margin-top:30px}
.mori-home .mori-home-service-panels>.wp-block-group__inner-container{display:flex;flex-direction:column;gap:24px}
.mori-home .mori-home-delivery-card{position:relative;padding:34px 38px 36px;text-align:center;background:var(--mori-green);color:var(--mori-paper);border-radius:7px}
.mori-home .mori-delivery-symbol{display:block;width:130px;height:80px;margin:0 auto;background:var(--mori-paper);mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20144%2088%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M26%2062V20h61v42M87%2035h20l17%2018v9M14%2062h20m17%200h45m17%200h17M97%2035v18h27M37%2031h33M37%2042h20M12%2030h7M5%2042h14M12%2053h7%22%2F%3E%3Ccircle%20cx%3D%2243%22%20cy%3D%2266%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%22105%22%20cy%3D%2266%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M66%2031l4%200M65%2015l9-8%209%208%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}
.mori-home .mori-home-delivery-card .mori-delivery-illustration{margin:0 0 14px}
.mori-home .mori-home-delivery-card .mori-delivery-label{font:400 18px/1.3 iCielBCCubano,serif;letter-spacing:.07em;color:#edcf98;margin:0 0 20px}
.mori-home .mori-home-delivery-card h3{font-size:clamp(34px,3.3vw,49px);line-height:1.08;color:var(--mori-paper);margin:0 0 23px}
.mori-home .mori-home-delivery-card .mori-home-small{font-size:13px;max-width:320px;margin:0 auto 24px;color:var(--mori-paper)}
.mori-home .mori-delivery-action{margin:0!important}
.mori-home .mori-delivery-action a{display:inline-flex;align-items:center;gap:26px;padding:11px 18px;border:1px solid var(--mori-paper);border-radius:4px;text-decoration:none;color:var(--mori-paper);font-size:14px}
@media (hover:hover) and (pointer:fine){
.mori-home .mori-delivery-action a:hover{background:var(--mori-paper);color:var(--mori-green)}}
.mori-home .mori-home-take-offer{padding:22px 26px;border:2px dashed #a57c6f;border-radius:7px;background:#fff8e850;color:var(--mori-ink)}
.mori-home .mori-home-take-offer>.wp-block-group__inner-container{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:center}
.mori-home .mori-home-section .mori-home-offer-number{font:400 78px/1 iCielBCCubano,serif;color:var(--mori-wine);letter-spacing:-.04em;margin:0}
.mori-home .mori-home-offer-number span{font-size:.5em;vertical-align:top;line-height:1.3;letter-spacing:0}
.mori-home .mori-home-offer-copy h3{font-size:25px;color:var(--mori-wine);margin:0 0 4px}
.mori-home .mori-home-offer-copy .mori-home-italic{font-size:20px;color:var(--mori-ink);margin:0 0 10px}
.mori-home .mori-home-offer-copy .mori-home-small{font-size:11px;line-height:1.65;max-width:290px;margin:0}
@media(max-width:1100px){.mori-home .mori-home-take-grid>.wp-block-group__inner-container{gap:48px}.mori-home .mori-home-take-offer{padding:20px}.mori-home .mori-home-take-offer>.wp-block-group__inner-container{gap:18px}.mori-home .mori-home-section .mori-home-offer-number{font-size:64px}.mori-home .mori-home-offer-copy h3{font-size:22px}}
@media(max-width:920px){.mori-home .mori-home-take-grid>.wp-block-group__inner-container{gap:40px}.mori-home .mori-home-take-copy h2{font-size:52px}.mori-home .mori-home-delivery-card{padding:30px 24px}.mori-home .mori-home-delivery-card h3{font-size:33px}.mori-home .mori-home-take-offer>.wp-block-group__inner-container{grid-template-columns:1fr;gap:16px;text-align:center}.mori-home .mori-home-offer-copy .mori-home-small{margin:0 auto}.mori-home .mori-home-section .mori-home-offer-number{font-size:70px}}
@media(max-width:768px){.mori-home .mori-home-takeaway{padding-top:48px}.mori-home .mori-home-take-grid>.wp-block-group__inner-container{grid-template-columns:1fr;gap:36px}.mori-home .mori-home-take-copy h2{font-size:clamp(44px,12vw,60px)}.mori-home .mori-home-take-copy .mori-home-italic{font-size:22px}.mori-home .mori-home-delivery-card{padding:30px 24px 32px}.mori-home .mori-home-delivery-card h3{font-size:clamp(33px,9vw,42px)}.mori-home .mori-home-take-offer{padding:24px}.mori-home .mori-home-take-offer>.wp-block-group__inner-container{grid-template-columns:auto minmax(0,1fr);text-align:left;gap:22px}.mori-home .mori-home-offer-copy .mori-home-small{margin:0}.mori-home .mori-home-offer-copy h3{font-size:24px}.mori-home .mori-home-section .mori-home-offer-number{font-size:70px}}
@media(max-width:360px){.mori-home .mori-home-take-offer{padding:21px 18px}.mori-home .mori-home-take-offer>.wp-block-group__inner-container{gap:17px}.mori-home .mori-home-section .mori-home-offer-number{font-size:58px}.mori-home .mori-home-offer-copy h3{font-size:20px}.mori-home .mori-home-offer-copy .mori-home-italic{font-size:18px}}

/* MORI — loading độc lập GSAP, một owner cho media hero. */
#preloader-container.mori-preloader{position:fixed;inset:0;width:100%;height:100%;display:grid;place-items:center;margin:0;padding:0;z-index:999999;background:var(--mori-paper);background-image:linear-gradient(color-mix(in srgb,var(--mori-paper) 40%,transparent),color-mix(in srgb,var(--mori-paper) 40%,transparent)),url(/wp-content/uploads/2026/04/texturetastic-gray.png);color:var(--mori-green);touch-action:none;transition:opacity .35s ease,visibility .35s;animation:mori-loader-safety 0s 8s forwards}
#preloader-container.is-ready{opacity:0;visibility:hidden;pointer-events:none}
.mori-preloader .loader-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:176px;height:176px;opacity:1}
.mori-preloader .loader-ring{position:absolute;inset:0;width:100%;height:100%;animation:mori-loader-turn 2.5s linear infinite}
.mori-preloader .loader-ring svg{display:block;width:100%;height:100%;color:var(--mori-green)}
.mori-preloader .loader-logo{position:relative;width:112px;z-index:1;animation:mori-loader-breathe 1.7s ease-in-out infinite alternate}
.mori-preloader .loader-logo figure{margin:0;line-height:0}.mori-preloader .loader-logo img{width:100%;height:auto}
.mori-loader-caption{position:absolute;top:calc(100% + 28px);left:50%;transform:translateX(-50%);font:13px/1.5 Bitter,Georgia,serif;letter-spacing:.05em;white-space:nowrap;color:var(--mori-muted);margin:0}
@keyframes mori-loader-turn{to{transform:rotate(360deg)}}
@keyframes mori-loader-breathe{from{transform:scale(.96);opacity:.7}to{transform:scale(1.04);opacity:1}}
@keyframes mori-loader-safety{to{opacity:0;visibility:hidden;pointer-events:none}}
.mori-home .mori-video-playing .homepage-top-banner video{opacity:1}
.mori-home .homepage-top-banner .mori-hero-poster{display:contents}
.mori-home .homepage-top-banner .mori-hero-poster img{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;transform:none;object-fit:cover;object-position:20% 50%}
.mori-home .homepage-top-banner video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
.mori-home .mori-video-retry{position:absolute;z-index:3;right:clamp(20px,4vw,72px);bottom:24px;display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border:1px solid var(--mori-green);background:var(--mori-paper);color:var(--mori-green);font:600 13px/1.4 Bitter,Georgia,serif;box-shadow:none;cursor:pointer;pointer-events:auto}
.mori-home .mori-video-retry svg{width:15px;height:15px;fill:currentColor}
@media (hover:hover) and (pointer:fine){
.mori-home .mori-video-retry:hover{background:var(--mori-green);color:var(--mori-paper)}}
.mori-home .mori-video-retry[hidden],.mori-gutschein [hidden]{display:none!important}
.mori-home .mori-home-welcome h1.mori-hero-logo{width:clamp(240px,28vw,380px);max-width:78vw;font-size:0;line-height:0;margin:0 0 28px}
.mori-home .mori-hero-logo img{display:block;width:100%;height:auto;max-width:100%;border-radius:0!important}
/* Cover mặc định có nguồn Customizer chung; home/menu không dùng contract này. */
.mori-default-header{position:relative;isolation:isolate;min-height:clamp(300px,25vw,410px);padding-bottom:35px}
.mori-default-header .page-top-banner-wrap{inset:0;z-index:-1;pointer-events:none}
.mori-default-header .page-top-banner-content,.mori-default-header .mori-responsive-picture{display:contents}
.mori-default-header .cover-normal{object-position:50% 50%;opacity:.78;border:0;mix-blend-mode:multiply}
.mori-default-header .page-title-in-header{margin:34px auto 38px;max-width:1100px;text-shadow:none}
.mori-default-header .page-title-in-header h1{font:400 clamp(40px,5.4vw,76px)/1.1 iCielBCCubano,Georgia,serif;color:var(--mori-wine);white-space:normal!important;overflow:visible;text-shadow:none}
/* Gutschein là composition riêng; footer/nav/palette tiếp tục dùng global. */
.mori-gutschein #page,.mori-gutschein #content,.mori-gutschein .site-content,.mori-gutschein .inside-article{max-width:none;margin:0;padding:0;background:transparent}
.mori-gutschein .entry-content{margin:0;padding:0!important}
.mori-gutschein-page{width:calc(100% - 2 * var(--mori-gutter));max-width:var(--mori-content-width);margin:clamp(72px,7vw,112px) auto 0;color:var(--mori-ink);font:16px/1.75 Bitter,Georgia,serif;text-shadow:none}
.mori-gutschein-page :is(h2,h3){font-family:iCielBCCubano,Georgia,serif;font-weight:400;text-shadow:none}
.mori-gutschein-page .mori-kicker{font:600 11px/1.6 Bitter,Georgia,serif;text-transform:uppercase;letter-spacing:.14em;margin:0 0 24px}
.mori-gift-intro{display:grid;grid-template-columns:1.15fr 1fr;column-gap:clamp(48px,8vw,130px);align-items:end;margin-bottom:70px}
.mori-gift-intro .mori-kicker{grid-column:1/-1;margin-bottom:20px;color:var(--mori-wine)}
.mori-gift-intro h2{font-size:clamp(46px,5vw,76px);line-height:1.06;margin:0;color:var(--mori-wine)}
.mori-gift-intro>p:last-child{font-size:18px;line-height:1.8;margin:0;max-width:640px}
.mori-gift-intro .mori-gift-jump{display:inline-flex;align-items:center;gap:20px;margin-top:24px;padding:0 0 5px;color:var(--mori-green);font:600 14px/1.7 Bitter,Georgia,serif;border-bottom:1px solid currentColor;text-decoration:none}
@media (hover:hover) and (pointer:fine){
.mori-gift-intro .mori-gift-jump:hover{color:var(--mori-wine)}}
.mori-gift-order-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(32px,5vw,80px);align-items:start}
.mori-gift-showcase{background:var(--mori-green);color:var(--mori-paper);border-radius:var(--mori-radius-lg);padding:clamp(35px,4.3vw,68px);text-align:center;position:sticky;top:32px}
.mori-gift-showcase>.mori-kicker{color:var(--mori-paper);margin-bottom:42px}
.mori-voucher-paper{position:relative;background:var(--mori-paper);color:var(--mori-ink);border:1px solid var(--mori-line);border-radius:var(--mori-radius-md);padding:38px 24px 26px;transform:rotate(-3deg);box-shadow:10px 12px 0 color-mix(in srgb,var(--mori-ink) 25%,transparent);max-width:390px;margin:0 auto}
.mori-voucher-paper:before{content:"";position:absolute;inset:11px;border:1px dashed var(--mori-line);border-radius:var(--mori-radius-xs);pointer-events:none}
.mori-voucher-paper .mori-voucher-label{font:400 34px/1.1 iCielBCCubano,Georgia,serif;letter-spacing:.04em;color:var(--mori-wine);margin:0 0 24px}
.mori-voucher-paper .mori-voucher-logo{display:block;width:155px;height:auto;margin:0 auto 10px;border-radius:0!important;box-shadow:none}
.mori-voucher-paper>p:not([class]){font-size:10px;letter-spacing:.04em;margin:0 0 12px}
.mori-voucher-value{display:flex;gap:10px;align-items:baseline;justify-content:center;font:400 clamp(60px,6vw,92px)/1.2 iCielBCCubano,Georgia,serif;color:var(--mori-wine);margin:24px 0 14px}
.mori-voucher-value>span:last-child{font-size:.42em}
.mori-voucher-paper .mori-voucher-message{font:italic 17px/1.6 Bitter,Georgia,serif;margin:0 0 24px}
.mori-voucher-rule{display:block;width:55px;border-top:1px solid var(--mori-wine);margin:0 auto 16px}
.mori-voucher-paper .mori-voucher-location{font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin:0}
.mori-gift-handnote{font:italic 22px/1.55 Bitter,Georgia,serif;margin:44px 0 30px}
.mori-gift-details{display:flex;flex-direction:column;gap:8px;font-size:12px;line-height:1.6;padding-top:25px;border-top:1px solid color-mix(in srgb,var(--mori-paper) 30%,transparent)}
.mori-gift-form-panel{box-sizing:border-box;padding:clamp(28px,3vw,48px);border:1px solid var(--mori-line);border-radius:var(--mori-radius-lg);background:color-mix(in srgb,var(--mori-paper-light) 45%,transparent);scroll-margin-top:32px}
.mori-gift-form-panel>.mori-kicker{color:var(--mori-muted);margin:0 0 13px}
.mori-gift-form-panel h2{font-size:clamp(38px,3.6vw,56px);line-height:1.1;color:var(--mori-wine);margin:0 0 20px}
.mori-form-intro{font-size:14px;line-height:1.8;margin:0 0 36px}
.mori-gutschein-form fieldset{border:0;padding:0;margin:0 0 28px;min-width:0}
.mori-gutschein-form legend{font:600 13px/1.6 Bitter,Georgia,serif;letter-spacing:.02em;margin:0 0 18px;padding:0;color:var(--mori-green)}
.mori-value-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.mori-value-options label{position:relative;cursor:pointer}
.mori-value-options input{position:absolute;opacity:0;width:1px;height:1px}
.mori-value-options label>span{display:block;text-align:center;padding:11px 8px;border:1px solid var(--mori-line);border-radius:var(--mori-radius-sm);font:600 15px/1.4 Bitter,Georgia,serif;color:var(--mori-green);background:transparent;transition:background .15s,color .15s}
.mori-value-options input:checked+span{color:var(--mori-paper);background:var(--mori-green);border-color:var(--mori-green)}
.mori-value-options input:focus-visible+span{outline:2px solid var(--mori-wine);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
.mori-value-options label:hover>span{border-color:var(--mori-green)}}
.mori-form-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.mori-form-field{min-width:0;margin-bottom:16px}
.mori-form-field>label{display:block;font:500 13px/1.5 Bitter,Georgia,serif;margin:0 0 9px;color:var(--mori-ink)}
.mori-form-field .mori-optional{font-weight:400;color:var(--mori-muted)}
.mori-gutschein-form input:not([type=hidden]):not([type=radio]),.mori-gutschein-form textarea{box-sizing:border-box;width:100%;max-width:100%;min-height:46px;margin:0;padding:12px 13px;border:1px solid var(--mori-line);background:color-mix(in srgb,var(--mori-paper-light) 60%,transparent);color:var(--mori-text);font:16px/1.5 Bitter,Georgia,serif;box-shadow:none;border-radius:var(--mori-radius-sm)}
.mori-gutschein-form textarea{resize:vertical;min-height:112px}
.mori-gutschein .mori-gutschein-form :is(input:not([type=hidden]):not([type=radio]),textarea){background:color-mix(in srgb,var(--mori-paper-light) 60%,transparent)!important;box-shadow:none!important;border:1px solid var(--mori-line)!important}
.mori-gutschein .mori-gutschein-form :is(input,textarea):focus-visible{outline:2px solid var(--mori-green)!important;outline-offset:2px;border-color:var(--mori-green)!important}
.mori-gutschein-form :is(input,textarea):focus{outline:2px solid var(--mori-green);outline-offset:2px;border-color:var(--mori-green)}
.mori-gutschein-form [aria-invalid=true]{border-color:var(--mori-wine)!important}
.mori-payment label{display:flex;align-items:flex-start;gap:10px;font:14px/1.6 Bitter,Georgia,serif;cursor:pointer}
.mori-payment input{accent-color:var(--mori-green);flex:0 0 auto;margin-top:4px}
.mori-form-total{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 0;margin:4px 0 22px;border-top:1px dashed var(--mori-line);border-bottom:1px dashed var(--mori-line)}
.mori-form-total>span{font-size:14px}.mori-form-total output{font:400 34px/1.2 iCielBCCubano,Georgia,serif;color:var(--mori-wine)}
.mori-form-privacy{font-size:11px;line-height:1.8;color:var(--mori-muted);margin:0 0 22px}
.mori-form-privacy a{color:var(--mori-wine);text-underline-offset:3px}
.mori-gutschein-submit{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:17px 22px;background:var(--mori-green);color:var(--mori-paper);font:600 14px/1.5 Bitter,Georgia,serif;border:1px solid var(--mori-green);box-shadow:none;cursor:pointer}
@media (hover:hover) and (pointer:fine){
.mori-gutschein-submit:hover{background:var(--mori-wine);border-color:var(--mori-wine);color:var(--mori-paper)}}
.mori-gutschein-submit:disabled{opacity:.65;cursor:wait}
.mori-form-required{font-size:10px;color:var(--mori-muted);line-height:1.6;margin:14px 0 0}
.mori-field-error{font-size:12px;line-height:1.6;color:var(--mori-wine);margin:6px 0 0}.mori-field-error:empty{display:none}
.mori-form-feedback{border:2px solid var(--mori-wine);border-radius:var(--mori-radius-md);padding:22px;margin:0 0 30px;font-size:15px;line-height:1.8;background:var(--mori-paper-light);color:var(--mori-ink)}
.mori-form-feedback[data-success=true]{border-color:var(--mori-green)}
.mori-form-feedback p{margin:0 0 14px}.mori-form-feedback p:last-child{margin:0}
.mori-form-feedback a{display:block;margin-top:24px;color:var(--mori-wine);text-underline-offset:4px}
.mori-form-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.mori-gift-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(32px,5vw,80px);margin:clamp(80px,8vw,128px) 0;padding:55px 0;border-top:1px solid var(--mori-line);border-bottom:1px solid var(--mori-line)}
.mori-gift-steps>div>span{display:block;font:italic 24px/1 Bitter,Georgia,serif;color:var(--mori-muted);margin:0 0 22px}
.mori-gift-steps h3{font-size:30px;line-height:1.2;margin:0 0 16px;color:var(--mori-wine)}
.mori-gift-steps p{font-size:14px;line-height:1.8;margin:0;max-width:340px}
.mori-gift-contact{text-align:center;padding:0 0 10px}
.mori-gift-contact p{font-size:14px;line-height:1.7;margin:0 0 14px}
.mori-gift-contact>a{display:inline-block;font:400 clamp(30px,4vw,48px)/1.3 iCielBCCubano,Georgia,serif;color:var(--mori-wine);text-decoration:none;margin:0 0 18px}
@media(max-width:1050px){.mori-gift-order-grid{grid-template-columns:.9fr 1.1fr;gap:28px}.mori-gift-showcase{padding:36px 24px}.mori-gift-form-panel{padding:30px 24px}.mori-form-two{grid-template-columns:1fr;gap:0}}
@media(max-width:800px){.mori-gift-intro{grid-template-columns:1fr;gap:30px}.mori-gift-intro .mori-kicker{margin-bottom:0}.mori-gift-intro h2{font-size:50px}.mori-gift-intro>p:last-child{font-size:16px}.mori-gift-order-grid{grid-template-columns:1fr;gap:44px}.mori-gift-showcase{position:relative;top:auto;padding:40px 32px}.mori-voucher-paper{max-width:330px}.mori-gift-handnote{margin:35px 0 24px}.mori-gift-details{gap:5px}.mori-gift-form-panel{padding:34px 28px}.mori-form-two{grid-template-columns:1fr 1fr;gap:16px}.mori-gift-steps{grid-template-columns:1fr;gap:38px;margin:80px 0;padding:40px 0}.mori-gift-steps>div{display:grid;grid-template-columns:40px 1fr;gap:8px 18px}.mori-gift-steps>div>span{grid-row:1/3;margin:5px 0 0}.mori-gift-steps h3{margin:0;font-size:28px}.mori-gift-steps p{grid-column:2;max-width:none}}
@media(max-width:768px){.mori-default-header{min-height:270px;padding-bottom:20px}.mori-default-header .cover-normal{object-position:20% 50%;opacity:.55}.mori-default-header .page-title-in-header{margin:35px auto 25px}.mori-home .mori-home-welcome h1.mori-hero-logo{width:clamp(210px,62vw,300px);margin-bottom:24px}.mori-home .mori-video-retry{bottom:14px;right:16px;padding:9px 12px;font-size:11px}.mori-loader-caption{font-size:12px}}
@media(max-width:480px){.mori-gutschein-page{margin-top:64px}.mori-gift-intro{margin-bottom:44px}.mori-gift-intro h2{font-size:42px}.mori-gift-showcase{padding:32px var(--mori-panel-padding)}.mori-voucher-paper{padding:34px var(--mori-panel-padding) 26px}.mori-voucher-paper .mori-voucher-logo{width:136px}.mori-gift-form-panel{padding:30px var(--mori-panel-padding)}.mori-form-two{grid-template-columns:1fr;gap:0}.mori-gift-contact p{font-size:12px}.mori-value-options{gap:8px}.mori-value-options label>span{padding:11px 4px;font-size:14px}}
@media(max-height:700px){.mori-home .mori-home-welcome h1.mori-hero-logo{width:220px;margin-bottom:16px}.mori-home .mori-home-welcome:has(#new_event_homepage_container) h1.mori-hero-logo{width:190px}}
@media(prefers-reduced-motion:reduce){.mori-preloader .loader-ring,.mori-preloader .loader-logo{animation:none}.mori-home .homepage-top-banner video,.mori-value-options label>span{transition:none}#preloader-container.mori-preloader{transition:none}}


/* Shortcode giờ dùng chung, một option native và nhiều ca/ngày. */
.mori-hours .mori-hours-row>span,.mori-hours .mori-hours-row>strong{display:block}.mori-hours .mori-hours-row>strong{line-height:1.65}.mori-hours .mori-hours-row>span{margin-bottom:5px}

/* Bảng giờ cùng nguồn FoodStore, nhóm ngày có lịch giống nhau. */
.mori-hours .mori-hours-row .mori-hours-days{font:400 18px/1.45 iCielBCCubano,Georgia,serif;color:var(--mori-green);letter-spacing:.02em;margin-bottom:8px}
.mori-hours .mori-hours-days abbr{border:0;text-decoration:none;cursor:help}
.mori-hours .mori-hours-row{margin-bottom:20px}
@media(max-width:768px){body.woocommerce-checkout .site-content{padding-left:var(--mori-gutter);padding-right:var(--mori-gutter)}body.woocommerce-checkout .inside-article{padding-left:0;padding-right:0}}

/* Mobile: headline/copy centers cùng cột đơn; review body vẫn dễ đọc. */
@media(max-width:768px){
 .mori-home .mori-viet-pencil{width:min(90%,440px);margin-left:auto;margin-right:auto}
 .mori-home :is(.mori-home-contact-copy,.mori-story-copy,.mori-home-viet-copy,.mori-home-take-copy,.mori-gift-copy){text-align:center}
 .mori-home :is(.mori-home-contact-copy,.mori-story-copy,.mori-home-viet-copy,.mori-home-take-copy,.mori-gift-copy) p{margin-left:auto;margin-right:auto}
 .mori-home .mori-home-contact-number a{margin-left:auto;margin-right:auto;justify-content:center}
 .mori-home .mori-home-contact-hours{margin-left:auto;margin-right:auto}
 .mori-home :is(.mori-story-title,.mori-sushi-heading,.mori-review-heading){text-align:center}
 .mori-home .mori-review-heading-aside{justify-self:center;margin-left:auto;margin-right:auto}
}
