:root { --qrmenu-theme-color: #c60000; }

body.qrmenu-public { background: #eceff2; }
.qrmenu-public .wrapper { position: relative; width: min(760px, 100%); min-height: 100vh; margin: 0 auto; background: #fff; box-shadow: 0 0 35px rgba(20, 30, 45, .12); }
.qrmenu-public #content { position: relative; top: 56px; padding-bottom: 56px; }
.qrmenu-public .bg-header,
.qrmenu-public .theme-button,
.qrmenu-public .preloading .wrap-preload,
.qrmenu-public .footer { background-color: var(--qrmenu-theme-color) !important; }
.qrmenu-public .sa-title,
.qrmenu-public .qrmenu-price,
.qrmenu-public .qrmenu-product-meta strong,
.qrmenu-public .qrmenu-detail-summary strong { color: var(--qrmenu-theme-color); }
.qrmenu-public .navbar .logo { display: flex; align-items: center; justify-content: center; padding: 0 60px; overflow: hidden; font-size: 17px; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.qrmenu-public .navbar .logo img { max-width: 150px; object-fit: contain; }
.qrmenu-public .navbar #sidebarleftbutton.btn { left: 1rem; z-index: 2; }
.qrmenu-public .navbar #sidebarrightbutton.btn { right: 1rem; z-index: 2; }
.qrmenu-business { display: flex; min-height: 140px; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; padding: 1.2rem; background: rgba(255, 255, 255, .08); text-align: center; }
.qrmenu-business img { width: 86px; height: 58px; object-fit: contain; }
.qrmenu-business-mark { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 50%; background: var(--qrmenu-theme-color); color: #fff; font-size: 1.4rem; font-weight: 800; }
.qrmenu-business strong { color: #fff; font-size: .9rem; }
.qrmenu-business small { color: rgba(255, 255, 255, .68); }
.qrmenu-side-count { float: right; min-width: 24px; padding: 1px 6px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 10px; text-align: center; }
.qrmenu-side-search { padding: 1rem; }
.qrmenu-side-search label { display: block; margin-bottom: .5rem; color: rgba(255, 255, 255, .72); font-size: 11px; }
.qrmenu-side-search > div { display: flex; overflow: hidden; border-radius: 7px; }
.qrmenu-side-search input { width: 100%; min-width: 0; padding: .75rem; border: 0; }
.qrmenu-side-search button { width: 44px; border: 0; background: var(--qrmenu-theme-color); color: #fff; }
.qrmenu-hero { margin-bottom: 15px !important; }
.qrmenu-slide { position: relative; min-height: 190px; background: #20252b; }
.qrmenu-slide a { display: block; height: 100%; }
.qrmenu-slide img { width: 100%; min-height: 190px; max-height: 330px; object-fit: cover; }
.qrmenu-slide-caption { position: absolute; right: 20px; bottom: 30px; left: 20px; padding: .8rem 1rem; border-left: 4px solid var(--qrmenu-theme-color); background: rgba(0, 0, 0, .6); color: #fff; }
.qrmenu-slide-caption strong,
.qrmenu-slide-caption small { display: block; color: #fff; }
.qrmenu-slide-caption strong { font-size: 18px; }
.qrmenu-slide-caption small { margin-top: 3px; }
.qrmenu-featured .yml-box { position: relative; display: block; padding-bottom: 4px; }
.qrmenu-featured .yml-img { height: 82px !important; background: #f0f2f4; }
.qrmenu-featured .yml-img img { width: 100% !important; height: 100% !important; object-fit: cover; }
.qrmenu-price { display: block; padding: 5px 5px 0; font-size: 11px; text-align: center; }
.qrmenu-public .home-category-list .home-box-category { height: 145px; }
.qrmenu-public .home-category-list .home-text-category .bc-text { position: relative; z-index: 3; padding: 0 14px; color: #fff; font-size: 19px; font-weight: 800; line-height: 1.05; text-shadow: 0 2px 10px rgba(0, 0, 0, .95), 0 1px 2px rgba(0, 0, 0, 1); }
.qrmenu-public .home-category-list .home-text-category .bc-text small { display: block; margin-top: 8px; color: #fff; font-size: 12px; font-weight: 700; text-shadow: 0 1px 5px #000; }
.qrmenu-public .home-category-list .home-image-category { display: grid; place-items: center; }
.qrmenu-public .home-category-list .home-image-category::after { position: absolute; inset: 0; background: rgba(0, 0, 0, .38); content: ""; }
.qrmenu-public .home-category-list .home-image-category img { width: 100%; height: 100%; margin: 0; opacity: .7; object-fit: cover; }
.qrmenu-products-heading { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.qrmenu-products-heading .sa-title { margin: 0; text-align: left !important; }
.qrmenu-products-heading small { color: #7b7b7b; }
.qrmenu-products-heading form { display: flex; width: min(240px, 48%); overflow: hidden; border: 1px solid #ddd; border-radius: 7px; }
.qrmenu-products-heading input { width: 100%; min-width: 0; padding: .55rem .7rem; border: 0; outline: 0; }
.qrmenu-products-heading button { width: 38px; border: 0; background: var(--qrmenu-theme-color); color: #fff; }
.qrmenu-products .lrc-item { min-height: 105px; }
.qrmenu-products .lrc-content { display: block; min-height: 90px; padding-left: 105px !important; }
.qrmenu-products .lrc-img { width: 92px !important; height: 82px !important; border-radius: 7px; background: #eef1f3; }
.qrmenu-products .lrc-img img { width: 100% !important; height: 100% !important; object-fit: cover; }
.qrmenu-products .lrc-title { color: #17191c; font-size: 15px; font-weight: 800 !important; }
.qrmenu-products .lrc-text { margin-top: 5px; color: #6f747b; line-height: 1.4; }
.qrmenu-products-more { padding: 14px 0 2px; text-align: center; }
.qrmenu-products-more > a { display: grid; min-height: 58px; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 2px 12px; padding: 11px 15px; border: 1px solid color-mix(in srgb, var(--qrmenu-theme-color) 24%, white); border-radius: 12px; background: color-mix(in srgb, var(--qrmenu-theme-color) 7%, white); box-shadow: 0 7px 20px rgba(25, 31, 40, .07); color: #24282d; text-align: left; text-decoration: none; }
.qrmenu-products-more > a > span { display: flex; align-items: center; gap: 8px; }
.qrmenu-products-more > a > span > i,
.qrmenu-products-more > a > i { color: var(--qrmenu-theme-color); }
.qrmenu-products-more > a > span > strong { color: #20252a; font-size: 14px; }
.qrmenu-products-more > a > small { grid-column: 1; color: #777f87; font-size: 10px; }
.qrmenu-products-more > a > i { grid-column: 2; grid-row: 1 / 3; font-size: 17px; }
.qrmenu-products-more > p { margin: 7px 12px 0; color: #969ba1; font-size: 8px; line-height: 1.5; }
.qrmenu-product-meta { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: 8px; }
.qrmenu-product-meta span { color: #8b9198; font-size: 10px; }
.qrmenu-product-meta strong { font-size: 13px; }
.qrmenu-energy-mini { display: block; margin: 3px auto 0; color: #8a9098; font-size: 9px; text-align: center; }
.qrmenu-food-badges { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.qrmenu-food-badges span { display: inline-flex; align-items: center; gap: 3px; padding: 3px 6px; border-radius: 999px; background: #f1f3f5; color: #69717b; font-size: 8px; font-weight: 700; }
.qrmenu-food-badges .has-allergen { background: #fff0e7; color: #a9532a; }
.qrmenu-image-placeholder { display: grid; width: 100%; height: 100%; min-height: 70px; place-items: center; background: linear-gradient(135deg, #f2f4f6, #e5e8ec); color: #a7adb4; font-size: 24px; }
.qrmenu-image-placeholder.detail { min-height: 260px; font-size: 44px; }
.qrmenu-empty { padding: 5rem 1.5rem; color: #777; text-align: center; }
.qrmenu-empty i { margin-bottom: 1rem; color: var(--qrmenu-theme-color); font-size: 2rem; }
.qrmenu-empty h2,
.qrmenu-empty h3 { color: #222; }
.qrmenu-empty.compact { padding: 2rem 1rem; }
.qrmenu-product-detail .pgp-img img { width: 100%; max-height: 460px; object-fit: cover; }
.qrmenu-detail-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: .9rem 1rem; border-radius: 8px; background: #f5f6f7; }
.qrmenu-detail-summary span { color: #666; font-size: 12px; }
.qrmenu-detail-summary strong { font-size: 18px; }
.qrmenu-food-information { margin-top: 1rem; padding: 1rem; border: 1px solid #e4e7ea; border-radius: 12px; background: #fbfcfd; }
.qrmenu-food-information__heading { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.qrmenu-food-information__heading > span { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: color-mix(in srgb, var(--qrmenu-theme-color) 10%, white); color: var(--qrmenu-theme-color); }
.qrmenu-food-information h2, .qrmenu-food-information h3, .qrmenu-food-information p { margin: 0; }
.qrmenu-food-information h2 { color: #20252a; font-size: 16px; }
.qrmenu-food-information__heading p { margin-top: 2px; color: #858b93; font-size: 9px; line-height: 1.4; }
.qrmenu-energy-card { display: flex; align-items: center; gap: 9px; margin-bottom: 11px; padding: 10px 12px; border-radius: 9px; background: #fff3eb; color: #a54f28; }
.qrmenu-energy-card > i { font-size: 17px; }
.qrmenu-energy-card strong, .qrmenu-energy-card small { display: block; }
.qrmenu-energy-card strong { font-size: 14px; }
.qrmenu-energy-card small { margin-top: 1px; color: #a97c67; font-size: 9px; }
.qrmenu-ingredients, .qrmenu-allergen-section { padding: 11px 0; border-top: 1px solid #eceff1; }
.qrmenu-food-information h3 { margin-bottom: 6px; color: #343a40; font-size: 12px; }
.qrmenu-ingredients p { color: #666e76; font-size: 11px; line-height: 1.65; white-space: pre-line; }
.qrmenu-allergen-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.qrmenu-allergen-grid > span { display: grid; min-width: 0; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; align-items: center; padding: 7px; border: 1px solid #f0d6c8; border-radius: 8px; background: #fff7f2; }
.qrmenu-allergen-grid i { grid-row: 1 / 3; color: #b45d31; text-align: center; }
.qrmenu-allergen-grid strong, .qrmenu-allergen-grid small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qrmenu-allergen-grid strong { color: #804429; font-size: 9px; }
.qrmenu-allergen-grid small { color: #a27c69; font-size: 7px; }
.qrmenu-allergen-none, .qrmenu-allergen-unknown { padding: 8px 10px; border-radius: 8px; font-size: 10px; line-height: 1.5; }
.qrmenu-allergen-none { background: #edf6eb; color: #4d7744; }
.qrmenu-allergen-unknown { background: #f1f3f5; color: #737b84; }
.qrmenu-special-warnings { display: grid; gap: 5px; padding: 10px 0; border-top: 1px solid #eceff1; }
.qrmenu-special-warnings span { padding: 8px 10px; border-radius: 8px; background: #fff0f0; color: #a53c43; font-size: 10px; font-weight: 700; }
.qrmenu-cross-contact { padding-top: 10px; border-top: 1px solid #eceff1; color: #8b9198; font-size: 8px; line-height: 1.55; }
.qrmenu-back-button { margin-top: 1.2rem; color: #fff !important; }
.qrmenu-footer { height: auto !important; min-height: 100px; padding: 22px 20px !important; }
.qrmenu-contact { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; color: #fff; }
.qrmenu-contact a,
.qrmenu-contact span { color: #fff; }
.qrmenu-copyright { color: rgba(255, 255, 255, .84); font-size: 10px; line-height: 1.6; }
.qrmenu-copyright a { color: #fff !important; font-weight: 700; }
.qrmenu-favorite { display: inline-flex; align-items: center; justify-content: center; gap: 5px; border: 0; border-radius: 999px; background: #eef0f3; color: #7d838a; cursor: pointer; }
.qrmenu-favorite.active { background: #fee9ea; color: #c60000; }
.qrmenu-featured .qrmenu-favorite { position: absolute; top: 6px; right: 6px; z-index: 4; width: 32px; height: 32px; }
.qrmenu-products .lrc-item { position: relative; }
.qrmenu-products .lrc-item > .qrmenu-favorite,
#favorite-list .lrc-item > .qrmenu-favorite { position: absolute; top: 5px; right: 5px; z-index: 4; width: 32px; height: 32px; }
.qrmenu-card-list .lrc-item { position: relative; }
.qrmenu-card-list .lrc-content { display: grid; min-width: 0; min-height: 86px; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: start; padding: 0 !important; }
.qrmenu-card-list .qrmenu-card-item--favorite .lrc-content { padding-right: 40px !important; }
.qrmenu-card-list .lrc-content .lrc-img { position: relative !important; top: auto !important; left: auto !important; width: 96px !important; height: 86px !important; overflow: hidden; border-radius: 8px; background: #eef1f3; }
.qrmenu-card-list .lrc-content .lrc-img img,
.qrmenu-card-list .lrc-content .lrc-img .qrmenu-image-placeholder { display: block; width: 100% !important; height: 100% !important; min-height: 0; border-radius: 8px; object-fit: cover; }
.qrmenu-card-list .lrc-desc { min-width: 0; }
.qrmenu-card-list .lrc-title { color: #17191c; font-size: 14px; font-weight: 800 !important; line-height: 1.35; overflow-wrap: anywhere; }
.qrmenu-card-list .lrc-text { margin-top: 4px; color: #666d75; font-size: 11px; line-height: 1.45; overflow-wrap: anywhere; }
.qrmenu-favorite-detail { position: absolute; right: 16px; bottom: 16px; z-index: 4; padding: 9px 13px; }
.qrmenu-content-page { min-height: 420px; padding: 22px 18px; background: #fff; }
.qrmenu-content-page h1 { margin-bottom: 14px; color: #1b1d20; font-size: 24px; }
.qrmenu-readable { color: #4e545a; font-size: 14px; line-height: 1.8; white-space: normal; }
.qrmenu-content-cover { width: 100%; max-height: 360px; margin-bottom: 18px; border-radius: 10px; object-fit: cover; }
.qrmenu-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.qrmenu-gallery-item { overflow: hidden; border-radius: 9px; background: #f3f4f6; color: #202328; }
.qrmenu-gallery-item img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.qrmenu-gallery-item strong,
.qrmenu-gallery-item span { display: block; padding: 7px 9px 0; }
.qrmenu-gallery-item span { padding-top: 2px; padding-bottom: 9px; color: #777; font-size: 11px; }
.qrmenu-author-list { display: grid; gap: 12px; }
.qrmenu-author-list article { display: flex; gap: 14px; align-items: center; padding: 13px; border: 1px solid #eceef1; border-radius: 10px; }
.qrmenu-author-list img,
.qrmenu-author-mark { display: grid; flex: 0 0 68px; width: 68px; height: 68px; place-items: center; border-radius: 50%; object-fit: cover; background: var(--qrmenu-theme-color); color: #fff; font-size: 22px; font-weight: 800; }
.qrmenu-author-list h2 { margin: 0 0 4px; font-size: 16px; }
.qrmenu-author-list p { margin: 0 0 4px; color: #696e74; font-size: 12px; }
.qrmenu-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; }
.qrmenu-section-heading .sa-title { text-align: left !important; }
.qrmenu-section-heading small { display: block; margin-top: 4px; color: #8a9097; font-size: 10px; }
.qrmenu-section-heading > a { flex: 0 0 auto; color: var(--qrmenu-theme-color); font-size: 10px; font-weight: 800; }
.qrmenu-home-editorial,
.qrmenu-home-authors-section { padding: 20px 18px; }
.qrmenu-home-editorial .qrmenu-card-list { overflow: hidden; border: 1px solid #eceef1; border-radius: 12px; }
.qrmenu-home-authors { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.qrmenu-home-authors article { min-width: 0; background: #fff; }
.qrmenu-home-authors article > div { min-width: 0; }
.qrmenu-home-authors p { overflow-wrap: anywhere; }
.qrmenu-feedback-form { display: grid; gap: 12px; }
.qrmenu-feedback-form label { display: grid; gap: 6px; color: #363b40; font-weight: 700; }
.qrmenu-feedback-form input,
.qrmenu-feedback-form select,
.qrmenu-feedback-form textarea { width: 100%; padding: 11px 12px; border: 1px solid #dfe2e6; border-radius: 8px; background: #fff; }
.qrmenu-feedback-form button { min-height: 44px; border: 0; border-radius: 8px; background: var(--qrmenu-theme-color); color: #fff; font-weight: 800; }
.qrmenu-subscribe { margin-bottom: 14px; }
.qrmenu-subscribe label { display: block; margin-bottom: 6px; color: #fff; font-size: 12px; font-weight: 700; }
.qrmenu-subscribe > div { display: flex; overflow: hidden; border-radius: 7px; }
.qrmenu-subscribe input { width: 100%; min-width: 0; padding: 9px 10px; border: 0; }
.qrmenu-subscribe button { border: 0; background: #20252b; color: #fff; font-weight: 700; white-space: nowrap; }
.qrmenu-language { position: fixed; z-index: 1040; bottom: 18px; left: max(16px, calc(50% - 360px)); color: #23272d; transition: transform .38s cubic-bezier(.22, 1, .36, 1); touch-action: pan-y; }
.qrmenu-language summary { display: inline-flex; min-width: 91px; min-height: 44px; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid rgba(255, 255, 255, .36); border-radius: 999px; background: rgba(25, 29, 34, .92); box-shadow: 0 10px 25px rgba(15, 20, 28, .22); color: #fff; font-size: 11px; font-weight: 800; list-style: none; cursor: pointer; backdrop-filter: blur(10px); transition: min-width .3s ease, padding .3s ease, border-radius .3s ease; }
.qrmenu-language summary::-webkit-details-marker { display: none; }
.qrmenu-language summary span { transition: opacity .2s ease, max-width .3s ease; }
.qrmenu-language summary strong { display: grid; min-width: 25px; height: 25px; place-items: center; border-radius: 50%; background: var(--qrmenu-theme-color); color: #fff; font-size: 9px; }
.qrmenu-language.is-collapsed { transform: translateX(calc(-100% + 45px)); }
.qrmenu-language.is-collapsed summary { min-width: 91px; padding-right: 10px; border-radius: 0 999px 999px 0; }
.qrmenu-language.is-collapsed summary span,
.qrmenu-language.is-collapsed summary strong { max-width: 0; overflow: hidden; opacity: 0; }
.qrmenu-language.is-collapsed summary::after { content: '\203A'; margin-left: 2px; color: rgba(255, 255, 255, .82); font-size: 19px; line-height: 1; }
.qrmenu-language[open] summary { background: var(--qrmenu-theme-color); }
.qrmenu-language[open] summary strong { background: rgba(255, 255, 255, .2); }
.qrmenu-language__panel { position: absolute; bottom: 54px; left: 0; width: 230px; overflow: hidden; padding: 9px; border: 1px solid #e5e8ec; border-radius: 14px; background: rgba(255, 255, 255, .98); box-shadow: 0 18px 45px rgba(15, 20, 28, .22); }
.qrmenu-language__panel > div { padding: 7px 8px 9px; border-bottom: 1px solid #edf0f3; }
.qrmenu-language__panel > div strong,
.qrmenu-language__panel > div small { display: block; }
.qrmenu-language__panel > div strong { color: #252a30; font-size: 12px; }
.qrmenu-language__panel > div small { margin-top: 2px; color: #8b9198; font-size: 9px; }
.qrmenu-language__panel > a { display: flex; width: 100%; min-height: 38px; align-items: center; gap: 8px; padding: 7px 8px; border: 0; border-radius: 8px; background: transparent; color: #3f454c; font-family: inherit; font-size: 11px; font-weight: 700; text-align: left; text-decoration: none; cursor: pointer; }
.qrmenu-language__panel > a:hover,
.qrmenu-language__panel > a.active { background: #f3f5f7; color: var(--qrmenu-theme-color); }
.qrmenu-language__panel > a > span { display: grid; width: 28px; height: 23px; place-items: center; border-radius: 6px; background: #eceff2; color: #525961; font-size: 8px; }
.qrmenu-language__panel > a > i { margin-left: auto; color: #a3a8ae; font-size: 8px; }
.qrmenu-language__panel > p { margin: 7px 8px 2px; color: #9a9fa6; font-size: 8px; line-height: 1.4; }

@media (max-width: 480px) {
    .qrmenu-public .navbar .logo { padding: 0 54px; font-size: 14px; letter-spacing: .02em; }
    .qrmenu-public .home-category-list .home-box-category { height: 118px; }
    .qrmenu-public .home-category-list .home-text-category .bc-text { font-size: 16px; }
    .qrmenu-products-heading { align-items: stretch; flex-direction: column; }
    .qrmenu-products-heading form { width: 100%; }
    .qrmenu-card-list .lrc-content { grid-template-columns: 82px minmax(0, 1fr); gap: 10px; }
    .qrmenu-card-list .lrc-content .lrc-img { width: 82px !important; height: 76px !important; }
    .qrmenu-card-list .qrmenu-card-item--favorite .lrc-content { padding-right: 36px !important; }
    .qrmenu-home-authors { grid-template-columns: 1fr; }
    .qrmenu-language { bottom: 12px; left: 12px; }
    .qrmenu-allergen-grid { grid-template-columns: 1fr; }
}
