@charset "UTF-8";

/*
 * QRresta Flow Theme v1.0.0
 * Mobile-first, framework-free theme layer.
 */

:root {
    color-scheme: light;
    --qrf-bg: #F7F3EB;
    --qrf-surface: #FFFCF7;
    --qrf-ink: #19191D;
    --qrf-muted: #716D66;
    --qrf-accent: #F44E42;
    --qrf-blue: #3558DB;
    --qrf-lime: #B4E349;
    --qrf-lilac: #DDE3FF;
    --qrf-border: #E5DED3;
    --qrf-shadow: 0 18px 55px rgba(42, 35, 28, .10);
    --qrf-soft-shadow: 0 10px 28px rgba(42, 35, 28, .08);
    --qrf-radius-xl: 30px;
    --qrf-radius-lg: 24px;
    --qrf-radius-md: 18px;
    --qrf-radius-sm: 14px;
    --qrf-safe-bottom: max(16px, env(safe-area-inset-bottom));
    --qrf-serif: Georgia, "Times New Roman", Times, serif;
    --qrf-sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background: #E9E3D9;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    min-width: 320px;
    min-height: 100%;
    color: var(--qrf-ink);
    background:
        radial-gradient(circle at 8% 10%, rgba(244, 78, 66, .12) 0 105px, transparent 106px),
        radial-gradient(circle at 92% 8%, rgba(53, 88, 219, .12) 0 150px, transparent 151px),
        #E9E3D9;
    font-family: var(--qrf-sans);
    font-size: 15px;
    line-height: 1.45;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

button,
input,
textarea,
select {
    color: inherit;
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

button {
    border: 0;
}

button:disabled,
button[aria-disabled="true"] {
    cursor: not-allowed;
}

.qrf-app-shell button:disabled,
.qrf-app-shell button[aria-disabled="true"] {
    opacity: .48;
    filter: grayscale(.24) saturate(.72);
    pointer-events: none;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    display: block;
    max-width: 100%;
}

[hidden] {
    display: none !important;
}

.qrf-body.is-sheet-open {
    overflow: hidden;
}

.qrf-body.is-table-prompt-open {
    overflow: hidden;
}

.qrf-app-shell {
    position: relative;
    width: min(100%, 440px);
    min-height: 100dvh;
    margin: 0 auto;
    overflow: clip;
    background: var(--qrf-bg);
    box-shadow: 0 0 70px rgba(35, 29, 24, .18);
    isolation: isolate;
}

.qrf-app-shell::before,
.qrf-app-shell::after {
    position: fixed;
    z-index: -1;
    border-radius: 999px;
    content: "";
    pointer-events: none;
}

.qrf-app-shell::before {
    top: -110px;
    right: -120px;
    width: 260px;
    height: 260px;
    background: rgba(221, 227, 255, .62);
}

.qrf-app-shell::after {
    bottom: 90px;
    left: -135px;
    width: 230px;
    height: 230px;
    border: 42px solid rgba(244, 78, 66, .12);
}

.qrf-page {
    position: relative;
    z-index: 1;
    padding: 18px 18px 112px;
}

.qrf-home-page {
    padding-bottom: 96px;
}

.qrf-menu-page {
    padding-bottom: 190px;
}

.qrf-icon {
    width: 1em;
    height: 1em;
    display: inline-block;
    overflow: visible;
    vertical-align: -.13em;
}

.qrf-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--qrf-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1;
    text-transform: uppercase;
}

.qrf-brand-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 70px;
}

.qrf-brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.qrf-brand__mark,
.qrf-brand__logo-image {
    flex: 0 0 auto;
    width: 58px;
    height: 58px;
    border-radius: 17px;
    object-fit: contain;
}

.qrf-brand__copy {
    display: grid;
    min-width: 0;
    line-height: 1.12;
}

.qrf-brand__copy strong {
    overflow: hidden;
    max-width: 170px;
    font-size: 14px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-brand__copy small {
    overflow: hidden;
    max-width: 170px;
    margin-top: 3px;
    color: var(--qrf-muted);
    font-size: 9px;
    letter-spacing: .02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-language-switcher {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 3px;
    border: 1px solid var(--qrf-border);
    border-radius: 999px;
    background: rgba(255, 252, 247, .84);
    box-shadow: 0 4px 16px rgba(42, 35, 28, .04);
}

.qrf-language-switcher__item {
    display: grid;
    min-width: 27px;
    height: 25px;
    place-items: center;
    border-radius: 999px;
    color: var(--qrf-muted);
    font-size: 8px;
    font-weight: 800;
}

.qrf-language-switcher__item.is-active {
    color: #fff;
    background: var(--qrf-ink);
}

/* Discovery / home */
.qrf-discovery-intro {
    padding: 32px 2px 16px;
}

.qrf-status-line {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    border-radius: 999px;
    color: var(--qrf-ink);
    background: rgba(255, 252, 247, .86);
    box-shadow: 0 8px 22px rgba(42, 35, 28, .08);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.qrf-status-line i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--qrf-lime);
    box-shadow: 0 0 0 4px rgba(180, 227, 73, .18);
}

.qrf-discovery-intro h1,
.qrf-menu-heading h1,
.qrf-product-title h1 {
    margin: 10px 0 0;
    font-family: var(--qrf-serif);
    font-weight: 500;
    letter-spacing: -.04em;
    line-height: .98;
}

.qrf-discovery-intro h1 {
    max-width: 330px;
    font-size: clamp(39px, 11vw, 51px);
}

.qrf-discovery-intro > p {
    max-width: 340px;
    margin: 15px 0 0;
    color: var(--qrf-muted);
    font-size: 13px;
    line-height: 1.55;
}

.qrf-home-category-list {
    display: flex;
    gap: 10px;
    margin-top: 19px;
    overflow-x: auto;
    padding: 1px 1px 4px;
    scrollbar-width: none;
}

.qrf-home-category-list::-webkit-scrollbar {
    display: none;
}

.qrf-home-category-chip {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    max-width: min(220px, 72vw);
    min-height: 40px;
    gap: 8px;
    padding: 9px 13px;
    border: 1px solid var(--qrf-border);
    border-radius: 18px;
    background: rgba(255, 252, 247, .78);
    color: var(--qrf-ink);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.15;
    box-shadow: 0 10px 22px rgba(27, 24, 21, .07);
    transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.qrf-home-category-chip span {
    display: grid;
    width: 23px;
    height: 23px;
    flex: 0 0 23px;
    place-items: center;
    border-radius: 10px;
    color: #17171B;
    background: var(--qrf-lime);
}

.qrf-home-category-chip .qrf-icon {
    width: 13px;
    height: 13px;
}

.qrf-home-category-chip:active {
    transform: scale(.97);
}

.qrf-home-category-chip:focus-visible {
    outline: 3px solid rgba(47, 111, 237, .24);
    outline-offset: 2px;
}

.qrf-home-category-chip:hover {
    border-color: rgba(27, 24, 21, .18);
    background: var(--qrf-ink);
    color: #fff;
}

.qrf-home-category-chip:hover span {
    color: #17171B;
}

.qrf-feature-slider {
    margin-top: 18px;
}

.qrf-feature-track {
    display: flex;
    gap: 12px;
    margin: 0 -18px;
    overflow-x: auto;
    padding: 0 18px 5px;
    scroll-padding: 18px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

.qrf-feature-track::-webkit-scrollbar {
    display: none;
}

.qrf-feature-dots {
    display: flex;
    justify-content: center;
    gap: 5px;
    margin-top: 8px;
}

.qrf-feature-dots span {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: rgba(25, 25, 29, .18);
}

.qrf-feature-dots span:first-child {
    width: 18px;
    background: var(--qrf-accent);
}

.qrf-feature-card {
    position: relative;
    display: grid;
    width: min(100%, 356px);
    min-height: 255px;
    flex: 0 0 min(100%, 356px);
    grid-template-columns: minmax(0, 1.06fr) minmax(130px, .94fr);
    overflow: hidden;
    border-radius: 29px;
    color: #fff;
    background:
        radial-gradient(circle at 108% -4%, var(--qrf-lime) 0 132px, transparent 133px),
        radial-gradient(circle at -15% 114%, var(--qrf-blue) 0 64px, transparent 65px),
        var(--qrf-accent);
    box-shadow: 0 22px 38px rgba(244, 78, 66, .22);
    scroll-snap-align: start;
}

.qrf-feature-card__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 22px 0 22px 20px;
}

.qrf-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .025em;
    line-height: 1;
}

.qrf-badge--glass {
    padding: 8px 10px;
    border: 1px solid rgba(255, 255, 255, .55);
    color: #fff;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(8px);
}

.qrf-badge--coral {
    padding: 5px 7px;
    color: #C63D33;
    background: #FFE2DC;
}

.qrf-daily-favorite-chip {
    display: inline-flex;
    flex: 0 0 auto;
    padding: 5px 7px;
    border-radius: 999px;
    color: #1F2412;
    background: var(--qrf-lime);
    font-size: 8px;
    font-weight: 900;
    line-height: 1;
}

.qrf-feature-card h2 {
    max-width: 170px;
    margin: 22px 0 0;
    font-family: var(--qrf-serif);
    font-size: clamp(29px, 8vw, 38px);
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: .98;
}

.qrf-feature-card p {
    max-width: 170px;
    margin: 10px 0 0;
    color: rgba(255, 255, 255, .86);
    font-size: 11px;
    line-height: 1.45;
}

.qrf-feature-card__copy > strong {
    margin-top: auto;
    padding-top: 18px;
    font-size: 21px;
    letter-spacing: -.03em;
}

.qrf-feature-card__media {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    align-self: stretch;
    justify-content: center;
    min-width: 0;
    padding: 28px 0 10px;
}

.qrf-feature-card__media img {
    width: 205px;
    max-width: none;
    height: 180px;
    transform: translateX(-14px) rotate(-3deg);
    border-radius: 50%;
    object-fit: cover;
    filter: drop-shadow(0 20px 18px rgba(75, 25, 19, .28));
}

.qrf-icon-button {
    display: inline-grid;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--qrf-border);
    border-radius: 14px;
    color: var(--qrf-ink);
    background: rgba(255, 252, 247, .92);
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease;
}

.qrf-icon-button:active {
    transform: scale(.94);
}

.qrf-icon-button .qrf-icon {
    width: 18px;
    height: 18px;
}

.qrf-icon-button--hero {
    position: absolute;
    z-index: 5;
    right: 16px;
    bottom: 16px;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 15px;
    color: var(--qrf-accent);
    background: #fff;
    box-shadow: 0 10px 22px rgba(67, 22, 17, .18);
}

.qrf-icon-button--add {
    width: 38px;
    height: 38px;
    border-color: #E3DBD0;
    border-radius: 14px;
    color: var(--qrf-accent);
    background: #fff;
}

.qrf-service-preview {
    padding-top: 25px;
}

.qrf-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
}

.qrf-section-heading h2 {
    margin: 5px 0 0;
    font-size: 15px;
    line-height: 1.2;
}

.qrf-section-heading > button {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    color: var(--qrf-ink);
    background: transparent;
    font-size: 9px;
    cursor: pointer;
}

.qrf-section-heading > button .qrf-icon {
    width: 13px;
    height: 13px;
}

.qrf-service-preview__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}

.qrf-service-tile {
    position: relative;
    min-height: 106px;
    padding: 16px;
    overflow: hidden;
    border-radius: 21px;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 12px 26px rgba(42, 35, 28, .10);
}

.qrf-service-tile::after {
    position: absolute;
    top: -38px;
    right: -38px;
    width: 90px;
    height: 90px;
    border: 20px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    content: "";
}

.qrf-service-tile > span {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, .17);
}

.qrf-service-tile > span .qrf-icon {
    width: 16px;
    height: 16px;
}

.qrf-service-tile strong {
    display: block;
    margin-top: 13px;
    font-size: 12px;
}

.qrf-service-tile small {
    display: block;
    margin-top: 3px;
    font-size: 8px;
    line-height: 1.35;
    opacity: .75;
}

.qrf-service-tile--blue {
    color: #fff;
    background: #2646BE;
}

.qrf-service-tile--blue strong,
.qrf-service-tile--blue small,
.qrf-service-tile--blue .qrf-icon {
    color: #fff;
}

.qrf-service-tile--lime {
    color: #202315;
    background: #DDF19A;
}

.qrf-service-tile--lime strong,
.qrf-service-tile--lime small,
.qrf-service-tile--lime .qrf-icon {
    color: #202315;
}

.qrf-service-tile--lime::after {
    top: auto !important;
    right: -22px !important;
    bottom: -22px !important;
    width: 96px !important;
    height: 96px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: url("../img/decor/odeme.svg") center / contain no-repeat !important;
    opacity: .16 !important;
    transform: rotate(-7deg) !important;
}

.qrf-quick-links {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
    margin-top: 10px;
}

.qrf-quick-links a,
.qrf-quick-links button {
    display: inline-flex;
    min-width: 0;
    height: 36px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0 6px;
    border: 1px dashed #D9D1C6;
    border-radius: 999px;
    color: #5C5852;
    background: rgba(255, 252, 247, .58);
    font-size: 8px;
    font-weight: 700;
    cursor: pointer;
}

.qrf-quick-links .qrf-icon {
    width: 12px;
    height: 12px;
}

.qrf-quick-links .qrf-quick-link--survey {
    border-color: rgba(244, 78, 66, .32);
    color: #fff;
    background: var(--qrf-accent);
}

.qrf-quick-links .qrf-quick-link--survey .qrf-icon {
    color: #fff;
}

.qrf-survey-card {
    display: grid;
    gap: 12px;
    margin-top: 18px;
    padding: 18px;
    border: 1px solid rgba(25, 25, 29, .08);
    border-radius: 26px;
    background:
        radial-gradient(circle at 100% 0, rgba(180, 227, 73, .28) 0 102px, transparent 103px),
        var(--qrf-surface);
    box-shadow: 0 18px 32px rgba(35, 29, 23, .08);
}

.qrf-survey-card[hidden] {
    display: none;
}

.qrf-survey-card.is-open {
    animation: qrf-survey-open .18s ease-out both;
}

@keyframes qrf-survey-open {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.qrf-survey-card h2 {
    margin: 0;
    font-family: var(--qrf-serif);
    font-size: 29px;
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1;
}

.qrf-survey-card > p {
    margin: 0;
    color: var(--qrf-muted);
    font-size: 12px;
    line-height: 1.5;
}

.qrf-survey-form,
.qrf-survey-question {
    display: grid;
    gap: 11px;
}

.qrf-survey-question {
    min-width: 0;
    margin: 0;
    padding: 13px;
    border: 1px solid rgba(25, 25, 29, .08);
    border-radius: 18px;
    background: rgba(255, 255, 255, .72);
}

.qrf-survey-question legend {
    padding: 0 4px;
    color: var(--qrf-ink);
    font-size: 12px;
    font-weight: 800;
}

.qrf-survey-rating {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
}

.qrf-survey-options {
    display: grid;
    gap: 8px;
}

.qrf-survey-rating label,
.qrf-survey-options label {
    position: relative;
    cursor: pointer;
}

.qrf-survey-rating input,
.qrf-survey-options input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.qrf-survey-rating span,
.qrf-survey-options span {
    display: grid;
    min-height: 38px;
    align-items: center;
    padding: 0 12px;
    border: 1px solid #E5DED4;
    border-radius: 14px;
    color: #5C5852;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
}

.qrf-survey-rating span {
    place-items: center;
    padding: 0;
}

.qrf-survey-rating input:checked + span,
.qrf-survey-options input:checked + span {
    border-color: var(--qrf-ink);
    color: #fff;
    background: var(--qrf-ink);
}

.qrf-survey-question textarea {
    min-height: 82px;
    resize: vertical;
    padding: 12px;
    border: 1px solid #E5DED4;
    border-radius: 16px;
    color: var(--qrf-ink);
    background: #fff;
    font: inherit;
}

.qrf-survey-submit {
    display: inline-flex;
    height: 48px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 17px;
    color: #fff;
    background: var(--qrf-accent);
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.qrf-survey-submit .qrf-icon {
    width: 16px;
    height: 16px;
    color: #fff;
}

/* Menu */
.qrf-menu-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    padding: 24px 2px 15px;
}

.qrf-menu-heading h1 {
    font-size: 39px;
}

.qrf-search {
    position: relative;
    display: flex;
    height: 48px;
    align-items: center;
    gap: 9px;
    padding: 0 11px 0 14px;
    border: 1px solid var(--qrf-border);
    border-radius: 17px;
    background: rgba(255, 252, 247, .94);
    box-shadow: 0 10px 24px rgba(42, 35, 28, .055);
}

.qrf-search > .qrf-icon {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    color: #59554F;
}

.qrf-search input {
    min-width: 0;
    flex: 1 1 auto;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 11px;
}

.qrf-search input::placeholder {
    color: #A09B93;
}

.qrf-search__filter {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 10px;
    color: var(--qrf-blue);
    background: #E7EBFF;
}

.qrf-search__filter .qrf-icon {
    width: 14px;
    height: 14px;
}

.qrf-category-scroll {
    display: flex;
    gap: 7px;
    margin: 12px -18px 0;
    overflow-x: auto;
    padding: 0 18px 5px;
    scrollbar-width: none;
}

.qrf-category-scroll::-webkit-scrollbar {
    display: none;
}

.qrf-category-chip {
    min-height: 32px;
    flex: 0 0 auto;
    padding: 0 14px;
    border: 1px solid var(--qrf-border);
    border-radius: 999px;
    color: #5C5852;
    background: rgba(255, 252, 247, .85);
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}

.qrf-category-chip.is-active {
    border-color: rgba(25, 25, 29, .16);
    color: #19191D !important;
    background: #B4E349;
    box-shadow: inset 0 0 0 1px rgba(25, 25, 29, .08);
}

.qrf-category-chip.is-active * {
    color: #19191D !important;
}

.qrf-favorite-card {
    position: relative;
    display: grid;
    min-height: 145px;
    grid-template-columns: minmax(0, 1fr) 44%;
    margin-top: 10px;
    overflow: hidden;
    border: 1px solid #DCE8B7;
    border-radius: 24px;
    background:
        radial-gradient(circle at 115% -20%, rgba(180, 227, 73, .8) 0 115px, transparent 116px),
        #EDF8D0;
}

.qrf-featured-highlight-list[hidden],
.qrf-favorite-card[hidden] {
    display: none;
}

.qrf-featured-highlight-list {
    margin-bottom: 14px;
}

.qrf-favorite-card__copy {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 17px 0 15px 17px;
}

.qrf-favorite-card__copy .qrf-eyebrow {
    color: #667B24;
    font-size: 8px;
}

.qrf-favorite-card a {
    color: inherit;
    text-decoration: none;
}

.qrf-favorite-card h2 {
    max-width: 175px;
    margin: 8px 0 0;
    font-family: var(--qrf-serif);
    font-size: 27px;
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: .98;
}

.qrf-favorite-card p {
    max-width: 175px;
    margin: 6px 0 0;
    color: #666A55;
    font-size: 9px;
    line-height: 1.35;
}

.qrf-favorite-card strong {
    margin-top: auto;
    padding-top: 8px;
    font-size: 16px;
}

.qrf-favorite-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    padding-right: 4px;
}

.qrf-favorite-card__media img {
    width: 160px;
    max-width: none;
    height: 132px;
    transform: translateX(-6px) rotate(2deg);
    border-radius: 50%;
    object-fit: cover;
    filter: drop-shadow(0 16px 13px rgba(62, 68, 26, .16));
}

.qrf-favorite-card__add {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 4;
}

.qrf-product-list-section {
    padding-top: 18px;
}

.qrf-section-heading--products {
    align-items: center;
}

.qrf-section-heading--products > div {
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.qrf-section-heading--products h2 {
    margin: 0;
    font-size: 13px;
}

.qrf-section-heading--products span,
.qrf-section-heading--products small {
    color: var(--qrf-muted);
    font-size: 8px;
}

.qrf-product-list {
    display: grid;
    gap: 10px;
    margin-top: 10px;
}

.qrf-product-card {
    position: relative;
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    min-height: 120px;
    overflow: hidden;
    border: 1px solid var(--qrf-border);
    border-radius: 20px;
    background: rgba(255, 252, 247, .94);
    box-shadow: 0 8px 18px rgba(42, 35, 28, .045);
    transition: opacity .18s ease, transform .18s ease;
}

.qrf-product-card.is-filtered-out,
.qrf-favorite-card.is-filtered-out {
    display: none;
}

.qrf-product-card__media {
    min-width: 0;
    padding: 7px;
}

.qrf-product-card__media img {
    width: 100%;
    height: 100%;
    min-height: 104px;
    border-radius: 15px;
    object-fit: cover;
    background: #F1EADF;
}

.qrf-product-card__body {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 11px 11px 9px 4px;
}

.qrf-product-card__meta {
    display: flex;
    min-height: 17px;
    align-items: center;
    gap: 4px;
    overflow: hidden;
}

.qrf-mini-chip {
    display: inline-flex;
    flex: 0 0 auto;
    padding: 4px 6px;
    border-radius: 999px;
    color: #777168;
    background: #F0ECE5;
    font-size: 7px;
    font-weight: 700;
    line-height: 1;
}

.qrf-product-card__title {
    overflow: hidden;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-product-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 4px 0 0;
    color: var(--qrf-muted);
    font-size: 8px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.qrf-product-card__footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 8px;
    margin-top: auto;
    padding-top: 7px;
}

.qrf-product-card__footer > strong {
    font-size: 13px;
}

.qrf-no-results {
    padding: 42px 18px;
    text-align: center;
}

.qrf-no-results > .qrf-icon {
    width: 35px;
    height: 35px;
    color: var(--qrf-muted);
}

.qrf-no-results h3 {
    margin: 12px 0 0;
    font-size: 15px;
}

.qrf-no-results p {
    margin: 6px auto 15px;
    color: var(--qrf-muted);
    font-size: 11px;
}

/* Sticky navigation */
.qrf-bottom-nav {
    position: fixed;
    z-index: 30;
    right: max(12px, calc((100vw - 440px) / 2 + 12px));
    bottom: var(--qrf-safe-bottom);
    left: max(12px, calc((100vw - 440px) / 2 + 12px));
    display: grid;
    height: 70px;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    padding: 7px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 23px;
    color: #A9A9AD;
    background: rgba(25, 25, 29, .96);
    box-shadow: 0 19px 35px rgba(25, 25, 29, .28);
    backdrop-filter: blur(18px);
}

.qrf-bottom-nav__item {
    position: relative;
    display: grid;
    min-width: 0;
    height: 55px;
    place-items: center;
    align-content: center;
    gap: 4px;
    padding: 0;
    border-radius: 17px;
    color: inherit;
    background: transparent;
    font-size: 8px;
    cursor: pointer;
}

.qrf-bottom-nav__item .qrf-icon {
    width: 18px;
    height: 18px;
}

.qrf-bottom-nav__item span {
    line-height: 1;
}

.qrf-bottom-nav__item.is-active {
    color: #19191D;
    background: var(--qrf-lime);
}

.qrf-bottom-nav__item.is-active span,
.qrf-bottom-nav__item.is-active .qrf-icon {
    color: #19191D;
}

.qrf-bottom-nav__item--cart b {
    position: absolute;
    top: 5px;
    left: 52%;
    display: grid;
    min-width: 17px;
    height: 17px;
    place-items: center;
    padding: 0 4px;
    border: 2px solid var(--qrf-ink);
    border-radius: 999px;
    color: #fff;
    background: var(--qrf-accent);
    font-size: 7px;
}

.qrf-sticky-stack .qrf-bottom-nav {
    bottom: var(--qrf-safe-bottom);
}

.qrf-cart-bar {
    position: fixed;
    z-index: 31;
    right: max(18px, calc((100vw - 440px) / 2 + 18px));
    bottom: calc(var(--qrf-safe-bottom) + 78px);
    left: max(18px, calc((100vw - 440px) / 2 + 18px));
    display: flex;
    min-height: 61px;
    align-items: center;
    gap: 10px;
    padding: 8px 9px 8px 10px;
    border: 0;
    border-radius: 20px;
    color: #fff;
    background: var(--qrf-accent);
    box-shadow: 0 17px 34px rgba(244, 78, 66, .28);
    cursor: pointer;
}

.qrf-cart-bar__icon {
    position: relative;
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 13px;
    background: rgba(255, 255, 255, .16);
}

.qrf-cart-bar__icon > .qrf-icon {
    width: 18px;
    height: 18px;
}

.qrf-cart-bar__icon b {
    position: absolute;
    top: -3px;
    right: -3px;
    display: grid;
    min-width: 18px;
    height: 18px;
    place-items: center;
    padding: 0 4px;
    border: 2px solid var(--qrf-accent);
    border-radius: 999px;
    color: var(--qrf-accent);
    background: #fff;
    font-size: 8px;
}

.qrf-cart-bar__copy {
    display: grid;
    min-width: 0;
    flex: 1 1 auto;
    text-align: left;
}

.qrf-cart-bar__copy strong {
    font-size: 11px;
}

.qrf-cart-bar__copy small {
    overflow: hidden;
    margin-top: 2px;
    color: rgba(255, 255, 255, .72);
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-cart-bar__total {
    flex: 0 0 auto;
    font-size: 12px;
}

.qrf-cart-bar__arrow {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    color: var(--qrf-accent);
    background: #fff;
}

.qrf-cart-bar__arrow .qrf-icon {
    width: 15px;
    height: 15px;
}

/* Product detail */
.qrf-product-page {
    position: relative;
    min-height: 100dvh;
    padding-bottom: 100px;
    background: var(--qrf-bg);
}

.qrf-product-hero {
    position: relative;
    height: min(52vh, 430px);
    min-height: 340px;
    overflow: hidden;
    background-color: #fff;
    background-image: none;
    background: #fff;
}

.qrf-product-hero::after {
    display: none;
    position: absolute;
    inset: auto 0 0;
    z-index: 4;
    height: 42%;
    background: linear-gradient(180deg, rgba(23, 23, 27, 0), rgba(23, 23, 27, .64));
    content: "";
    pointer-events: none;
}

.qrf-product-hero > img {
    position: absolute;
    inset: 0;
    z-index: 3;
    width: 100%;
    max-width: none;
    height: 100%;
    transform: none;
    border-radius: 0;
    object-fit: cover;
    object-position: center;
    filter: none;
}

.qrf-product-hero--floating {
    background: #fff;
}

.qrf-product-hero__shape,
.qrf-product-hero--floating .qrf-product-hero__shape {
    display: none;
}

.qrf-product-hero--floating::after {
    right: 17%;
    bottom: 12%;
    left: auto;
    z-index: 2;
    width: 220px;
    height: 45px;
    border-radius: 50%;
    background: rgba(42, 35, 28, .17);
    filter: blur(16px);
}

.qrf-product-hero--floating > img {
    inset: auto auto 9% 50%;
    width: min(83%, 360px);
    height: 74%;
    transform: translateX(-50%) rotate(-3deg);
    object-fit: contain;
    filter: none;
}

.qrf-product-hero__shape {
    position: absolute;
    border-radius: 50%;
}

.qrf-product-hero__shape--lime {
    top: -72px;
    right: -80px;
    width: 240px;
    height: 240px;
    background: var(--qrf-lime);
}

.qrf-product-hero__shape--coral {
    bottom: -66px;
    left: -90px;
    width: 220px;
    height: 220px;
    border: 42px solid var(--qrf-accent);
}

.qrf-floating-button {
    position: absolute;
    z-index: 8;
    top: max(17px, env(safe-area-inset-top));
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 15px;
    color: var(--qrf-ink);
    background: rgba(255, 252, 247, .92);
    box-shadow: 0 9px 24px rgba(42, 35, 28, .12);
    backdrop-filter: blur(10px);
}

.qrf-floating-button--left {
    left: 16px;
}

.qrf-floating-button--right {
    right: 16px;
    cursor: pointer;
}

.qrf-floating-button .qrf-icon {
    width: 19px;
    height: 19px;
}

.qrf-product-sheet {
    position: relative;
    z-index: 5;
    margin-top: -32px;
    padding: 23px 18px 0;
    border-radius: 30px 30px 0 0;
    background: var(--qrf-surface);
    box-shadow: 0 -12px 35px rgba(42, 35, 28, .07);
}

.qrf-product-title {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.qrf-product-title h1 {
    max-width: 265px;
    font-size: 34px;
}

.qrf-product-title > strong {
    flex: 0 0 auto;
    padding-top: 19px;
    color: var(--qrf-accent);
    font-size: 18px;
    letter-spacing: -.03em;
}

.qrf-product-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 13px;
}

.qrf-fact {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    gap: 4px;
    padding: 0 8px;
    border-radius: 999px;
    color: #716C64;
    background: #F0ECE5;
    font-size: 8px;
    font-weight: 700;
}

.qrf-fact--rating {
    color: #5F682E;
    background: #F4F4C7;
}

.qrf-fact .qrf-icon {
    width: 11px;
    height: 11px;
    fill: #F0C94A;
}

.qrf-product-description {
    margin: 14px 0 0;
    color: var(--qrf-muted);
    font-size: 11px;
    line-height: 1.55;
}

.qrf-option-section,
.qrf-allergen-section,
.qrf-related-section {
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid var(--qrf-border);
}

.qrf-option-section__heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
}

.qrf-option-section__heading h2 {
    margin: 0;
    font-size: 12px;
}

.qrf-option-section__heading span,
.qrf-option-section__heading button {
    padding: 0;
    color: #969087;
    background: transparent;
    font-size: 8px;
}

.qrf-option-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.qrf-option-list--segmented {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.qrf-option-choice {
    position: relative;
    min-width: 0;
    cursor: pointer;
}

.qrf-option-choice input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.qrf-option-choice > span {
    display: flex;
    min-height: 35px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 7px 10px;
    border: 1px solid var(--qrf-border);
    border-radius: 12px;
    background: #fff;
    text-align: center;
    transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease;
}

.qrf-option-choice > span:active {
    transform: scale(.97);
}

.qrf-option-choice strong {
    overflow: hidden;
    font-size: 8px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-option-choice small {
    flex: 0 0 auto;
    color: var(--qrf-accent);
    font-size: 7px;
    font-weight: 800;
}

.qrf-option-choice input:checked + span {
    border-color: var(--qrf-ink);
    color: #fff;
    background: var(--qrf-ink);
}

.qrf-option-choice input:checked + span small {
    color: var(--qrf-lime);
}

.qrf-allergen-list {
    display: flex;
    gap: 8px;
    margin-top: 11px;
    overflow-x: auto;
    padding-bottom: 2px;
    scrollbar-width: none;
}

.qrf-allergen-list::-webkit-scrollbar {
    display: none;
}

.qrf-allergen {
    display: grid;
    width: 66px;
    min-height: 58px;
    flex: 0 0 auto;
    place-items: center;
    align-content: center;
    gap: 4px;
    padding: 5px 4px;
    border: 1px solid transparent;
    border-radius: 14px;
    color: var(--qrf-ink);
    background: transparent;
    box-shadow: none;
}

.qrf-allergen__icon {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    color: var(--qrf-accent);
    background: transparent;
}

.qrf-allergen .qrf-icon {
    width: 16px;
    height: 16px;
}

.qrf-allergen__icon img,
.qrf-allergen .allergen-custom-icon {
    display: block;
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.qrf-allergen .allergen-symbol {
    display: grid;
    min-width: 18px;
    min-height: 18px;
    place-items: center;
    color: var(--qrf-accent);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
}

.qrf-allergen small {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    color: #5F5A52;
    font-size: 7px;
    font-weight: 750;
    line-height: 1.18;
    text-align: center;
    overflow-wrap: anywhere;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.qrf-related-scroll {
    display: flex;
    gap: 9px;
    margin: 10px -18px 0;
    overflow-x: auto;
    padding: 0 18px 5px;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.qrf-related-scroll::-webkit-scrollbar {
    display: none;
}

.qrf-related-card {
    display: grid;
    width: 290px;
    min-width: 290px;
    grid-template-columns: 72px minmax(0, 1fr) 38px;
    align-items: center;
    gap: 9px;
    padding: 8px;
    border: 1px solid #DCE8B7;
    border-radius: 18px;
    background: #EDF8D0;
    scroll-snap-align: start;
}

.qrf-related-card > img {
    width: 72px;
    height: 66px;
    border-radius: 14px;
    object-fit: cover;
}

.qrf-related-card > div {
    display: grid;
    min-width: 0;
}

.qrf-related-card small {
    color: #7E8560;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.qrf-related-card strong {
    overflow: hidden;
    margin-top: 3px;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-related-card span {
    margin-top: 4px;
    font-size: 9px;
    font-weight: 800;
}

.qrf-product-sheet__spacer {
    height: 44px;
}

.qrf-service-fab {
    position: fixed;
    z-index: 34;
    right: max(16px, calc((100vw - 440px) / 2 + 16px));
    bottom: calc(var(--qrf-safe-bottom) + 82px);
    display: inline-flex;
    height: 38px;
    align-items: center;
    gap: 7px;
    padding: 0 12px;
    border-radius: 999px;
    color: #fff;
    background: #19191D;
    box-shadow: 0 14px 30px rgba(25, 25, 29, .30);
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}

.qrf-service-fab .qrf-icon {
    width: 14px;
    height: 14px;
}

.qrf-service-fab span,
.qrf-service-fab .qrf-icon {
    color: #fff;
}

.qrf-product-action {
    position: fixed;
    z-index: 33;
    right: max(10px, calc((100vw - 440px) / 2 + 10px));
    bottom: var(--qrf-safe-bottom);
    left: max(10px, calc((100vw - 440px) / 2 + 10px));
    display: grid;
    height: 72px;
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 8px;
    border-radius: 23px;
    background: rgba(25, 25, 29, .97);
    box-shadow: 0 20px 38px rgba(25, 25, 29, .30);
    backdrop-filter: blur(18px);
}

.qrf-quantity {
    display: grid;
    height: 52px;
    grid-template-columns: 34px 1fr 34px;
    align-items: center;
    border-radius: 17px;
    color: #fff;
    background: #2D2D32;
}

.qrf-quantity button {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    padding: 0;
    border-radius: 11px;
    color: #D8D8DB;
    background: #3B3B41;
    cursor: pointer;
}

.qrf-quantity button .qrf-icon {
    width: 14px;
    height: 14px;
}

.qrf-quantity strong {
    text-align: center;
    font-size: 11px;
}

.qrf-add-main {
    display: flex;
    height: 52px;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 15px;
    border-radius: 17px;
    color: #fff;
    background: var(--qrf-accent);
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.qrf-add-main strong {
    flex: 0 0 auto;
    font-size: 10px;
}

/* Sheets, cart, toast */
.qrf-sheet-backdrop {
    position: fixed;
    z-index: 80;
    inset: 0;
    background: rgba(20, 19, 18, .46);
    opacity: 0;
    transition: opacity .24s ease;
    backdrop-filter: blur(3px);
}

.qrf-sheet-backdrop.is-open {
    opacity: 1;
}

.qrf-sheet {
    position: fixed;
    z-index: 90;
    right: max(0px, calc((100vw - 440px) / 2));
    bottom: 0;
    left: max(0px, calc((100vw - 440px) / 2));
    max-height: min(88dvh, 760px);
    padding: 8px 18px calc(18px + env(safe-area-inset-bottom));
    overflow-y: auto;
    border-radius: 30px 30px 0 0;
    background: var(--qrf-surface);
    box-shadow: 0 -24px 60px rgba(25, 25, 29, .20);
    transform: translateY(105%);
    transition: transform .28s cubic-bezier(.22, .8, .24, 1);
    overscroll-behavior: contain;
}

.qrf-sheet.is-open {
    transform: translateY(0);
}

.qrf-sheet__handle {
    width: 44px;
    height: 5px;
    margin: 1px auto 16px;
    border-radius: 999px;
    background: #DDD6CB;
}

.qrf-sheet__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.qrf-sheet__header h2 {
    margin: 6px 0 0;
    font-family: var(--qrf-serif);
    font-size: 28px;
    font-weight: 500;
    letter-spacing: -.035em;
    line-height: 1;
}

.qrf-sheet__header p {
    margin: 7px 0 0;
    color: var(--qrf-muted);
    font-size: 10px;
}

.qrf-service-grid {
    display: grid;
    gap: 10px;
    margin-top: 19px;
}

.qrf-service-action {
    display: grid;
    min-height: 82px;
    grid-template-columns: 48px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 12px;
    padding: 13px;
    border-radius: 20px;
    text-align: left;
    cursor: pointer;
}

.qrf-service-action > span {
    display: grid;
    width: 48px;
    height: 48px;
    grid-row: 1 / 3;
    place-items: center;
    border-radius: 16px;
    background: rgba(255, 255, 255, .2);
}

.qrf-service-action > span .qrf-icon {
    width: 22px;
    height: 22px;
}

.qrf-service-action strong {
    align-self: end;
    font-size: 13px;
}

.qrf-service-action small {
    align-self: start;
    margin-top: 2px;
    font-size: 9px;
    opacity: .72;
}

.qrf-service-action--blue {
    color: #fff;
    background: #2646BE;
}

.qrf-service-action--lime {
    color: #202315;
    background: #DDF19A;
}

.qrf-service-action--coral {
    color: #fff;
    background: var(--qrf-accent);
}

.qrf-table-prompt {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: grid;
    place-items: end center;
    padding: 20px 18px calc(20px + var(--qrf-safe-bottom));
    background: rgba(17, 16, 15, .46);
    backdrop-filter: blur(10px);
}

.qrf-table-prompt.is-open {
    animation: qrf-fade-in .18s ease both;
}

.qrf-table-prompt__panel {
    width: min(100%, 390px);
    padding: 22px;
    border-radius: 26px;
    background: var(--qrf-surface);
    box-shadow: 0 28px 70px rgba(17, 16, 15, .28);
}

.qrf-table-prompt__icon {
    display: grid;
    width: 43px;
    height: 43px;
    place-items: center;
    border-radius: 15px;
    color: #19191D;
    background: var(--qrf-lime);
}

.qrf-table-prompt__icon .qrf-icon {
    width: 19px;
    height: 19px;
}

.qrf-table-prompt h2 {
    margin: 16px 0 0;
    font-family: var(--qrf-serif);
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
}

.qrf-table-prompt p {
    margin: 8px 0 16px;
    color: var(--qrf-muted);
    font-size: 11px;
    line-height: 1.5;
}

.qrf-table-input {
    display: grid;
    gap: 7px;
}

.qrf-table-input span {
    color: var(--qrf-ink);
    font-size: 10px;
    font-weight: 850;
}

.qrf-table-prompt__error {
    display: block;
    margin-top: 8px;
    color: var(--qrf-accent);
    font-size: 9px;
    font-weight: 800;
}

.qrf-table-prompt__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
}

.qrf-table-prompt[data-required="1"] .qrf-table-prompt__actions {
    grid-template-columns: 1fr;
}

.qrf-site-footer {
    position: relative;
    z-index: 1;
    padding: 0 18px calc(102px + var(--qrf-safe-bottom));
    color: var(--qrf-muted);
    font-size: 10px;
    font-weight: 700;
    text-align: center;
}

.qrf-screen-product .qrf-site-footer {
    padding-bottom: calc(96px + var(--qrf-safe-bottom));
}

.qrf-site-footer a {
    color: var(--qrf-ink);
    font-weight: 900;
}

.qrf-cart-empty {
    padding: 34px 10px 16px;
    text-align: center;
}

.qrf-cart-empty__icon {
    display: grid;
    width: 62px;
    height: 62px;
    margin: 0 auto;
    place-items: center;
    border-radius: 20px;
    color: var(--qrf-accent);
    background: #FFE2DC;
}

.qrf-cart-empty__icon .qrf-icon {
    width: 27px;
    height: 27px;
}

.qrf-cart-empty h3 {
    margin: 16px 0 0;
    font-size: 16px;
}

.qrf-cart-empty p {
    max-width: 270px;
    margin: 7px auto 17px;
    color: var(--qrf-muted);
    font-size: 10px;
}

.qrf-cart-content {
    padding-top: 16px;
}

.qrf-cart-items {
    display: grid;
    gap: 9px;
}

.qrf-cart-item {
    display: grid;
    grid-template-columns: 65px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 8px;
    border: 1px solid var(--qrf-border);
    border-radius: 18px;
    background: #fff;
}

.qrf-cart-item img {
    width: 65px;
    height: 62px;
    border-radius: 14px;
    object-fit: cover;
}

.qrf-cart-item__copy {
    min-width: 0;
}

.qrf-cart-item__copy strong {
    display: block;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-cart-item__copy small {
    display: block;
    overflow: hidden;
    margin-top: 3px;
    color: var(--qrf-muted);
    font-size: 8px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-cart-item__copy b {
    display: block;
    margin-top: 6px;
    font-size: 10px;
}

.qrf-cart-item__actions {
    display: grid;
    justify-items: end;
    gap: 7px;
}

.qrf-cart-item__actions button {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 10px;
    color: var(--qrf-muted);
    background: #F0ECE5;
    cursor: pointer;
}

.qrf-cart-item__actions .qrf-icon {
    width: 14px;
    height: 14px;
}

.qrf-cart-item__qty {
    color: var(--qrf-ink);
    font-size: 9px;
    font-weight: 800;
}

.qrf-cart-summary {
    display: grid;
    gap: 10px;
    margin-top: 16px;
    padding: 15px 2px;
    border-top: 1px solid var(--qrf-border);
    border-bottom: 1px solid var(--qrf-border);
}

.qrf-cart-summary > div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: var(--qrf-muted);
    font-size: 10px;
}

.qrf-cart-summary > div strong {
    color: var(--qrf-ink);
}

.qrf-cart-summary__total {
    padding-top: 3px;
    font-size: 13px !important;
    font-weight: 800;
}

.qrf-cart-table-field {
    display: grid;
    gap: 7px;
    margin: 14px 0 0;
}

.qrf-cart-table-field > span {
    color: var(--qrf-ink);
    font-size: 10px;
    font-weight: 850;
}

.qrf-cart-table-field input,
.qrf-table-input input {
    width: 100%;
    min-height: 44px;
    border: 1px solid rgba(25, 25, 29, .14);
    border-radius: 15px;
    outline: 0;
    background: #fff;
    padding: 0 13px;
    color: var(--qrf-ink);
    font-size: 13px;
    font-weight: 800;
}

.qrf-cart-table-field input:focus,
.qrf-table-input input:focus {
    border-color: var(--qrf-blue);
    box-shadow: 0 0 0 3px rgba(53, 88, 219, .13);
}

.qrf-cart-table-field small {
    color: var(--qrf-muted);
    font-size: 8px;
    font-weight: 700;
}

.qrf-button {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border-radius: 14px;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.qrf-button--dark {
    color: #fff;
    background: var(--qrf-ink);
}

.qrf-button--ghost {
    color: var(--qrf-ink);
    background: #EFE9DF;
}

.qrf-button--coral {
    color: #fff;
    background: var(--qrf-accent);
}

.qrf-button--wide {
    width: 100%;
    min-height: 52px;
    margin-top: 15px;
    border-radius: 17px;
}

.qrf-button .qrf-icon {
    width: 16px;
    height: 16px;
}

.qrf-toast {
    position: fixed;
    z-index: 120;
    right: max(20px, calc((100vw - 440px) / 2 + 20px));
    bottom: calc(var(--qrf-safe-bottom) + 88px);
    left: max(20px, calc((100vw - 440px) / 2 + 20px));
    display: flex;
    min-height: 50px;
    align-items: center;
    gap: 9px;
    padding: 10px 13px;
    border-radius: 16px;
    color: #fff;
    background: rgba(25, 25, 29, .96);
    box-shadow: 0 16px 36px rgba(25, 25, 29, .25);
    font-size: 10px;
    font-weight: 700;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .2s ease, transform .2s ease;
    backdrop-filter: blur(12px);
}

.qrf-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.qrf-toast__icon {
    display: grid;
    width: 28px;
    height: 28px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 9px;
    color: var(--qrf-ink);
    background: var(--qrf-lime);
}

.qrf-toast__icon .qrf-icon {
    width: 15px;
    height: 15px;
}

@keyframes qrf-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Focus and motion */
:where(a, button, input):focus-visible {
    outline: 3px solid rgba(53, 88, 219, .30);
    outline-offset: 2px;
}

@media (hover: hover) {
    .qrf-home-category-chip:hover,
    .qrf-category-chip:hover {
        transform: translateY(-1px);
    }

    .qrf-product-card:hover {
        transform: translateY(-2px);
        box-shadow: var(--qrf-soft-shadow);
    }

    .qrf-icon-button:hover {
        box-shadow: 0 8px 18px rgba(42, 35, 28, .11);
    }
}

@media (max-width: 370px) {
    .qrf-page {
        padding-right: 14px;
        padding-left: 14px;
    }

    .qrf-brand-header {
        min-height: 64px;
    }

    .qrf-brand__mark,
    .qrf-brand__logo-image {
        width: 52px;
        height: 52px;
    }

    .qrf-brand__copy strong,
    .qrf-brand__copy small {
        max-width: 145px;
    }

    .qrf-discovery-intro h1 {
        font-size: 38px;
    }

    .qrf-feature-card {
        grid-template-columns: minmax(0, 1.1fr) minmax(105px, .9fr);
    }

    .qrf-feature-card__media img {
        width: 178px;
        height: 160px;
    }

    .qrf-quick-links {
        gap: 5px;
    }

    .qrf-product-title h1 {
        font-size: 30px;
    }

    .qrf-category-scroll,
    .qrf-related-scroll {
        margin-right: -14px;
        margin-left: -14px;
        padding-right: 14px;
        padding-left: 14px;
    }
}

@media (min-width: 700px) {
    .qrf-app-shell {
        margin-top: 22px;
        margin-bottom: 22px;
        min-height: calc(100dvh - 44px);
        border-radius: 34px;
    }

    .qrf-bottom-nav,
    .qrf-product-action {
        bottom: 34px;
    }

    .qrf-cart-bar {
        bottom: 112px;
    }

    .qrf-service-fab {
        bottom: 118px;
    }

    .qrf-sheet {
        bottom: 22px;
        border-radius: 30px;
    }
}

/* QRresta Flow v1.0.1 cutlery decor, adapted to the integrated theme markup. */
.qrf-discovery-intro,
.qrf-menu-heading,
.qrf-product-hero,
.qrf-feature-card,
.qrf-favorite-card {
    position: relative;
}

.qrf-discovery-intro > *,
.qrf-menu-heading > *,
.qrf-feature-card > *,
.qrf-favorite-card > * {
    position: relative;
    z-index: 2;
}

.qrf-discovery-intro::after,
.qrf-menu-heading::after,
.qrf-feature-card::before,
.qrf-favorite-card::before,
.qrf-product-hero::before,
.qrf-product-hero::after {
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
    pointer-events: none;
}

.qrf-discovery-intro::after {
    top: 18px;
    right: -38px;
    z-index: 0;
    width: 168px;
    height: 188px;
    background-image: url("../img/decor/fork-knife-watermark.svg");
    opacity: .18;
    transform: rotate(12deg);
}

.qrf-menu-heading::after {
    top: -16px;
    right: 38px;
    z-index: 0;
    width: 150px;
    height: 116px;
    background-image: url("../img/decor/plate-cutlery-watermark.svg");
    opacity: .18;
    transform: rotate(7deg);
}

.qrf-feature-card::before {
    right: 12px;
    bottom: 10px;
    z-index: 0;
    width: 176px;
    height: 156px;
    background-image: url("../img/decor/chef-tools-watermark.svg");
    opacity: .16;
    transform: rotate(-8deg);
}

.qrf-favorite-card::before {
    right: -26px;
    bottom: -24px;
    z-index: 0;
    width: 142px;
    height: 142px;
    background-image: url("../img/decor/plate-cutlery-watermark.svg");
    opacity: .15;
    transform: rotate(-12deg);
}

.qrf-product-hero {
    background-color: #fff;
    background-image: none;
}

.qrf-product-hero::before {
    top: 78px;
    left: -26px;
    z-index: 1;
    width: 190px;
    height: 190px;
    background-image: url("../img/decor/spoon-fork-watermark.svg");
    opacity: .14;
    transform: rotate(-18deg);
}

.qrf-product-hero::after {
    inset: 22px -46px auto auto;
    z-index: 1;
    display: block;
    width: 220px;
    height: 220px;
    background: url("../img/decor/fork-knife-watermark.svg") center / contain no-repeat;
    opacity: .16;
    transform: rotate(13deg);
}

.qrf-product-hero > img {
    z-index: 3;
}

/* QRresta Flow reference lock: keep the integrated data/actions, match the v1.0.1 visual shell. */
.qrf-document {
    overflow-x: hidden;
    background: #e9e5dc;
}

.qrf-root.qrf-app-shell {
    --qrf-bg: #f6f2e9;
    --qrf-paper: #f6f2e9;
    --qrf-surface: #fffefb;
    --qrf-ink: #17181d;
    --qrf-muted: #707179;
    --qrf-accent: #f2493f;
    --qrf-blue: #3157db;
    --qrf-nav: #3157db;
    --qrf-lime: #b8e64b;
    --qrf-lilac: #dce3ff;
    --qrf-border: rgba(23, 24, 29, .11);
    --qrf-line: rgba(23, 24, 29, .11);
    --qrf-sans: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --qrf-serif: "DM Serif Display", Georgia, "Times New Roman", serif;
    width: min(100vw, 480px);
    max-width: 100vw;
    overflow-x: clip;
    background: var(--qrf-paper);
    color: var(--qrf-ink);
    font-family: var(--qrf-sans);
    font-size: 14px;
    line-height: 1.45;
    box-shadow: 0 18px 60px rgba(36, 31, 22, .15);
}

.qrf-root *,
.qrf-root *::before,
.qrf-root *::after {
    letter-spacing: 0 !important;
}

.qrf-root.qrf-app-shell::before,
.qrf-root.qrf-app-shell::after {
    display: none;
}

.qrf-page {
    padding: 0 18px 22px;
}

.qrf-home-page {
    padding-bottom: 116px;
}

.qrf-menu-page {
    padding-bottom: 190px;
}

.qrf-topbar.qrf-brand-header {
    min-height: 0;
    gap: 12px;
    padding: calc(18px + env(safe-area-inset-top)) 0 12px;
}

.qrf-topbar .qrf-brand {
    gap: 10px;
}

.qrf-logo-mark,
.qrf-logo-image,
.qrf-brand__mark,
.qrf-brand__logo-image {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 13px;
}

.qrf-logo-mark {
    display: grid;
    grid-template-columns: repeat(3, 6px);
    grid-template-rows: repeat(3, 6px);
    gap: 3px;
    place-content: center;
    background: var(--qrf-ink);
    box-shadow: 0 8px 18px rgba(23, 24, 29, .14);
}

.qrf-logo-mark i {
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: #fff;
}

.qrf-logo-mark i:nth-child(2),
.qrf-logo-mark i:nth-child(4),
.qrf-logo-mark i:nth-child(9) {
    background: var(--qrf-accent);
}

.qrf-logo-image {
    object-fit: contain;
    background: rgba(255, 255, 255, .68);
    box-shadow: 0 8px 18px rgba(23, 24, 29, .08);
}

.qrf-brand-copy strong,
.qrf-brand__copy strong {
    max-width: 195px;
    font-size: 14px;
    font-weight: 800;
}

.qrf-brand-copy small,
.qrf-brand__copy small {
    max-width: 195px;
    margin-top: 4px;
    color: var(--qrf-muted);
    font-size: 9px;
    font-weight: 600;
}

.qrf-language-switch.qrf-language-switcher {
    padding: 3px;
    border: 1px solid var(--qrf-line);
    background: rgba(255, 255, 255, .58);
    box-shadow: none;
}

.qrf-language,
.qrf-language-switcher__item {
    min-width: 27px;
    height: 27px;
    padding: 0 7px;
    font-size: 9px;
    font-weight: 800;
}

.qrf-language.is-active,
.qrf-language-switcher__item.is-active {
    color: #fff;
    background: var(--qrf-ink);
}

.qrf-eyebrow {
    gap: 7px;
    color: var(--qrf-accent);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.qrf-eyebrow i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--qrf-lime);
}

.qrf-eyebrow-blue {
    color: var(--qrf-nav);
}

.qrf-mood-intro.qrf-discovery-intro {
    padding: 15px 2px 0;
}

.qrf-mood-intro h1,
.qrf-discovery-intro h1 {
    margin: 8px 0;
    font-family: var(--qrf-serif);
    font-size: 40px;
    font-weight: 400;
    line-height: .98;
}

.qrf-mood-intro > p,
.qrf-discovery-intro > p {
    max-width: 330px;
    margin: 0;
    color: var(--qrf-muted);
    font-size: 12px;
    line-height: 1.6;
}

.qrf-mood-chips.qrf-home-category-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 13px 0 0;
    overflow: visible;
    padding: 0;
}

.qrf-mood-chips .qrf-home-category-chip {
    min-height: 34px;
    padding: 8px 13px;
    border: 1px solid var(--qrf-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .68);
    color: var(--qrf-ink);
    box-shadow: none;
    font-size: 10px;
    font-weight: 800;
}

.qrf-mood-chips .qrf-home-category-chip.is-active {
    border-color: var(--qrf-ink);
    background: var(--qrf-ink);
    color: #fff;
}

.qrf-feature-slider {
    margin-top: 16px;
}

.qrf-feature-track {
    gap: 12px;
    margin: 0;
    padding: 0 0 5px;
}

.qrf-feature-card {
    width: 100%;
    min-height: 275px;
    flex: 0 0 100%;
    grid-template-columns: minmax(0, 1fr) minmax(132px, .86fr);
    border-radius: 27px;
    background: var(--qrf-accent);
    box-shadow: 0 18px 38px rgba(242, 73, 63, .19);
}

.qrf-feature-card__copy {
    padding: 22px 0 18px 19px;
}

.qrf-feature-card h2 {
    max-width: 182px;
    margin: 14px 0 0;
    font-family: var(--qrf-serif);
    font-size: 30px;
    font-weight: 400;
    line-height: .98;
}

.qrf-feature-card p {
    max-width: 178px;
    margin-top: 8px;
    color: rgba(255, 255, 255, .86);
    font-size: 10px;
    line-height: 1.45;
}

.qrf-feature-card__copy > strong {
    padding-top: 18px;
    font-size: 19px;
    font-weight: 800;
}

.qrf-feature-card__media {
    align-items: center;
    justify-content: center;
    padding: 34px 0 14px;
}

.qrf-feature-card__media img {
    width: 230px;
    max-width: none;
    height: 230px;
    transform: translateX(-30px) rotate(-4deg);
    border: 8px solid rgba(255, 255, 255, .20);
    border-radius: 50%;
    object-fit: cover;
    filter: drop-shadow(0 18px 18px rgba(43, 25, 13, .26));
}

.qrf-icon-button--hero {
    right: 15px;
    bottom: 15px;
    width: 45px;
    height: 45px;
    border: 0;
    border-radius: 15px;
    color: var(--qrf-accent);
    background: #fff;
}

.qrf-section {
    margin-top: 20px;
}

.qrf-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.qrf-section-head h2 {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
}

.qrf-section-head > button,
.qrf-section-head > a,
.qrf-section-head > span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--qrf-muted);
    font-size: 9px;
    font-weight: 700;
}

.qrf-service-preview {
    padding-top: 5px;
}

.qrf-quick-links a,
.qrf-quick-links button {
    display: inline-flex;
    min-width: 0;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 9px 5px;
    border: 1px dashed rgba(23, 24, 29, .18);
    border-radius: 999px;
    background: rgba(255, 255, 255, .5);
    color: var(--qrf-ink);
    font-size: 8px;
    font-weight: 700;
}

.qrf-horizontal-products {
    display: grid;
    grid-auto-columns: minmax(150px, 42%);
    grid-auto-flow: column;
    gap: 10px;
    overflow-x: auto;
    padding: 2px 2px 9px;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}

.qrf-horizontal-products::-webkit-scrollbar {
    display: none;
}

.qrf-mini-product {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 7px;
    border: 1px solid var(--qrf-line);
    border-radius: 17px;
    background: rgba(255, 255, 255, .72);
    scroll-snap-align: start;
}

.qrf-mini-product img {
    width: 58px;
    height: 58px;
    border-radius: 13px;
    object-fit: cover;
}

.qrf-mini-product span {
    min-width: 0;
}

.qrf-mini-product strong,
.qrf-mini-product small {
    display: block;
}

.qrf-mini-product strong {
    overflow: hidden;
    font-size: 10px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-mini-product small {
    margin-top: 5px;
    color: var(--qrf-accent);
    font-size: 10px;
    font-weight: 800;
}

.qrf-menu-heading {
    margin-top: 7px;
}

.qrf-menu-heading h1 {
    font-family: var(--qrf-serif);
    font-size: 39px;
    font-weight: 400;
    line-height: 1;
}

.qrf-search-box.qrf-search {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) 34px;
    height: auto;
    gap: 8px;
    margin-top: 15px;
    padding: 7px 8px 7px 13px;
    border: 1px solid var(--qrf-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .82);
    box-shadow: 0 10px 28px rgba(36, 31, 22, .06);
}

.qrf-search-box input {
    padding: 9px 0;
    font-size: 11px;
}

.qrf-search-box > span,
.qrf-search__filter {
    width: 34px;
    height: 34px;
    border-radius: 11px;
    color: var(--qrf-nav);
    background: color-mix(in srgb, var(--qrf-nav), white 88%);
}

.qrf-category-strip.qrf-category-scroll {
    gap: 7px;
    margin: 11px -18px 0;
    padding: 0 18px 7px;
}

.qrf-category-chip {
    min-height: 32px;
    padding: 0 14px;
    border: 1px solid var(--qrf-line);
    color: #5c5852;
    background: rgba(255, 255, 255, .65);
    font-size: 9px;
    font-weight: 800;
}

.qrf-category-chip.is-active {
    border-color: var(--qrf-nav);
    background: var(--qrf-nav);
    color: #fff !important;
    box-shadow: none;
}

.qrf-category-chip.is-active * {
    color: #fff !important;
}

.qrf-featured-highlight-list {
    margin: 5px 0 14px;
}

.qrf-favorite-card {
    min-height: 145px;
    grid-template-columns: minmax(0, 1.1fr) minmax(120px, .9fr);
    margin-top: 5px;
    border: 1px solid color-mix(in srgb, var(--qrf-lime), var(--qrf-ink) 12%);
    border-radius: 24px;
    background: color-mix(in srgb, var(--qrf-lime), white 68%);
}

.qrf-favorite-card h2 {
    max-width: 170px;
    margin: 5px 0;
    font-family: var(--qrf-serif);
    font-size: 23px;
    font-weight: 400;
    line-height: .98;
}

.qrf-favorite-card p {
    max-width: 175px;
    font-size: 8px;
}

.qrf-favorite-card__media img {
    width: 155px;
    height: 155px;
    transform: translateX(4px) rotate(2deg);
}

.qrf-product-list {
    gap: 9px;
}

.qrf-product-card {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 38px;
    min-height: 104px;
    align-items: center;
    gap: 11px;
    padding: 8px 9px 8px 8px;
    overflow: visible;
    border: 1px solid var(--qrf-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 6px 20px rgba(35, 31, 24, .045);
}

.qrf-product-image.qrf-product-card__media {
    width: 88px;
    height: 88px;
    min-width: 0;
    overflow: hidden;
    padding: 0;
    border-radius: 17px;
    background: color-mix(in srgb, var(--qrf-nav), white 88%);
}

.qrf-product-image.qrf-product-card__media img {
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 0;
    object-fit: cover;
}

.qrf-product-body.qrf-product-card__body {
    display: block;
    min-width: 0;
    padding: 0;
}

.qrf-mini-badges.qrf-product-card__meta {
    display: flex;
    min-height: 0;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 3px;
}

.qrf-mini-badges span,
.qrf-mini-chip,
.qrf-badge--coral {
    padding: 3px 5px;
    border-radius: 999px;
    background: #eeece6;
    color: #7a7975;
    font-size: 6px;
    font-weight: 800;
    line-height: 1;
}

.qrf-mini-badges span.is-red,
.qrf-badge--coral.is-red {
    background: color-mix(in srgb, var(--qrf-accent), white 83%);
    color: var(--qrf-accent);
}

.qrf-daily-favorite-chip:not([hidden]) {
    display: inline-flex;
    color: #1f2412;
    background: var(--qrf-lime);
}

.qrf-product-title.qrf-product-card__title {
    display: block;
    overflow: hidden;
    margin-top: 0;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-product-body p {
    margin: 3px 0 7px;
    font-size: 8px;
    line-height: 1.35;
}

.qrf-price {
    font-size: 12px;
    font-weight: 800;
}

.qrf-add-circle.qrf-icon-button {
    display: grid;
    width: 35px;
    height: 35px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--qrf-accent), white 55%);
    border-radius: 12px;
    color: var(--qrf-accent);
    background: #fff;
    box-shadow: none;
}

.qrf-add-circle .qrf-icon {
    width: 16px;
    height: 16px;
}

.qrf-bottom-nav {
    right: auto;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 50%;
    width: min(456px, calc(100% - 24px));
    min-height: 68px;
    height: auto;
    transform: translateX(-50%);
}

.qrf-bottom-nav__item,
.qrf-nav-item {
    display: flex;
    min-width: 0;
    height: auto;
    min-height: 54px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border-radius: 17px;
    color: inherit;
    font-size: 8px;
    font-weight: 700;
}

.qrf-bottom-nav__item.is-active,
.qrf-nav-item.is-active {
    background: var(--qrf-accent);
    color: #fff;
    box-shadow: 0 9px 22px rgba(242, 73, 63, .28);
}

.qrf-bottom-nav__item.is-active span,
.qrf-bottom-nav__item.is-active .qrf-icon {
    color: #fff;
}

.qrf-nav-badge[hidden] {
    display: none;
}

.qrf-cart-bar[hidden] {
    display: none;
}

.qrf-cart-bar {
    right: auto;
    bottom: calc(89px + env(safe-area-inset-bottom));
    left: 50%;
    width: min(446px, calc(100% - 34px));
    min-height: 67px;
    transform: translateX(-50%);
}

.qrf-product-page {
    background: var(--qrf-paper);
}

.qrf-product-hero {
    height: 390px;
    min-height: 390px;
    background: #fff;
}

.qrf-product-hero > img,
.qrf-product-hero--cover > img {
    inset: 76px auto auto 50%;
    width: 300px;
    height: 300px;
    transform: translateX(-50%);
    border: 10px solid rgba(255, 255, 255, .38);
    border-radius: 50%;
    object-fit: cover;
    filter: drop-shadow(0 25px 24px rgba(42, 37, 28, .25));
}

.qrf-product-hero--floating > img {
    inset: 76px auto auto 50%;
    width: 300px;
    height: 300px;
    transform: translateX(-50%) rotate(-3deg);
    border: 0;
    border-radius: 0;
    object-fit: contain;
    filter: drop-shadow(0 25px 24px rgba(42, 37, 28, .20));
}

.qrf-product-sheet {
    min-height: 520px;
    margin-top: -24px;
    padding: 25px 18px 115px;
    background: var(--qrf-paper);
}

.qrf-product-title-row h1 {
    font-family: var(--qrf-serif);
    font-size: 31px;
    font-weight: 400;
    line-height: 1;
}

.qrf-product-title-row > strong {
    padding-top: 6px;
    color: var(--qrf-accent);
    font-size: 17px;
}

.qrf-product-action.qrf-product-action-bar {
    right: auto;
    bottom: max(10px, env(safe-area-inset-bottom));
    left: 50%;
    width: min(456px, calc(100% - 24px));
    transform: translateX(-50%);
}

.qrf-service-fab {
    right: max(16px, calc((100vw - 480px) / 2 + 16px));
    color: #fff;
    background: #19191d;
}

.qrf-service-fab span,
.qrf-service-fab .qrf-icon {
    color: #fff;
}

.qrf-allergen {
    min-width: 48px;
    padding: 4px 3px;
    border: 0;
    background: transparent;
}

.qrf-allergen__icon {
    width: 24px;
    height: 24px;
    background: transparent;
}

.qrf-allergen__icon img,
.qrf-allergen .allergen-custom-icon,
.qrf-allergen .qrf-icon {
    width: 22px;
    height: 22px;
}

.qrf-allergen small {
    font-size: 7px;
}

.qrf-site-footer {
    padding-bottom: calc(102px + var(--qrf-safe-bottom));
}

@media (min-width: 680px) {
    .qrf-root.qrf-app-shell {
        min-height: calc(100dvh - 48px);
        margin-top: 24px;
        margin-bottom: 24px;
        border: 1px solid rgba(23, 24, 29, .08);
        border-radius: 32px;
    }

    .qrf-bottom-nav,
    .qrf-product-action.qrf-product-action-bar {
        bottom: 36px;
    }

    .qrf-cart-bar {
        bottom: 113px;
    }
}

@media (max-width: 374px) {
    .qrf-page {
        padding-right: 14px;
        padding-left: 14px;
    }

    .qrf-mood-intro h1,
    .qrf-discovery-intro h1 {
        font-size: 35px;
    }

    .qrf-feature-card__media img {
        width: 210px;
        height: 210px;
        transform: translateX(-42px) rotate(-4deg);
    }

    .qrf-product-card {
        grid-template-columns: 78px minmax(0, 1fr) 34px;
    }

    .qrf-product-image.qrf-product-card__media {
        width: 78px;
        height: 78px;
    }

    .qrf-product-hero > img,
    .qrf-product-hero--cover > img,
    .qrf-product-hero--floating > img {
        width: 275px;
        height: 275px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/*
 * QRresta Flow food sketch decor v1.0.2
 * Drawn SVG background layer for the fourth theme only.
 */
.qrf-root {
    background-color: #f8f4ec;
}

.qrf-page,
.qrf-product-page,
.qrf-product-hero,
.qrf-product-sheet,
.qrf-feature-hero,
.qrf-feature-card,
.qrf-favorite-card,
.qrf-menu-feature,
.qrf-cart-empty,
.qrf-order-summary {
    position: relative;
}

.qrf-home-page,
.qrf-menu-page,
.qrf-cart-page {
    isolation: isolate;
    overflow: hidden;
}

.qrf-home-page > *,
.qrf-menu-page > *,
.qrf-cart-page > *,
.qrf-product-sheet > * {
    position: relative;
    z-index: 2;
}

.qrf-home-page::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 58px;
    right: -35px;
    width: 148px;
    height: 215px;
    pointer-events: none;
    background: url("../img/decor/cutlery-line.svg") center / contain no-repeat;
    opacity: .24;
    transform: rotate(8deg);
}

.qrf-home-page::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -55px;
    bottom: 210px;
    width: 170px;
    height: 170px;
    pointer-events: none;
    background: url("../img/decor/plate-line.svg") center / contain no-repeat;
    opacity: .10;
    transform: rotate(-12deg);
}

.qrf-feature-hero .qrf-shape,
.qrf-feature-card .qrf-shape,
.qrf-product-hero .qrf-shape,
.qrf-product-hero__shape {
    display: none !important;
}

.qrf-feature-hero::before,
.qrf-feature-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background: url("../img/decor/food-sketch-light.svg") center / cover no-repeat;
    opacity: .32;
    transform: none;
}

.qrf-feature-hero::after,
.qrf-feature-card::after {
    content: "";
    position: absolute;
    z-index: 1;
    right: -34px;
    top: -42px;
    width: 150px;
    height: 190px;
    pointer-events: none;
    background: url("../img/decor/cutlery-line.svg") center / contain no-repeat;
    opacity: .13;
    filter: brightness(0) invert(1);
    transform: rotate(22deg);
}

.qrf-feature-copy,
.qrf-feature-visual,
.qrf-feature-add,
.qrf-feature-card > * {
    position: relative;
    z-index: 3;
}

.qrf-service-card,
.qrf-service-tile {
    overflow: hidden;
}

.qrf-service-card::after,
.qrf-service-tile::after {
    content: "";
    position: absolute;
    right: -25px;
    bottom: -35px;
    width: 105px;
    height: 105px;
    pointer-events: none;
    background: url("../img/decor/plate-line.svg") center / contain no-repeat;
    opacity: .11;
}

.qrf-menu-page::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: -8px;
    right: -28px;
    width: 210px;
    height: 130px;
    pointer-events: none;
    background: url("../img/decor/cloche-line.svg") center / contain no-repeat;
    opacity: .27;
    transform: rotate(7deg);
}

.qrf-menu-page::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -48px;
    top: 370px;
    width: 145px;
    height: 205px;
    pointer-events: none;
    background: url("../img/decor/herbs-line.svg") center / contain no-repeat;
    opacity: .10;
    transform: rotate(-16deg);
}

.qrf-menu-feature::after,
.qrf-favorite-card::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: -25px;
    right: 60px;
    width: 145px;
    height: 92px;
    border: 0;
    border-radius: 0;
    pointer-events: none;
    background: url("../img/decor/cloche-line.svg") center / contain no-repeat;
    opacity: .27;
    transform: rotate(-4deg);
}

.qrf-menu-feature::before,
.qrf-favorite-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -35px;
    bottom: -58px;
    width: 130px;
    height: 170px;
    pointer-events: none;
    background: url("../img/decor/cutlery-line.svg") center / contain no-repeat;
    opacity: .10;
    transform: rotate(-14deg);
}

.qrf-menu-feature-copy,
.qrf-menu-feature-image,
.qrf-favorite-card > * {
    position: relative;
    z-index: 2;
}

.qrf-product-card {
    overflow: hidden;
}

.qrf-product-card::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -34px;
    bottom: -52px;
    width: 100px;
    height: 132px;
    pointer-events: none;
    background: url("../img/decor/herbs-line.svg") center / contain no-repeat;
    opacity: .045;
}

.qrf-product-card > * {
    position: relative;
    z-index: 1;
}

.qrf-product-page {
    background: #f4efe6;
}

.qrf-product-hero {
    overflow: hidden;
    background: #f4efe6;
}

.qrf-product-hero::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 5px;
    right: -22px;
    width: 195px;
    height: 300px;
    pointer-events: none;
    background: url("../img/decor/cutlery-line.svg") center / contain no-repeat;
    opacity: .31;
    transform: rotate(13deg);
}

.qrf-product-hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -35px;
    bottom: -40px;
    width: 185px;
    height: 225px;
    pointer-events: none;
    background: url("../img/decor/herbs-line.svg") center / contain no-repeat;
    opacity: .22;
    transform: rotate(-22deg);
}

.qrf-product-hero > img,
.qrf-product-hero .qrf-floating-button {
    z-index: 3;
}

.qrf-product-sheet {
    overflow: hidden;
    background: #f8f4ec;
}

.qrf-product-sheet::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 120px;
    right: -72px;
    width: 175px;
    height: 175px;
    pointer-events: none;
    background: url("../img/decor/plate-line.svg") center / contain no-repeat;
    opacity: .045;
}

.qrf-product-sheet::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -50px;
    bottom: 170px;
    width: 145px;
    height: 200px;
    pointer-events: none;
    background: url("../img/decor/herbs-line.svg") center / contain no-repeat;
    opacity: .045;
    transform: rotate(-10deg);
}

.qrf-cart-page::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 4px;
    right: -30px;
    width: 190px;
    height: 120px;
    pointer-events: none;
    background: url("../img/decor/cloche-line.svg") center / contain no-repeat;
    opacity: .22;
    transform: rotate(5deg);
}

.qrf-cart-page::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: -55px;
    bottom: 120px;
    width: 175px;
    height: 175px;
    pointer-events: none;
    background: url("../img/decor/plate-line.svg") center / contain no-repeat;
    opacity: .08;
    transform: rotate(-10deg);
}

.qrf-cart-empty,
.qrf-order-summary {
    overflow: hidden;
}

.qrf-cart-empty::before,
.qrf-order-summary::before {
    content: "";
    position: absolute;
    z-index: 0;
    right: -40px;
    bottom: -55px;
    width: 145px;
    height: 180px;
    pointer-events: none;
    background: url("../img/decor/cutlery-line.svg") center / contain no-repeat;
    opacity: .07;
    transform: rotate(12deg);
}

.qrf-cart-empty > *,
.qrf-order-summary > * {
    position: relative;
    z-index: 1;
}

@media (max-width: 380px) {
    .qrf-home-page::before,
    .qrf-menu-page::before,
    .qrf-cart-page::before {
        transform: scale(.86) rotate(8deg);
        transform-origin: top right;
    }

    .qrf-product-hero::before {
        right: -45px;
        opacity: .25;
    }
}

@media (prefers-reduced-motion: reduce) {
    .qrf-home-page::before,
    .qrf-home-page::after,
    .qrf-menu-page::before,
    .qrf-menu-page::after,
    .qrf-product-hero::before,
    .qrf-product-hero::after,
    .qrf-cart-page::before,
    .qrf-cart-page::after {
        transform: none;
    }
}

.qrf-product-hero::before {
    top: 18px;
    right: -8px;
    width: 180px;
    height: 285px;
    opacity: .30;
    transform: rotate(17deg);
}

.qrf-product-hero::after {
    top: 70px;
    bottom: auto;
    left: -30px;
    width: 150px;
    height: 210px;
    opacity: .22;
    transform: rotate(-22deg);
}

.qrf-product-hero {
    background-color: #f4efe6;
    background-image:
        url("../img/decor/cutlery-line.svg"),
        url("../img/decor/herbs-line.svg");
    background-position:
        calc(100% + 24px) 12px,
        -30px 78px;
    background-repeat: no-repeat;
    background-size:
        220px 315px,
        158px 215px;
}

.qrf-product-hero::before,
.qrf-product-hero::after {
    opacity: 0;
}

/*
 * QRresta Flow reference alignment v1.0.3
 * Final placement pass for the reference mockup.
 */
.qrf-feature-card > .qrf-icon-button--hero {
    position: absolute !important;
    right: 16px !important;
    bottom: 16px !important;
    z-index: 8 !important;
}

.qrf-favorite-card > .qrf-favorite-card__add {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 8 !important;
}

.qrf-quick-links .qrf-quick-link--survey {
    border-color: #d9d1c6;
    color: #5c5852;
    background: rgba(255, 252, 247, .58);
}

.qrf-quick-links .qrf-quick-link--survey .qrf-icon {
    color: #5c5852;
}

body.qrf-screen-product .qrf-service-fab {
    display: none !important;
}

.qrf-home-page::before {
    top: 138px;
    right: 16px;
    width: 112px;
    height: 220px;
    opacity: .24;
    transform: rotate(8deg);
}

.qrf-home-page::after {
    left: -66px;
    bottom: 190px;
    width: 155px;
    height: 155px;
    opacity: .07;
}

.qrf-feature-card::before {
    background-position: center;
    background-size: 105% 105%;
    opacity: .29;
}

.qrf-feature-card::after {
    top: -22px;
    right: -18px;
    width: 130px;
    height: 178px;
    opacity: .12;
}

.qrf-menu-page::before {
    top: 54px;
    right: 48px;
    width: 190px;
    height: 122px;
    opacity: .26;
    transform: rotate(7deg);
}

.qrf-menu-page::after {
    left: -58px;
    top: 362px;
    width: 132px;
    height: 190px;
    opacity: .08;
}

.qrf-favorite-card::before {
    top: 10px;
    right: 95px;
    width: 150px;
    height: 96px;
    opacity: .24;
}

.qrf-favorite-card::after {
    left: -42px;
    bottom: -62px;
    width: 120px;
    height: 160px;
    opacity: .08;
}

.qrf-product-hero {
    background-color: #f4efe6;
    background-image:
        url("../img/decor/cutlery-line.svg"),
        url("../img/decor/herbs-line.svg");
    background-position:
        calc(100% + 2px) 30px,
        -12px 92px;
    background-repeat: no-repeat;
    background-size:
        182px 270px,
        138px 185px;
}

@media (max-width: 380px) {
    .qrf-home-page::before {
        top: 132px;
        right: 4px;
    }

    .qrf-product-hero {
        background-position:
            calc(100% + 18px) 34px,
            -28px 96px;
        background-size:
            170px 252px,
            128px 172px;
    }
}

/*
 * QRresta Flow image/decor cleanup v1.0.4
 * Remove circular product image frames and the old blue menu plate decor.
 */
.qrf-menu-heading::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
}

.qrf-menu-page::before {
    top: 40px !important;
    right: 34px !important;
    width: 238px !important;
    height: 154px !important;
    opacity: .27 !important;
    transform: rotate(7deg) !important;
}

.qrf-feature-card__media,
.qrf-favorite-card__media {
    overflow: visible !important;
}

.qrf-feature-card__media img,
.qrf-favorite-card__media img,
.qrf-product-hero > img,
.qrf-product-hero--cover > img,
.qrf-product-hero--floating > img {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.qrf-feature-card__media img {
    width: 245px !important;
    height: 215px !important;
    object-fit: contain !important;
    transform: translateX(-34px) rotate(-3deg) !important;
}

.qrf-favorite-card__media img {
    width: 174px !important;
    height: 138px !important;
    object-fit: contain !important;
    transform: translateX(-4px) rotate(2deg) !important;
}

.qrf-product-image.qrf-product-card__media {
    background: #f1eadf !important;
}

.qrf-product-image.qrf-product-card__media img {
    border-radius: 15px !important;
}

.qrf-product-hero {
    background-color: #f4efe6 !important;
    background-image:
        url("../img/decor/cutlery-line.svg"),
        url("../img/decor/herbs-line.svg") !important;
    background-position:
        calc(100% + 4px) 28px,
        -18px 92px !important;
    background-repeat: no-repeat !important;
    background-size:
        190px 278px,
        142px 188px !important;
}

.qrf-product-hero::before,
.qrf-product-hero::after,
.qrf-product-hero--floating::after {
    display: none !important;
    content: none !important;
    background: none !important;
}

.qrf-product-hero > img,
.qrf-product-hero--cover > img,
.qrf-product-hero--floating > img {
    inset: 92px auto auto 50% !important;
    width: min(82%, 330px) !important;
    height: 245px !important;
    max-width: none !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translateX(-50%) !important;
    filter: drop-shadow(0 24px 22px rgba(42, 37, 28, .18)) !important;
}

.qrf-product-hero--floating > img {
    transform: translateX(-50%) rotate(-2deg) !important;
}

@media (max-width: 380px) {
    .qrf-menu-page::before {
        right: 18px !important;
        width: 212px !important;
        height: 138px !important;
    }

    .qrf-product-hero > img,
    .qrf-product-hero--cover > img,
    .qrf-product-hero--floating > img {
        width: min(84%, 292px) !important;
        height: 226px !important;
    }
}

/*
 * QRresta Flow product hero tone v1.0.5
 * Match the warm product-detail backdrop in the visual reference.
 */
.qrf-product-page {
    background: #f7f2eb !important;
}

.qrf-product-hero {
    background-color: #f7f2eb !important;
}

.qrf-product-sheet {
    background: #f8f4ec !important;
}

/*
 * QRresta Flow visual fit pass v1.0.6
 * Reference-aligned detail backdrop, scrollable home categories, and mobile input zoom guard.
 */
.qrf-mood-chips.qrf-home-category-list {
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 13px -18px 0 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 18px 6px 0 !important;
    scroll-padding: 18px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
}

.qrf-mood-chips.qrf-home-category-list::-webkit-scrollbar {
    display: none !important;
}

.qrf-mood-chips .qrf-home-category-chip {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    scroll-snap-align: start !important;
}

.qrf-discovery-intro::after {
    display: none !important;
    content: none !important;
}

.qrf-home-page::before {
    top: 168px !important;
    right: -8px !important;
    width: 122px !important;
    height: 178px !important;
    background: url("../img/decor/spoon-fork-watermark.svg") center / contain no-repeat !important;
    opacity: .16 !important;
    transform: rotate(11deg) !important;
    filter: sepia(1) saturate(.34) hue-rotate(336deg) brightness(1.22) !important;
}

.qrf-feature-track {
    scroll-snap-type: x mandatory !important;
}

.qrf-feature-card {
    overflow: hidden !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
}

.qrf-feature-card__media {
    overflow: hidden !important;
    padding: 34px 2px 20px 0 !important;
}

.qrf-feature-card__media img {
    width: min(48vw, 218px) !important;
    height: min(48vw, 205px) !important;
    object-fit: contain !important;
    transform: translateX(-10px) rotate(-3deg) !important;
}

.qrf-product-page {
    background: #f8f4ec !important;
}

.qrf-product-hero {
    height: 440px !important;
    min-height: 440px !important;
    overflow: hidden !important;
    background:
        radial-gradient(ellipse at 50% 34%, rgba(255, 255, 255, .74) 0 35%, rgba(255, 255, 255, 0) 68%),
        linear-gradient(180deg, #fbf8f1 0%, #f8f4ec 58%, #f5eee4 100%) !important;
}

.qrf-product-hero::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 54px !important;
    right: -24px !important;
    left: auto !important;
    bottom: auto !important;
    width: 214px !important;
    height: 300px !important;
    pointer-events: none !important;
    background: url("../img/decor/cutlery-line.svg") center / contain no-repeat !important;
    opacity: .28 !important;
    transform: rotate(13deg) !important;
    filter: none !important;
}

.qrf-product-hero::after {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 112px !important;
    left: -38px !important;
    right: auto !important;
    bottom: auto !important;
    width: 164px !important;
    height: 214px !important;
    pointer-events: none !important;
    background: url("../img/decor/herbs-line.svg") center / contain no-repeat !important;
    opacity: .32 !important;
    transform: rotate(-22deg) !important;
    filter: none !important;
}

.qrf-product-hero--floating::after {
    display: none !important;
    content: none !important;
}

.qrf-product-hero > img,
.qrf-product-hero--cover > img,
.qrf-product-hero--floating > img {
    inset: 132px auto auto 50% !important;
    z-index: 3 !important;
    width: min(84%, 340px) !important;
    height: 238px !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translateX(-50%) !important;
    filter: drop-shadow(0 24px 22px rgba(42, 37, 28, .17)) !important;
}

.qrf-product-hero--floating > img {
    transform: translateX(-50%) rotate(-2deg) !important;
}

.qrf-product-sheet {
    margin-top: -28px !important;
    background: #f8f4ec !important;
}

.qrf-cart-table-field input,
.qrf-table-input input {
    font-size: 16px !important;
}

@media (max-width: 380px) {
    .qrf-home-page::before {
        top: 156px !important;
        right: -18px !important;
        width: 116px !important;
        height: 170px !important;
    }

    .qrf-feature-card__media img {
        width: min(47vw, 190px) !important;
        height: min(47vw, 182px) !important;
        transform: translateX(-4px) rotate(-3deg) !important;
    }

    .qrf-product-hero {
        height: 414px !important;
        min-height: 414px !important;
    }

    .qrf-product-hero::before {
        top: 52px !important;
        right: -42px !important;
        width: 200px !important;
        height: 282px !important;
    }

    .qrf-product-hero::after {
        top: 112px !important;
        left: -48px !important;
        width: 150px !important;
        height: 200px !important;
    }

    .qrf-product-hero > img,
    .qrf-product-hero--cover > img,
    .qrf-product-hero--floating > img {
        inset: 126px auto auto 50% !important;
        width: min(84%, 300px) !important;
        height: 224px !important;
    }
}

/*
 * QRresta Flow product image cutout guard v1.0.7
 * Keep legacy product-image backgrounds from covering the reference backdrop.
 */
.qrf-product-hero > img,
.qrf-product-hero--cover > img,
.qrf-product-hero--floating > img {
    inset: 116px auto auto 50% !important;
    width: min(90%, 370px) !important;
    height: 270px !important;
    -webkit-mask-image: radial-gradient(ellipse 53% 41% at 52% 52%, #000 0 70%, transparent 75%) !important;
    mask-image: radial-gradient(ellipse 53% 41% at 52% 52%, #000 0 70%, transparent 75%) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
}

.qrf-product-hero--floating > img {
    transform: translateX(-50%) rotate(-2deg) !important;
}

/*
 * QRresta Flow slider image fit v1.0.8
 * Hide rectangular source-image backgrounds inside the chef selection slider.
 */
.qrf-feature-card__media img,
.qrf-menu-feature-image img {
    -webkit-mask-image: radial-gradient(ellipse 54% 43% at 52% 52%, #000 0 72%, transparent 76%) !important;
    mask-image: radial-gradient(ellipse 54% 43% at 52% 52%, #000 0 72%, transparent 76%) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
}

@media (max-width: 380px) {
    .qrf-product-hero > img,
    .qrf-product-hero--cover > img,
    .qrf-product-hero--floating > img {
        inset: 116px auto auto 50% !important;
        width: min(90%, 326px) !important;
        height: 246px !important;
    }
}

/*
 * QRresta Flow reference polish v1.0.10
 * Keep these overrides scoped to the fourth theme only.
 */
.qrf-logo-image,
.qrf-brand__logo-image {
    width: 66px !important;
    height: 66px !important;
    flex: 0 0 66px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
}

.qrf-logo-mark,
.qrf-brand__mark {
    width: 50px !important;
    height: 50px !important;
    flex: 0 0 50px !important;
}

.qrf-home-page::before {
    top: 112px !important;
    right: 14px !important;
    width: 210px !important;
    height: 138px !important;
    background: url("../img/decor/cloche-line.svg") center / contain no-repeat !important;
    opacity: .20 !important;
    transform: rotate(7deg) !important;
    filter: none !important;
}

.qrf-feature-track {
    gap: 12px !important;
    margin: 0 -18px !important;
    overflow-x: auto !important;
    padding: 0 18px 7px !important;
    scroll-padding-inline: 18px !important;
    scroll-snap-type: x mandatory !important;
}

.qrf-feature-card {
    width: calc(100% - 36px) !important;
    min-height: 275px !important;
    flex: 0 0 calc(100% - 36px) !important;
    grid-template-columns: minmax(0, 1fr) minmax(146px, .9fr) !important;
    overflow: hidden !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
}

.qrf-feature-card::before {
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    background-image:
        url("../img/decor/food-sketch-light.svg"),
        url("../img/decor/cloche-line.svg"),
        url("../img/decor/chef-tools-watermark.svg") !important;
    background-position:
        left -12px bottom -10px,
        58% 45%,
        right -32px top -18px !important;
    background-size:
        78% 76%,
        164px 108px,
        132px 162px !important;
    background-repeat: no-repeat !important;
    opacity: .32 !important;
    transform: none !important;
}

.qrf-feature-card::after {
    right: 118px !important;
    bottom: -34px !important;
    top: auto !important;
    width: 130px !important;
    height: 138px !important;
    background: url("../img/decor/plate-line.svg") center / contain no-repeat !important;
    opacity: .18 !important;
    transform: rotate(-10deg) !important;
}

.qrf-feature-card__media {
    overflow: visible !important;
    padding: 28px 8px 18px 0 !important;
}

.qrf-feature-card__media img {
    width: min(44vw, 204px) !important;
    height: min(44vw, 194px) !important;
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translateX(0) rotate(-3deg) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    filter: drop-shadow(0 18px 18px rgba(67, 30, 24, .22)) !important;
}

.qrf-product-page {
    background: #f7f2ea !important;
}

.qrf-product-hero {
    height: 430px !important;
    min-height: 430px !important;
    overflow: hidden !important;
    background-color: #f7f2ea !important;
    background-image:
        url("../img/decor/plate-line.svg"),
        url("../img/decor/herbs-line.svg"),
        radial-gradient(ellipse at 50% 36%, rgba(255, 255, 255, .72) 0 34%, rgba(255, 255, 255, 0) 67%),
        linear-gradient(180deg, #fbf7ef 0%, #f7f2ea 58%, #f1e9dd 100%) !important;
    background-position:
        -68px 262px,
        calc(100% - 28px) 282px,
        center,
        center !important;
    background-repeat: no-repeat !important;
    background-size:
        172px 172px,
        118px 154px,
        auto,
        auto !important;
}

.qrf-product-hero::before {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    top: 26px !important;
    right: -10px !important;
    bottom: auto !important;
    left: auto !important;
    width: 238px !important;
    height: 328px !important;
    pointer-events: none !important;
    background: url("../img/decor/cutlery-line.svg") center / contain no-repeat !important;
    opacity: .30 !important;
    transform: rotate(13deg) !important;
    filter: none !important;
}

.qrf-product-hero::after {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    top: 94px !important;
    left: -38px !important;
    right: auto !important;
    bottom: auto !important;
    width: 168px !important;
    height: 226px !important;
    pointer-events: none !important;
    background: url("../img/decor/herbs-line.svg") center / contain no-repeat !important;
    opacity: .28 !important;
    transform: rotate(-22deg) !important;
    filter: none !important;
}

.qrf-product-hero > img,
.qrf-product-hero--floating > img {
    inset: 94px auto auto 50% !important;
    z-index: 3 !important;
    width: min(95%, 388px) !important;
    height: 292px !important;
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translateX(-50%) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    filter: drop-shadow(0 22px 20px rgba(42, 37, 28, .18)) !important;
}

.qrf-product-hero--cover > img {
    inset: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    object-position: center !important;
    transform: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    filter: none !important;
}

.qrf-product-hero--cover .qrf-floating-button,
.qrf-product-hero--floating .qrf-floating-button {
    z-index: 6 !important;
}

.qrf-product-sheet {
    margin-top: -34px !important;
    background: #f8f3eb !important;
}

@media (max-width: 380px) {
    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 58px !important;
        height: 58px !important;
        flex-basis: 58px !important;
    }

    .qrf-home-page::before {
        top: 122px !important;
        right: 2px !important;
        width: 186px !important;
        height: 122px !important;
    }

    .qrf-feature-card {
        grid-template-columns: minmax(0, 1fr) minmax(132px, .88fr) !important;
    }

    .qrf-feature-card__media img {
        width: min(43vw, 176px) !important;
        height: min(43vw, 172px) !important;
    }

    .qrf-product-hero {
        height: 404px !important;
        min-height: 404px !important;
        background-position:
            -72px 248px,
            calc(100% - 22px) 270px,
            center,
            center !important;
        background-size:
            160px 160px,
            106px 142px,
            auto,
            auto !important;
    }

    .qrf-product-hero::before {
        top: 32px !important;
        right: -44px !important;
        width: 220px !important;
        height: 304px !important;
    }

    .qrf-product-hero::after {
        top: 100px !important;
        left: -52px !important;
        width: 154px !important;
        height: 208px !important;
    }

    .qrf-product-hero > img,
    .qrf-product-hero--floating > img {
        inset: 92px auto auto 50% !important;
        width: min(96%, 340px) !important;
        height: 260px !important;
    }
}

/* QRresta Flow source-image cleanup v1.0.11 */
.qrf-product-hero__shape,
.qrf-product-hero .qrf-shape,
.qrf-feature-card .qrf-shape {
    display: none !important;
}

.qrf-feature-card__media img,
.qrf-menu-feature-image img {
    -webkit-mask-image: radial-gradient(ellipse 50% 43% at 52% 54%, #000 0 72%, transparent 78%) !important;
    mask-image: radial-gradient(ellipse 50% 43% at 52% 54%, #000 0 72%, transparent 78%) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
}

.qrf-feature-card__media img {
    transform: translateX(7px) rotate(-3deg) !important;
}

.qrf-product-hero--floating > img {
    -webkit-mask-image: radial-gradient(ellipse 49% 42% at 52% 56%, #000 0 73%, transparent 79%) !important;
    mask-image: radial-gradient(ellipse 49% 42% at 52% 56%, #000 0 73%, transparent 79%) !important;
    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;
}

.qrf-product-hero--cover > img {
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* QRresta Flow final proportion pass v1.0.12 */
.qrf-topbar.qrf-brand-header {
    width: 100% !important;
    min-width: 0 !important;
}

.qrf-topbar .qrf-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.qrf-language-switch.qrf-language-switcher {
    flex: 0 0 auto !important;
}

.qrf-brand-copy,
.qrf-brand__copy {
    min-width: 0 !important;
}

.qrf-brand-copy strong,
.qrf-brand__copy strong,
.qrf-brand-copy small,
.qrf-brand__copy small {
    max-width: min(178px, calc(100vw - 184px)) !important;
}

.qrf-feature-card__media img {
    width: min(52vw, 238px) !important;
    height: min(52vw, 226px) !important;
    transform: translateX(4px) rotate(-3deg) !important;
}

.qrf-product-hero {
    background-color: #f6efe5 !important;
    background-image:
        url("../img/decor/plate-line.svg"),
        url("../img/decor/herbs-line.svg"),
        radial-gradient(ellipse at 50% 35%, rgba(255, 253, 248, .52) 0 34%, rgba(255, 253, 248, 0) 67%),
        linear-gradient(180deg, #faf5ec 0%, #f6efe5 58%, #efe6d8 100%) !important;
}

.qrf-product-hero--floating > img {
    inset: 62px auto auto 50% !important;
    width: min(105%, 430px) !important;
    height: 330px !important;
}

@media (max-width: 380px) {
    .qrf-brand-copy strong,
    .qrf-brand__copy strong,
    .qrf-brand-copy small,
    .qrf-brand__copy small {
        max-width: min(142px, calc(100vw - 174px)) !important;
    }

    .qrf-feature-card__media img {
        width: min(51vw, 206px) !important;
        height: min(51vw, 198px) !important;
        transform: translateX(2px) rotate(-3deg) !important;
    }

    .qrf-product-hero--floating > img {
        inset: 58px auto auto 50% !important;
        width: min(106%, 376px) !important;
        height: 302px !important;
    }
}

/* QRresta Flow viewport containment v1.0.13 */
.qrf-feature-card {
    width: min(404px, calc(100vw - 36px)) !important;
    flex: 0 0 min(404px, calc(100vw - 36px)) !important;
}

.qrf-bottom-nav {
    right: max(22px, calc((100vw - 440px) / 2 + 22px)) !important;
    left: max(22px, calc((100vw - 440px) / 2 + 22px)) !important;
    width: auto !important;
    transform: none !important;
}

.qrf-product-action.qrf-product-action-bar {
    right: max(14px, calc((100vw - 440px) / 2 + 14px)) !important;
    left: max(14px, calc((100vw - 440px) / 2 + 14px)) !important;
    width: auto !important;
    transform: none !important;
}

@media (max-width: 380px) {
    .qrf-topbar.qrf-brand-header {
        gap: 8px !important;
    }

    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 54px !important;
        height: 54px !important;
        flex-basis: 54px !important;
    }

    .qrf-logo-mark,
    .qrf-brand__mark {
        width: 48px !important;
        height: 48px !important;
        flex-basis: 48px !important;
    }

    .qrf-language,
    .qrf-language-switcher__item {
        min-width: 25px !important;
        padding: 0 5px !important;
    }
}

/* QRresta Flow hard viewport lock v1.0.14 */
html,
body,
.qrf-document {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

.qrf-root.qrf-app-shell {
    width: 100% !important;
    max-width: min(100%, 440px) !important;
}

.qrf-page,
.qrf-home-page,
.qrf-menu-page,
.qrf-product-page {
    width: 100% !important;
    max-width: 100% !important;
}

.qrf-feature-track {
    max-width: calc(100vw + 0px) !important;
}

.qrf-feature-card {
    width: min(404px, calc(100vw - 36px), 100%) !important;
    flex-basis: min(404px, calc(100vw - 36px), 100%) !important;
}

/* QRresta Flow narrow-screen no-crop v1.0.15 */
@media (max-width: 480px) {
    .qrf-root.qrf-app-shell {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        border-radius: 0 !important;
    }

    .qrf-feature-card {
        width: calc(100vw - 36px) !important;
        flex-basis: calc(100vw - 36px) !important;
        grid-template-columns: minmax(0, 1fr) minmax(126px, .78fr) !important;
    }

    .qrf-feature-card__media img {
        width: min(45vw, 192px) !important;
        height: min(45vw, 184px) !important;
        transform: translateX(-4px) rotate(-3deg) !important;
    }

    .qrf-product-title.qrf-product-title-row {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px !important;
        align-items: start !important;
    }

    .qrf-product-title.qrf-product-title-row > div {
        min-width: 0 !important;
    }

    .qrf-product-title.qrf-product-title-row > strong {
        max-width: 112px !important;
        text-align: right !important;
        white-space: normal !important;
    }

    .qrf-product-action.qrf-product-action-bar {
        right: 12px !important;
        left: 12px !important;
    }
}

/* QRresta Flow phone-width lock v1.0.16 */
.qrf-root.qrf-app-shell {
    width: min(100%, 390px) !important;
    max-width: 390px !important;
}

.qrf-feature-card {
    width: min(354px, calc(100vw - 36px)) !important;
    flex-basis: min(354px, calc(100vw - 36px)) !important;
}

.qrf-feature-card__media img {
    width: min(180px, 44vw) !important;
    height: min(174px, 44vw) !important;
    transform: translateX(-2px) rotate(-3deg) !important;
}

.qrf-bottom-nav {
    right: auto !important;
    left: 50% !important;
    width: min(354px, calc(100vw - 36px)) !important;
    transform: translateX(-50%) !important;
}

.qrf-product-action.qrf-product-action-bar {
    right: auto !important;
    left: 50% !important;
    width: min(362px, calc(100vw - 28px)) !important;
    transform: translateX(-50%) !important;
}

/* QRresta Flow slider snap cleanup v1.0.17 */
.qrf-feature-slider {
    overflow: hidden !important;
}

.qrf-feature-track {
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 0 7px !important;
    scroll-padding-inline: 0 !important;
}

.qrf-feature-card {
    width: 100% !important;
    flex: 0 0 100% !important;
}

/* QRresta Flow width and no-crop repair v1.0.18 */
.qrf-root.qrf-app-shell {
    width: min(100%, 440px) !important;
    max-width: 440px !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.qrf-feature-slider {
    overflow: hidden !important;
}

.qrf-feature-track {
    width: 100% !important;
    max-width: 100% !important;
}

.qrf-feature-card {
    width: 100% !important;
    flex: 0 0 100% !important;
    grid-template-columns: minmax(0, 1fr) minmax(138px, .86fr) !important;
}

.qrf-feature-card__media {
    overflow: visible !important;
    padding: 26px 8px 18px 0 !important;
}

.qrf-feature-card__media img,
.qrf-menu-feature-image img {
    width: min(43vw, 196px) !important;
    height: min(43vw, 188px) !important;
    max-width: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: translateX(0) rotate(-3deg) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    filter: drop-shadow(0 18px 18px rgba(67, 30, 24, .18)) !important;
}

.qrf-product-hero > img,
.qrf-product-hero--cover > img,
.qrf-product-hero--floating > img {
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

.qrf-product-hero--floating > img {
    inset: 58px auto auto 50% !important;
    width: min(94%, 404px) !important;
    height: 332px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    filter: drop-shadow(0 22px 20px rgba(42, 37, 28, .18)) !important;
}

.qrf-product-hero--cover > img {
    inset: 22px auto auto 50% !important;
    width: min(94%, 404px) !important;
    height: 360px !important;
    max-width: none !important;
    transform: translateX(-50%) !important;
    filter: drop-shadow(0 22px 20px rgba(42, 37, 28, .18)) !important;
}

.qrf-bottom-nav {
    right: max(12px, calc((100vw - 440px) / 2 + 12px)) !important;
    left: max(12px, calc((100vw - 440px) / 2 + 12px)) !important;
    width: auto !important;
    transform: none !important;
}

.qrf-product-action.qrf-product-action-bar {
    right: max(12px, calc((100vw - 440px) / 2 + 12px)) !important;
    left: max(12px, calc((100vw - 440px) / 2 + 12px)) !important;
    width: auto !important;
    transform: none !important;
}

@media (max-width: 480px) {
    .qrf-root.qrf-app-shell {
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
    }

    .qrf-feature-card {
        grid-template-columns: minmax(0, 1fr) minmax(124px, .78fr) !important;
    }

    .qrf-feature-card__media img,
    .qrf-menu-feature-image img {
        width: min(42vw, 178px) !important;
        height: min(42vw, 170px) !important;
        transform: translateX(0) rotate(-3deg) !important;
    }

    .qrf-product-hero--floating > img,
    .qrf-product-hero--cover > img {
        inset: 66px auto auto 50% !important;
        width: min(94%, 360px) !important;
        height: 290px !important;
    }
}

/* QRresta Flow chef-selection sketch v1.0.19 */
.qrf-feature-card::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    pointer-events: none !important;
    background: url("../img/decor/chef-selection-sketch.svg") center center / 112% 108% no-repeat !important;
    opacity: .66 !important;
    transform: none !important;
    filter: none !important;
}

.qrf-feature-card::after {
    display: none !important;
    content: none !important;
}

.qrf-feature-card > * {
    position: relative !important;
    z-index: 2 !important;
}

/* QRresta Flow chef card reference blend v1.0.20 */
.qrf-feature-card::before {
    background-position: center center !important;
    background-size: 100% 100% !important;
    opacity: .86 !important;
}

.qrf-feature-card__media img {
    mix-blend-mode: multiply !important;
}

/* QRresta Flow chef card original decor composition v1.0.21 */
.qrf-feature-card::before {
    background-image:
        url("../img/decor/food-sketch-light.svg"),
        url("../img/decor/chef-tools-watermark.svg"),
        url("../img/decor/plate-cutlery-watermark.svg") !important;
    background-position:
        center center,
        right 74px top 18px,
        left 8px bottom 8px !important;
    background-size:
        112% 112%,
        112px 112px,
        138px 138px !important;
    background-repeat: no-repeat !important;
    opacity: .56 !important;
    filter: brightness(0) invert(1) !important;
}

.qrf-feature-card::after {
    display: block !important;
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    top: -36px !important;
    right: -26px !important;
    width: 150px !important;
    height: 190px !important;
    pointer-events: none !important;
    background: url("../img/decor/fork-knife-watermark.svg") center / contain no-repeat !important;
    opacity: .18 !important;
    filter: brightness(0) invert(1) !important;
    transform: rotate(18deg) !important;
}

/* QRresta Flow chef card reference cleanup v1.0.22 */
.qrf-feature-card::before {
    background-image:
        url("../img/decor/food-sketch-light.svg"),
        url("../img/decor/chef-tools-watermark.svg") !important;
    background-position:
        center center,
        right 76px top 18px !important;
    background-size:
        108% 108%,
        112px 112px !important;
    opacity: .54 !important;
}

/* QRresta Flow product fit, logo scale and table-toggle polish v1.0.23 */
.qrf-logo-image,
.qrf-brand__logo-image {
    width: 78px !important;
    height: 78px !important;
    flex: 0 0 78px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
}

.qrf-logo-mark,
.qrf-brand__mark {
    width: 60px !important;
    height: 60px !important;
    flex: 0 0 60px !important;
}

.qrf-topbar.qrf-brand-header {
    gap: 12px !important;
}

.qrf-brand {
    gap: 10px !important;
}

.qrf-brand-copy strong,
.qrf-brand__copy strong,
.qrf-brand-copy small,
.qrf-brand__copy small {
    max-width: min(174px, calc(100vw - 210px)) !important;
}

.qrf-product-hero {
    height: 440px !important;
    min-height: 440px !important;
}

.qrf-product-hero > img,
.qrf-product-hero--cover > img,
.qrf-product-hero--floating > img {
    inset: 50px auto auto 50% !important;
    width: min(calc(100% - 44px), 376px) !important;
    height: 346px !important;
    max-width: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    transform: translateX(-50%) !important;
    filter: drop-shadow(0 24px 22px rgba(42, 37, 28, .16)) !important;
}

.qrf-product-hero--floating > img {
    transform: translateX(-50%) rotate(-1deg) !important;
}

.qrf-product-hero .qrf-floating-button--left {
    left: 18px !important;
}

.qrf-product-hero .qrf-floating-button--right {
    right: 18px !important;
}

.qrf-product-sheet {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.qrf-product-title.qrf-product-title-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(86px, auto) !important;
    gap: 10px !important;
    align-items: start !important;
}

.qrf-product-title.qrf-product-title-row > div {
    min-width: 0 !important;
}

.qrf-product-title.qrf-product-title-row h1 {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
}

.qrf-product-title.qrf-product-title-row > strong {
    justify-self: end !important;
    max-width: 118px !important;
    text-align: right !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 380px) {
    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 70px !important;
        height: 70px !important;
        flex-basis: 70px !important;
    }

    .qrf-logo-mark,
    .qrf-brand__mark {
        width: 54px !important;
        height: 54px !important;
        flex-basis: 54px !important;
    }

    .qrf-brand-copy strong,
    .qrf-brand__copy strong,
    .qrf-brand-copy small,
    .qrf-brand__copy small {
        max-width: min(132px, calc(100vw - 198px)) !important;
    }

    .qrf-product-hero {
        height: 414px !important;
        min-height: 414px !important;
    }

    .qrf-product-hero > img,
    .qrf-product-hero--cover > img,
    .qrf-product-hero--floating > img {
        inset: 56px auto auto 50% !important;
        width: min(calc(100% - 40px), 336px) !important;
        height: 312px !important;
    }

    .qrf-product-title.qrf-product-title-row > strong {
        max-width: 104px !important;
        font-size: 16px !important;
    }
}

/* QRresta Flow final logo and product-detail fit v1.0.24 */
.qrf-logo-image,
.qrf-brand__logo-image {
    width: 94px !important;
    height: 94px !important;
    flex: 0 0 94px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
}

.qrf-logo-mark,
.qrf-brand__mark {
    width: 68px !important;
    height: 68px !important;
    flex: 0 0 68px !important;
}

.qrf-brand {
    gap: 8px !important;
}

.qrf-brand-copy strong,
.qrf-brand__copy strong,
.qrf-brand-copy small,
.qrf-brand__copy small {
    max-width: min(150px, calc(100vw - 226px)) !important;
}

.qrf-product-hero {
    height: 448px !important;
    min-height: 448px !important;
}

.qrf-product-hero > img,
.qrf-product-hero--cover > img,
.qrf-product-hero--floating > img {
    inset: 48px 18px auto 18px !important;
    width: auto !important;
    max-width: none !important;
    height: 352px !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    transform: none !important;
    filter: drop-shadow(0 24px 22px rgba(42, 37, 28, .16)) !important;
}

.qrf-product-hero--floating > img {
    transform: none !important;
}

@media (max-width: 480px) {
    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 88px !important;
        height: 88px !important;
        flex-basis: 88px !important;
    }

    .qrf-logo-mark,
    .qrf-brand__mark {
        width: 64px !important;
        height: 64px !important;
        flex-basis: 64px !important;
    }

    .qrf-brand-copy strong,
    .qrf-brand__copy strong,
    .qrf-brand-copy small,
    .qrf-brand__copy small {
        max-width: min(136px, calc(100vw - 220px)) !important;
    }

    .qrf-product-hero {
        height: 430px !important;
        min-height: 430px !important;
    }

    .qrf-product-hero > img,
    .qrf-product-hero--cover > img,
    .qrf-product-hero--floating > img {
        inset: 54px 16px auto 16px !important;
        width: auto !important;
        height: 322px !important;
    }
}

@media (max-width: 380px) {
    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 84px !important;
        height: 84px !important;
        flex-basis: 84px !important;
    }

    .qrf-logo-mark,
    .qrf-brand__mark {
        width: 60px !important;
        height: 60px !important;
        flex-basis: 60px !important;
    }

    .qrf-brand-copy strong,
    .qrf-brand__copy strong,
    .qrf-brand-copy small,
    .qrf-brand__copy small {
        max-width: min(112px, calc(100vw - 210px)) !important;
    }

    .qrf-product-hero {
        height: 414px !important;
        min-height: 414px !important;
    }

    .qrf-product-hero > img,
    .qrf-product-hero--cover > img,
    .qrf-product-hero--floating > img {
        inset: 58px 14px auto 14px !important;
        width: auto !important;
        height: 306px !important;
    }
}

/* QRresta Flow product detail full-bleed photo v1.0.25 */
.qrf-product-hero {
    height: 448px !important;
    min-height: 448px !important;
    background: #f8f4ec !important;
}

.qrf-product-hero > img,
.qrf-product-hero--cover > img,
.qrf-product-hero--floating > img {
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    transform: none !important;
    filter: none !important;
}

.qrf-product-hero--floating > img {
    transform: none !important;
}

@media (max-width: 480px) {
    .qrf-product-hero {
        height: 430px !important;
        min-height: 430px !important;
    }
}

@media (max-width: 380px) {
    .qrf-product-hero {
        height: 414px !important;
        min-height: 414px !important;
    }
}

.qrf-representative-badge {
    position: absolute;
    z-index: 6;
    right: 16px;
    bottom: 48px;
    max-width: calc(100% - 32px);
    padding: 7px 9px;
    border: 1px solid rgba(23, 24, 29, .12);
    border-radius: 7px;
    background: rgba(255, 254, 251, .9);
    box-shadow: 0 5px 18px rgba(23, 24, 29, .14);
    color: var(--qrf-ink);
    font-size: 9px;
    font-weight: 700;
    line-height: 1.2;
    backdrop-filter: blur(10px);
}

/* QRresta Flow stacked brand header v1.0.26 */
.qrf-topbar.qrf-brand-header {
    align-items: flex-start !important;
    gap: 14px !important;
}

.qrf-topbar .qrf-brand,
.qrf-brand {
    display: inline-flex !important;
    flex: 0 1 min(250px, calc(100vw - 124px)) !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    max-width: min(250px, calc(100vw - 124px)) !important;
}

.qrf-brand-copy,
.qrf-brand__copy {
    display: grid !important;
    justify-items: start !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
}

.qrf-brand-copy strong,
.qrf-brand__copy strong,
.qrf-brand-copy small,
.qrf-brand__copy small {
    max-width: min(230px, calc(100vw - 132px)) !important;
    white-space: normal !important;
    text-overflow: clip !important;
}

.qrf-brand-copy strong,
.qrf-brand__copy strong {
    line-height: 1.12 !important;
}

.qrf-brand-copy small,
.qrf-brand__copy small {
    margin-top: 3px !important;
    line-height: 1.2 !important;
}

.qrf-language-switch,
.qrf-language-switcher {
    flex: 0 0 auto !important;
    margin-top: 6px !important;
    max-width: 92px !important;
    transform: none !important;
}

.qrf-language,
.qrf-language-switcher__item {
    min-width: 24px !important;
    padding: 0 5px !important;
}

@media (max-width: 380px) {
    .qrf-topbar.qrf-brand-header {
        gap: 10px !important;
    }

    .qrf-topbar .qrf-brand,
    .qrf-brand {
        flex-basis: min(220px, calc(100vw - 116px)) !important;
        max-width: min(220px, calc(100vw - 116px)) !important;
    }

    .qrf-brand-copy strong,
    .qrf-brand__copy strong,
    .qrf-brand-copy small,
    .qrf-brand__copy small {
        max-width: min(206px, calc(100vw - 124px)) !important;
    }

    .qrf-language,
    .qrf-language-switcher__item {
        min-width: 23px !important;
        padding: 0 4px !important;
    }
}

/* QRresta Flow brand/add-button polish v1.0.27 */
.qrf-topbar.qrf-brand-header {
    gap: 12px !important;
}

.qrf-topbar .qrf-brand,
.qrf-brand {
    gap: 0 !important;
}

.qrf-brand-copy,
.qrf-brand__copy {
    gap: 0 !important;
    row-gap: 0 !important;
    margin-top: 0 !important;
}

.qrf-brand-copy strong,
.qrf-brand__copy strong {
    margin: 0 !important;
    line-height: 1.04 !important;
}

.qrf-brand-copy small,
.qrf-brand__copy small {
    margin-top: 0 !important;
    line-height: 1.06 !important;
}

.qrf-add-circle,
[data-add-to-cart] {
    cursor: pointer !important;
    pointer-events: auto !important;
}

[data-product-card-link] {
    cursor: pointer;
}

.qrf-favorite-card > .qrf-favorite-card__add {
    top: 50% !important;
    right: 14px !important;
    bottom: auto !important;
    display: grid !important;
    width: 35px !important;
    min-width: 35px !important;
    height: 35px !important;
    min-height: 35px !important;
    padding: 0 !important;
    place-items: center !important;
    border: 1px solid rgba(244, 78, 66, 0.45) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #19191D !important;
    box-shadow: 0 10px 24px rgba(25, 25, 29, 0.1) !important;
    transform: translateY(-50%) !important;
}

.qrf-favorite-card > .qrf-favorite-card__add .qrf-icon {
    width: 16px !important;
    height: 16px !important;
}

/* QRresta Flow option picker and bottom-right add buttons v1.0.28 */
.qrf-product-card > .qrf-add-circle[data-add-to-cart] {
    position: absolute !important;
    right: 12px !important;
    bottom: 12px !important;
    z-index: 10 !important;
}

.qrf-product-card .qrf-product-card__body,
.qrf-product-body.qrf-product-card__body {
    padding-right: 52px !important;
    padding-bottom: 13px !important;
}

.qrf-favorite-card > .qrf-favorite-card__add {
    top: auto !important;
    right: 14px !important;
    bottom: 14px !important;
    transform: none !important;
}

.qrf-option-sheet {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.qrf-option-sheet__groups {
    display: grid;
    gap: 14px;
    margin: 18px 0 14px;
}

.qrf-option-sheet__group {
    display: grid;
    gap: 9px;
    padding-top: 2px;
}

.qrf-option-sheet__group + .qrf-option-sheet__group {
    padding-top: 15px;
    border-top: 1px solid rgba(25, 25, 29, 0.08);
}

.qrf-option-sheet__group-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
}

.qrf-option-sheet__group-head h3 {
    margin: 0;
    color: #19191D;
    font-size: 13px;
    font-weight: 850;
}

.qrf-option-sheet__group-head small {
    flex: 0 0 auto;
    color: #8B857A;
    font-size: 8px;
    font-weight: 800;
}

.qrf-option-sheet__choices {
    display: grid;
    gap: 8px;
}

.qrf-option-sheet__choice {
    display: grid;
    min-height: 46px;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    padding: 9px 11px;
    border: 1px solid rgba(25, 25, 29, 0.08);
    border-radius: 14px;
    color: #19191D;
    background: rgba(255, 252, 247, 0.9);
    cursor: pointer;
}

.qrf-option-sheet__choice:has(input:checked) {
    border-color: rgba(244, 78, 66, 0.5);
    background: color-mix(in srgb, var(--qrf-accent), white 91%);
}

.qrf-option-sheet__choice input {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: var(--qrf-accent);
}

.qrf-option-sheet__choice span {
    overflow: hidden;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qrf-option-sheet__choice strong {
    color: var(--qrf-accent);
    font-size: 9px;
    font-weight: 850;
    white-space: nowrap;
}

.qrf-option-sheet__footer {
    position: sticky;
    bottom: calc(-18px - env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(142px, auto);
    align-items: center;
    gap: 12px;
    margin: 8px -18px calc(-18px - env(safe-area-inset-bottom));
    padding: 12px 18px calc(18px + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(25, 25, 29, 0.08);
    background: rgba(255, 252, 247, 0.96);
    box-shadow: 0 -14px 28px rgba(42, 35, 28, 0.08);
}

.qrf-option-sheet__footer > strong {
    color: #19191D;
    font-size: 18px;
    font-weight: 900;
}

.qrf-option-sheet__confirm {
    justify-content: center !important;
}

@media (max-width: 380px) {
    .qrf-product-card > .qrf-add-circle[data-add-to-cart] {
        right: 10px !important;
        bottom: 10px !important;
    }

    .qrf-product-card .qrf-product-card__body,
    .qrf-product-body.qrf-product-card__body {
        padding-right: 48px !important;
    }

    .qrf-option-sheet__choice {
        grid-template-columns: 20px minmax(0, 1fr) auto;
        gap: 7px;
        padding-inline: 9px;
    }
}

/* QRresta Flow brand row header v1.0.29 */
.qrf-topbar.qrf-brand-header {
    align-items: flex-start !important;
    gap: 8px !important;
    padding-top: calc(8px + env(safe-area-inset-top)) !important;
    padding-bottom: 10px !important;
}

.qrf-topbar .qrf-brand,
.qrf-brand {
    display: inline-flex !important;
    flex: 1 1 auto !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    max-width: min(266px, calc(100vw - 140px)) !important;
    min-width: 0 !important;
}

.qrf-logo-image,
.qrf-brand__logo-image {
    width: 106px !important;
    height: 106px !important;
    flex: 0 0 106px !important;
    object-fit: contain !important;
}

.qrf-logo-mark,
.qrf-brand__mark {
    width: 74px !important;
    height: 74px !important;
    flex: 0 0 74px !important;
}

.qrf-brand-copy,
.qrf-brand__copy {
    align-self: flex-start !important;
    display: grid !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: min(148px, calc(100vw - 252px)) !important;
    gap: 0 !important;
    padding-top: 6px !important;
    text-align: left !important;
}

.qrf-brand-copy strong,
.qrf-brand__copy strong,
.qrf-brand-copy small,
.qrf-brand__copy small {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.qrf-brand-copy strong,
.qrf-brand__copy strong {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.08 !important;
}

.qrf-brand-copy small,
.qrf-brand__copy small {
    margin-top: 2px !important;
    font-size: 9px !important;
    line-height: 1.12 !important;
}

.qrf-language-switch,
.qrf-language-switcher {
    margin-top: 9px !important;
}

@media (max-width: 480px) {
    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 100px !important;
        height: 100px !important;
        flex-basis: 100px !important;
    }

    .qrf-topbar .qrf-brand,
    .qrf-brand {
        max-width: min(246px, calc(100vw - 140px)) !important;
        gap: 8px !important;
    }

    .qrf-brand-copy,
    .qrf-brand__copy {
        max-width: min(134px, calc(100vw - 248px)) !important;
    }
}

@media (max-width: 380px) {
    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 92px !important;
        height: 92px !important;
        flex-basis: 92px !important;
    }

    .qrf-topbar .qrf-brand,
    .qrf-brand {
        max-width: min(226px, calc(100vw - 136px)) !important;
        gap: 7px !important;
    }

    .qrf-brand-copy,
    .qrf-brand__copy {
        max-width: min(116px, calc(100vw - 236px)) !important;
        padding-top: 5px !important;
    }

    .qrf-language-switch,
    .qrf-language-switcher {
        max-width: 86px !important;
    }
}

/* QRresta Flow header and add-button alignment v1.0.30 */
.qrf-topbar.qrf-brand-header {
    align-items: center !important;
    gap: 8px !important;
    padding-top: calc(6px + env(safe-area-inset-top)) !important;
    padding-bottom: 8px !important;
}

.qrf-topbar .qrf-brand,
.qrf-brand {
    align-items: center !important;
    max-width: min(274px, calc(100vw - 138px)) !important;
}

.qrf-brand-copy,
.qrf-brand__copy {
    align-self: center !important;
    max-width: min(156px, calc(100vw - 252px)) !important;
    padding-top: 0 !important;
}

.qrf-language-switch,
.qrf-language-switcher {
    align-self: center !important;
    margin-top: 0 !important;
}

.qrf-product-card > .qrf-add-circle[data-add-to-cart] {
    right: 8px !important;
    bottom: 8px !important;
}

.qrf-product-card .qrf-product-card__body,
.qrf-product-body.qrf-product-card__body {
    padding-right: 42px !important;
    padding-bottom: 11px !important;
}

.qrf-product-card .qrf-product-body p,
.qrf-product-card__body p {
    max-width: none !important;
}

.qrf-favorite-card > .qrf-favorite-card__add {
    right: 10px !important;
    bottom: 10px !important;
}

@media (max-width: 480px) {
    .qrf-topbar .qrf-brand,
    .qrf-brand {
        max-width: min(254px, calc(100vw - 134px)) !important;
    }

    .qrf-brand-copy,
    .qrf-brand__copy {
        max-width: min(142px, calc(100vw - 244px)) !important;
    }
}

@media (max-width: 380px) {
    .qrf-topbar .qrf-brand,
    .qrf-brand {
        max-width: min(232px, calc(100vw - 140px)) !important;
    }

    .qrf-brand-copy,
    .qrf-brand__copy {
        max-width: min(124px, calc(100vw - 238px)) !important;
    }

    .qrf-product-card > .qrf-add-circle[data-add-to-cart] {
        right: 8px !important;
        bottom: 8px !important;
    }

    .qrf-product-card .qrf-product-card__body,
    .qrf-product-body.qrf-product-card__body {
        padding-right: 40px !important;
    }
}

/* QRresta Flow cart note field v1.0.31 */
.qrf-cart-note-field {
    display: grid;
    gap: 7px;
    margin: 12px 0 14px;
}

.qrf-cart-note-field > span {
    color: #19191D;
    font-size: 10px;
    font-weight: 850;
}

.qrf-cart-note-field textarea {
    width: 100%;
    min-height: 78px;
    max-height: 132px;
    resize: vertical;
    padding: 11px 12px;
    border: 1px solid rgba(25, 25, 29, 0.1);
    border-radius: 15px;
    outline: none;
    color: #19191D;
    background: rgba(255, 252, 247, 0.92);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
    font: inherit;
    font-size: 11px;
    line-height: 1.35;
}

.qrf-cart-note-field textarea::placeholder {
    color: #9A9388;
}

.qrf-cart-note-field textarea:focus {
    border-color: rgba(244, 78, 66, 0.5);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--qrf-accent), transparent 84%);
}

.qrf-cart-note-field small {
    color: #8B857A;
    font-size: 8px;
    font-weight: 700;
    line-height: 1.35;
}

/* QRresta Flow menu search no-zoom v1.0.32 */
.qrf-search input,
.qrf-search-box input,
.qrf-search input:focus,
.qrf-search-box input:focus,
input[data-menu-search],
input[data-menu-search]:focus {
    min-height: 20px !important;
    font-size: 16px !important;
    line-height: 20px !important;
    letter-spacing: 0 !important;
}

.qrf-search input::placeholder,
.qrf-search-box input::placeholder,
input[data-menu-search]::placeholder {
    font-size: 12px !important;
    line-height: 20px !important;
}

/* QRresta Flow menu chips, note no-zoom and compact header v1.0.33 */
.qrf-cart-note-field textarea,
.qrf-cart-note-field textarea:focus,
textarea[data-cart-note],
textarea[data-cart-note]:focus {
    min-height: 82px !important;
    font-size: 16px !important;
    line-height: 21px !important;
    letter-spacing: 0 !important;
}

.qrf-cart-note-field textarea::placeholder,
textarea[data-cart-note]::placeholder {
    font-size: 12px !important;
    line-height: 21px !important;
}

.qrf-topbar.qrf-brand-header {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

.qrf-topbar.qrf-brand-header + .qrf-discovery-intro,
.qrf-topbar.qrf-brand-header + .qrf-menu-heading {
    padding-top: 6px !important;
}

.qrf-category-strip.qrf-category-scroll {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin: 13px -18px 0 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 18px 6px 0 !important;
    scroll-padding: 18px !important;
    scroll-snap-type: x proximity !important;
    scrollbar-width: none !important;
}

.qrf-category-strip.qrf-category-scroll::-webkit-scrollbar {
    display: none !important;
}

.qrf-category-chip {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: max-content !important;
    min-height: 34px !important;
    max-width: none !important;
    gap: 8px !important;
    padding: 8px 13px !important;
    border: 1px solid var(--qrf-line) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .68) !important;
    color: var(--qrf-ink) !important;
    box-shadow: none !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    scroll-snap-align: start !important;
}

.qrf-category-chip.is-active {
    border-color: var(--qrf-ink) !important;
    background: var(--qrf-ink) !important;
    color: #fff !important;
}

.qrf-category-chip.is-active * {
    color: #fff !important;
}

/* QRresta Flow product detail bottom cleanup final v1.0.34 */
.qrf-screen-product .qrf-product-page {
    padding-bottom: 0 !important;
}

.qrf-screen-product .qrf-product-sheet {
    padding-bottom: 18px !important;
}

.qrf-screen-product .qrf-product-sheet__spacer {
    display: none !important;
    height: 0 !important;
}

.qrf-screen-product .qrf-site-footer {
    padding-top: 10px !important;
    padding-bottom: calc(76px + var(--qrf-safe-bottom)) !important;
}

/* QRresta Flow product description width fix */
.qrf-product-list .qrf-product-card {
    grid-template-columns: 88px minmax(0, 1fr) !important;
}

.qrf-product-list .qrf-product-card .qrf-product-card__body,
.qrf-product-list .qrf-product-body.qrf-product-card__body {
    padding-right: 0 !important;
}

.qrf-product-list .qrf-product-card .qrf-product-body p,
.qrf-product-list .qrf-product-card__body p {
    width: calc(100% - 46px) !important;
    max-width: calc(100% - 46px) !important;
    padding-right: 0 !important;
}

.qrf-product-list .qrf-product-card .qrf-price {
    display: block;
    padding-right: 46px;
}

@media (max-width: 380px) {
    .qrf-product-list .qrf-product-card {
        grid-template-columns: 78px minmax(0, 1fr) !important;
    }

    .qrf-product-list .qrf-product-card .qrf-price {
        padding-right: 42px;
    }

    .qrf-product-list .qrf-product-card .qrf-product-body p,
    .qrf-product-list .qrf-product-card__body p {
        width: calc(100% - 42px) !important;
        max-width: calc(100% - 42px) !important;
    }
}

/* QRresta Flow time greeting visual fix */
.qrf-status-line.qrf-eyebrow-blue {
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #F2493F !important;
}

.qrf-status-line.qrf-eyebrow-blue [data-time-greeting] {
    color: #F2493F !important;
}

/* QRresta Flow chef selection custom SVG icons */
.qrf-feature-card::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    inset: 0 !important;
    pointer-events: none !important;
    background-image:
        url("../img/decor/sef-sapkasi.svg"),
        url("../img/decor/burger.svg"),
        url("../img/decor/corba.svg"),
        url("../img/decor/kahve.svg"),
        url("../img/decor/kokteyl.svg"),
        url("../img/decor/soguk-icecek.svg"),
        url("../img/decor/vegan.svg"),
        url("../img/decor/zil.svg") !important;
    background-position:
        50% 12%,
        78% 50%,
        45% 92%,
        17% 31%,
        83% 18%,
        16% 78%,
        31% 63%,
        64% 76% !important;
    background-size:
        118px 118px,
        76px 76px,
        110px 110px,
        62px 62px,
        58px 58px,
        66px 66px,
        58px 58px,
        50px 50px !important;
    background-repeat: no-repeat !important;
    opacity: .18 !important;
    filter: brightness(0) invert(1) !important;
    transform: none !important;
}

.qrf-feature-card::after {
    display: none !important;
    content: none !important;
}

/* QRresta Flow compact footer */
.qrf-site-footer {
    padding-top: 4px !important;
    padding-bottom: calc(82px + var(--qrf-safe-bottom)) !important;
    font-size: 9px !important;
    line-height: 1.25 !important;
}

.qrf-screen-product .qrf-site-footer {
    padding-top: 4px !important;
    padding-bottom: calc(68px + var(--qrf-safe-bottom)) !important;
}

/* QRresta Flow social links sheet */
.qrf-bottom-nav {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 4px !important;
    padding-right: 6px !important;
    padding-left: 6px !important;
}

.qrf-bottom-nav__item,
.qrf-nav-item {
    min-height: 52px !important;
    border-radius: 16px !important;
    font-size: 7.5px !important;
}

.qrf-bottom-nav__item .qrf-icon,
.qrf-nav-item .qrf-icon {
    width: 18px !important;
    height: 18px !important;
}

.qrf-links-sheet .qrf-sheet__header h2 {
    font-size: 26px !important;
}

.qrf-links-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.qrf-links-grid .qrf-link-action {
    min-height: 104px !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    align-content: start !important;
    gap: 7px !important;
    padding: 12px !important;
    border: 1px solid rgba(23, 24, 29, .08) !important;
    text-decoration: none !important;
}

.qrf-links-grid .qrf-link-action > span {
    width: 42px !important;
    height: 42px !important;
    grid-row: auto !important;
    border-radius: 15px !important;
}

.qrf-links-grid .qrf-link-action > span .qrf-icon {
    width: 21px !important;
    height: 21px !important;
}

.qrf-links-grid .qrf-link-action strong,
.qrf-links-grid .qrf-link-action small {
    color: currentColor !important;
}

.qrf-link-action--wifi {
    color: #2440A8 !important;
    background: #EEF3FF !important;
}

.qrf-link-action--location {
    color: #202315 !important;
    background: #EAF6C8 !important;
}

.qrf-link-action--social {
    color: #fff !important;
    background: var(--qrf-accent) !important;
}

.qrf-link-action--survey {
    color: #202315 !important;
    background: #FFF4DC !important;
}

@media (max-width: 370px) {
    .qrf-bottom-nav {
        right: max(12px, calc((100vw - 440px) / 2 + 12px)) !important;
        left: max(12px, calc((100vw - 440px) / 2 + 12px)) !important;
        gap: 2px !important;
        padding-right: 5px !important;
        padding-left: 5px !important;
    }

    .qrf-bottom-nav__item,
    .qrf-nav-item {
        font-size: 7px !important;
    }
}

/* QRresta Flow category controls refinement v1.0.35 */
.qrf-mood-chips .qrf-home-category-chip,
.qrf-category-chip {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    gap: 8px !important;
    padding: 9px 15px 9px 11px !important;
    border: 1px solid rgba(29, 31, 28, .12) !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .9) !important;
    color: var(--qrf-ink) !important;
    box-shadow: 0 6px 16px rgba(42, 38, 30, .07) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    transition: transform .18s ease, border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

.qrf-mood-chips .qrf-home-category-chip::before,
.qrf-category-chip::before {
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border: 2px solid color-mix(in srgb, var(--qrf-accent), white 30%);
    border-radius: 3px;
    background: color-mix(in srgb, var(--qrf-accent), white 88%);
    content: "";
    box-sizing: border-box;
}

.qrf-mood-chips .qrf-home-category-chip:hover,
.qrf-category-chip:hover {
    border-color: rgba(29, 31, 28, .23) !important;
    background: #fff !important;
    box-shadow: 0 9px 20px rgba(42, 38, 30, .1) !important;
    transform: translateY(-1px);
}

.qrf-mood-chips .qrf-home-category-chip:focus-visible,
.qrf-category-chip:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--qrf-lime), transparent 45%) !important;
    outline-offset: 2px !important;
}

.qrf-mood-chips .qrf-home-category-chip.is-active,
.qrf-category-chip.is-active {
    border-color: var(--qrf-nav) !important;
    background: var(--qrf-nav) !important;
    color: #fff !important;
    box-shadow: 0 9px 20px rgba(27, 31, 25, .18) !important;
}

.qrf-mood-chips .qrf-home-category-chip.is-active::before,
.qrf-category-chip.is-active::before {
    border-color: var(--qrf-lime);
    background: var(--qrf-lime);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--qrf-lime), transparent 76%);
}

@media (max-width: 370px) {
    .qrf-mood-chips .qrf-home-category-chip,
    .qrf-category-chip {
        min-height: 38px !important;
        padding: 8px 12px 8px 10px !important;
        border-radius: 12px !important;
        font-size: 9.5px !important;
    }
}

/* QRresta Flow logo and hours brand header v1.0.37 */
.qrf-topbar .qrf-brand,
.qrf-brand {
    flex: 0 1 auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    max-width: 150px !important;
}

.qrf-logo-image,
.qrf-brand__logo-image {
    width: 146px !important;
    height: 62px !important;
    flex: 0 0 62px !important;
}

.qrf-brand-hours {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 18px !important;
    margin: -4px 0 0 5px !important;
    color: var(--qrf-muted) !important;
    font-size: 8.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

.qrf-brand-hours i {
    width: 5px !important;
    height: 5px !important;
    margin-right: 5px !important;
    border-radius: 50% !important;
    background: var(--qrf-lime) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--qrf-lime), transparent 78%) !important;
}

@media (max-width: 480px) {
    .qrf-topbar .qrf-brand,
    .qrf-brand {
        max-width: 144px !important;
    }

    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 140px !important;
        height: 58px !important;
        flex-basis: 58px !important;
    }
}

@media (max-width: 380px) {
    .qrf-topbar .qrf-brand,
    .qrf-brand {
        max-width: 132px !important;
    }

    .qrf-logo-image,
    .qrf-brand__logo-image {
        width: 128px !important;
        height: 54px !important;
        flex-basis: 54px !important;
    }

    .qrf-brand-hours {
        margin-left: 3px !important;
        font-size: 8px !important;
    }
}
