/* ============================================================
   Mancare ca la mama acasa  -  stiluri site public
   ============================================================ */

@layer reset, base, components, sections, responsive;

/* ---------- TOKENS ---------- */
:root {
    --red:        #d63426;
    --red-dark:   #a31f16;
    --red-darker: #7d160f;
    --gold:       #f6a609;
    --gold-light: #ffce3a;
    --yellow:     #ffd23f;
    --cream:      #fff6e9;
    --cream-soft: #fffaf0;
    --card:       #fffdf8;
    --ink:        #2a1a12;
    --ink-soft:   #4a3528;
    --muted:      #6b5648;
    --green:      #3f9242;
    --line:       #ecdcc4;
    --nav-h:      64px;

    --f-display: 'Fredoka', system-ui, sans-serif;
    --f-script:  'Caveat', cursive;
    --f-body:    'Nunito', system-ui, sans-serif;

    --r-sm: 8px;  --r-md: 14px;  --r-lg: 22px;  --r-xl: 32px;  --r-full: 999px;

    --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
    --sp-6:1.5rem; --sp-8:2rem; --sp-12:3rem; --sp-16:4rem; --sp-20:5rem;

    --sh-sm: 0 2px 8px rgba(42,26,18,.08);
    --sh-md: 0 8px 24px rgba(42,26,18,.12);
    --sh-lg: 0 18px 48px rgba(42,26,18,.18);
    --sh-red: 0 10px 28px rgba(214,52,38,.32);

    --ease: cubic-bezier(.16,1,.3,1);
    --ease-back: cubic-bezier(.34,1.56,.64,1);
}

/* ---------- RESET ---------- */
@layer reset {
    *,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body { min-height: 100dvh; }
    img, svg { display: block; max-width: 100%; }
    button, input, textarea, select { font: inherit; color: inherit; }
    button { cursor: pointer; background: none; border: none; }
    a { color: inherit; text-decoration: none; }
    ul { list-style: none; }
    h1,h2,h3,h4 { font-weight: 600; line-height: 1.15; text-wrap: balance; }
    p { text-wrap: pretty; }
    :focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; border-radius: 4px; }
    main section[id] { scroll-margin-top: calc(var(--nav-h) + 12px); }
    body.is-locked { overflow: hidden; }
}

/* ---------- BASE ---------- */
@layer base {
    body {
        font-family: var(--f-body);
        background: var(--cream);
        color: var(--ink);
        font-size: 1.02rem;
        line-height: 1.6;
        overflow-x: hidden;
    }
    .wrap { width: min(1180px, 100% - 2.5rem); margin-inline: auto; }
    .ic { flex: none; }
    main { display: block; }
}

/* ============================================================
   COMPONENTE
   ============================================================ */
@layer components {

/* ---------- Butoane ---------- */
.btn {
    display: inline-flex; align-items: center; justify-content: center;
    gap: .5rem;
    font-family: var(--f-display); font-weight: 600;
    padding: .72rem 1.5rem; border-radius: var(--r-full);
    transition: transform .15s var(--ease), box-shadow .2s var(--ease), background .2s;
    white-space: nowrap;
}
.btn:active { transform: scale(.97); }
.btn--primary { background: var(--red); color: #fff; box-shadow: var(--sh-red); }
.btn--primary:hover { background: var(--red-dark); transform: translateY(-2px); }
.btn--ghost {
    background: var(--card); color: var(--red-dark);
    box-shadow: inset 0 0 0 2px var(--red);
}
.btn--ghost:hover { background: var(--red); color: #fff; transform: translateY(-2px); }
.btn--lg { padding: .95rem 2rem; font-size: 1.08rem; }
.btn--sm { padding: .5rem 1rem; font-size: .92rem; }
.btn--block { width: 100%; }
.btn:disabled { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }

/* "Cross Utensils" CTA - cutit + furculita care se incruciseaza la hover */
.btn--cross {
    background: linear-gradient(165deg, #e8463a, #d62f24);
    border-radius: 9px;
    box-shadow: 0 5px 14px -7px rgba(184,36,27,.8);
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.btn--cross:hover {
    transform: translateY(-2px);
    background: linear-gradient(165deg, #d62f24, #b8241b);
    box-shadow: 0 10px 22px -9px rgba(184,36,27,.87);
}
.btn--cross:active { transform: translateY(0); }
.btn--cross .label { white-space: nowrap; }
.btn--cross .uten {
    position: relative;
    width: 1.45em; height: 1.3em;
    flex: 0 0 auto;
    transition: transform .3s cubic-bezier(.34,1.5,.5,1);
}
.btn--cross .uten svg {
    position: absolute;
    top: 50%; left: 50%;
    width: 1.3em; height: 1.3em;
    color: #fff;
    overflow: visible;
    transition: transform .45s cubic-bezier(.34,1.5,.5,1);
    will-change: transform;
}
.btn--cross .uten .knife {
    transform: translate(-50%, -50%) translateX(-.26em) rotate(0deg);
    z-index: 1;
}
.btn--cross .uten .fork {
    transform: translate(-50%, -50%) translateX(.26em) rotate(0deg);
    z-index: 2;
}
.btn--cross:hover .uten { transform: scale(1.06); }
.btn--cross:hover .uten .knife {
    transform: translate(-50%, -50%) translateX(0) rotate(-37deg);
}
.btn--cross:hover .uten .fork {
    transform: translate(-50%, -50%) translateX(0) rotate(37deg);
}
@media (prefers-reduced-motion: reduce) {
    .btn--cross, .btn--cross .uten, .btn--cross .uten svg {
        transition-duration: .01ms;
    }
}

/* ---------- Navigatie ---------- */
.nav {
    position: sticky; top: 0; z-index: 106;
    background: var(--cream);
    border-bottom: 2px solid transparent;
    transition: box-shadow .25s, border-color .25s, background .25s;
}
.nav.is-scrolled { box-shadow: var(--sh-sm); border-color: var(--line); }
.nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem 0; min-height: var(--nav-h); }
.brand { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.brand__pot { display: grid; place-items: center; flex: none; }
.brand__text { display: flex; flex-direction: column; line-height: 1; min-width: 0; }
.brand__text strong { font-family: var(--f-display); font-size: 1.18rem; color: var(--red-dark); white-space: nowrap; }
.brand__text em { font-family: var(--f-script); font-size: 1.15rem; color: var(--gold); font-style: normal; margin-top: -2px; white-space: nowrap; }
.nav__links { display: flex; align-items: center; gap: 1.6rem; }
.nav__links a { font-family: var(--f-display); font-weight: 500; color: var(--ink-soft); transition: color .15s; }
.nav__links a:hover { color: var(--red); }
.nav__ic { display: none; } /* doar pe mobil */
/* Buton telefon "Ring Shake" - maroon gradient + iconita animata */
.tel {
    display: inline-flex; align-items: center;
    gap: .55rem;
    padding: .6rem 1.15rem;
    background: linear-gradient(160deg, #9a2a18, #7d1d12 48%, #5d150c);
    border-radius: 999px;
    text-decoration: none;
    color: #fbece0 !important;
    font-family: var(--f-display);
    font-size: 1rem; font-weight: 700;
    letter-spacing: .02em;
    box-shadow: 0 5px 14px -7px rgba(93,21,12,.6);
    -webkit-tap-highlight-color: transparent;
    transition: transform .35s ease, box-shadow .35s ease;
}
.tel:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 20px -9px rgba(93,21,12,.67);
    color: #fbece0 !important;
}
.tel:focus-visible {
    outline: 2px solid #7d1d12;
    outline-offset: 3px;
}
.tel .ic { display: inline-flex; }
.tel .num { white-space: nowrap; }
.tel .phone {
    width: 1.15em; height: 1.15em;
    display: block;
    fill: #fbece0;
    transform-origin: 50% 50%;
    will-change: transform;
    animation: ring-shake 2.2s cubic-bezier(.36,.07,.19,.97) infinite;
}
@keyframes ring-shake {
    0%   { transform: rotate(0); }
    3%   { transform: rotate(21deg); }
    7%   { transform: rotate(-19deg); }
    11%  { transform: rotate(17deg); }
    15%  { transform: rotate(-15deg); }
    19%  { transform: rotate(12deg); }
    23%  { transform: rotate(-10deg); }
    27%  { transform: rotate(8deg); }
    31%  { transform: rotate(-6deg); }
    35%  { transform: rotate(4deg); }
    39%  { transform: rotate(-2deg); }
    43%  { transform: rotate(0); }
    100% { transform: rotate(0); }
}
@media (prefers-reduced-motion: reduce) {
    .tel .phone { animation: none; }
    .tel:hover { transform: none; }
}

/* Cele 2 butoane de telefon din site folosesc clasa .tel (peste clasele lor specifice) */
.nav__phone { /* override-uri reziduale - mostenesc din .tel */ }
.nav__menu-full {
    display: inline-flex; align-items: center; gap: .3rem;
    white-space: nowrap;
}
.nav__menu-full svg { color: var(--gold); }
.nav__burger {
    display: none; color: var(--red-dark);
    width: 44px; height: 44px;
    align-items: center; justify-content: center;
    border-radius: var(--r-sm);
}
.nav__burger:hover { background: rgba(214,52,38,.08); }
.nav__scrim {
    position: fixed; inset: 0; z-index: 104;
    background: rgba(42,26,18,.45);
    -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
    opacity: 0; pointer-events: none;
    transition: opacity .25s var(--ease);
}
.nav__scrim.is-open { opacity: 1; pointer-events: auto; }

/* Logo "M Logo" — oala cu aburi + brand Bevan + tag Caveat */
.mlogo {
    display: inline-flex; align-items: center; gap: .75rem;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}
.mlogo:focus-visible {
    outline: 2px solid #c0271d;
    outline-offset: 4px;
    border-radius: 6px;
}
.mlogo-mark { display: block; width: 3rem; height: 3rem; flex: none; }
.mlogo-words { display: flex; flex-direction: column; min-width: 0; }
.mlogo-brand {
    font-family: 'Bevan', Georgia, serif;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.05;
    color: #c0271d;
    white-space: nowrap;
}
.mlogo-tag {
    font-family: 'Caveat', cursive;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1;
    color: #d99a1e;
    margin-top: .05rem;
    white-space: nowrap;
}
.mlogo-steam path {
    transform-box: fill-box;
    animation: mlogo-steam-up 2s ease-out infinite;
}
.mlogo-steam path:nth-child(1) { animation-delay: 0s; }
.mlogo-steam path:nth-child(2) { animation-delay: .66s; }
.mlogo-steam path:nth-child(3) { animation-delay: 1.33s; }
@keyframes mlogo-steam-up {
    0%   { opacity: 0;  transform: translateY(2px); }
    25%  { opacity: 1; }
    75%  { opacity: .85; }
    100% { opacity: 0;  transform: translateY(-8px); }
}
@media (prefers-reduced-motion: reduce) {
    .mlogo-steam path { animation: none; opacity: 1; }
}

/* Varianta compacta in topbar /meniu - acelasi size ca pe homepage */
.mlogo--compact .mlogo-mark { width: 2.8rem; height: 2.8rem; }
.mlogo--compact .mlogo-brand { font-size: 1.4rem; }
.mlogo--compact .mlogo-tag { font-size: 1.2rem; }
.mlogo--compact { gap: .65rem; }

@media (width < 720px) {
    .mlogo-mark { width: 2.4rem; height: 2.4rem; }
    .mlogo-brand { font-size: 1.2rem; }
    .mlogo-tag { font-size: 1.05rem; }
}


/* ---------- Steluta combo (starburst) ---------- */
.combo-badge { position: relative; display: grid; place-items: center; width: 150px; height: 150px; }
.combo-badge .starburst { position: absolute; inset: 0; width: 100%; height: 100%;
    filter: drop-shadow(0 6px 14px rgba(125,22,15,.35)); }
.combo-badge__text { position: relative; text-align: center; transform: rotate(-8deg); }
.combo-badge__small {
    display: block; font-family: var(--f-display); font-weight: 600;
    font-size: .74rem; color: var(--red-darker); letter-spacing: .02em;
}
.combo-badge__big {
    display: block; font-family: var(--f-display); font-weight: 700;
    font-size: 1.5rem; color: var(--red-darker); line-height: 1;
}
.combo-badge--hero {
    position: absolute; top: -8px; right: -6px; width: 168px; height: 168px;
    animation: badge-pulse 3.4s var(--ease) infinite;
}
.combo-badge--inline { width: 132px; height: 132px; flex: none; }
.combo-badge--contact { width: 138px; height: 138px; margin: -78px auto .4rem; }
@keyframes badge-pulse { 0%,100%{transform:rotate(-4deg) scale(1)} 50%{transform:rotate(4deg) scale(1.05)} }

/* ---------- Buton adauga ---------- */
.add-btn {
    display: inline-flex; align-items: center; gap: .35rem;
    background: var(--gold); color: var(--ink);
    font-family: var(--f-display); font-weight: 600; font-size: .9rem;
    padding: .42rem .85rem .42rem .6rem; border-radius: var(--r-full);
    transition: transform .15s var(--ease-back), background .2s, box-shadow .2s;
    box-shadow: 0 3px 10px rgba(246,166,9,.32);
}
.add-btn:hover { background: var(--gold-light); transform: translateY(-2px) scale(1.03); }
.add-btn:active { transform: scale(.94); }
.add-btn.is-added { background: var(--green); color: #fff; }

/* ---------- Valuri ---------- */
.wave { position: relative; line-height: 0; margin-top: -1px; }
.wave svg { width: 100%; height: clamp(54px, 7vw, 100px); }
.wave--up { margin-bottom: -1px; }

/* ---------- Reveal la scroll ---------- */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }

} /* end components */

/* ============================================================
   SECTIUNI
   ============================================================ */
@layer sections {

/* ---------- HERO ---------- */
.hero {
    position: relative;
    background:
        radial-gradient(circle at 80% 0%, var(--red) 0%, var(--red-dark) 55%, var(--red-darker) 100%);
    padding-top: 3rem; overflow: hidden;
}
.hero__inner {
    display: grid; grid-template-columns: 1.05fr .95fr; gap: 2rem; align-items: center;
    padding-bottom: 5.5rem;
}
.blob { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .5; }
.blob--1 { width: 320px; height: 320px; background: #ff6a4d; top: -120px; left: -100px; }
.blob--2 { width: 260px; height: 260px; background: #ffb43d; bottom: -90px; right: 8%; opacity: .35; }
.hero__text { position: relative; z-index: 2; color: #fff; }
/* Buton "Flame" cu flacara animata la hover - hero eyebrow */
.btn-flame {
    position: relative;
    display: inline-flex; align-items: center;
    gap: .55rem;
    padding: .65rem 1.35rem;
    background: linear-gradient(170deg, #9a3325, #842519 55%, #6f1c12);
    border: 1px solid #b8554a;
    border-radius: 999px;
    text-decoration: none;
    color: #f3b53e;
    font-family: var(--f-display);
    font-size: .94rem; font-weight: 600;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    box-shadow: 0 4px 14px -8px rgba(0,0,0,.8);
    transition: transform .4s cubic-bezier(.22,.61,.36,1),
                box-shadow .4s cubic-bezier(.22,.61,.36,1);
}
.btn-flame:focus-visible {
    outline: 2px solid #ffd97a;
    outline-offset: 3px;
}
.btn-flame .label { white-space: nowrap; }
.btn-flame .flame {
    width: 1.05em; height: 1.05em;
    flex: 0 0 auto;
    fill: #f3b53e;
    transform-origin: 50% 88%;
    transition: filter .4s cubic-bezier(.22,.61,.36,1);
}
.btn-flame:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 24px -11px rgba(0,0,0,.8);
    color: #f3b53e;
}
.btn-flame:hover .flame {
    animation: flame-live 1s ease-in-out infinite;
    filter: drop-shadow(0 0 6px rgba(243,181,62,.8));
}
@keyframes flame-live {
    0%, 100% { transform: scale(1) rotate(0); }
    25% { transform: scale(1.07, 1.13) rotate(-4deg); }
    50% { transform: scale(.96, 1.04) rotate(3deg); }
    75% { transform: scale(1.05, 1.1) rotate(-2deg); }
}
@media (prefers-reduced-motion: reduce) {
    .btn-flame { transition-duration: .01ms; }
    .btn-flame:hover { transform: none; }
    .btn-flame:hover .flame {
        animation: none;
        filter: drop-shadow(0 0 5px rgba(243,181,62,.67));
    }
}
.hero__title { margin: 1rem 0; }
.hero__line1 {
    display: block; font-family: var(--f-display); font-weight: 700;
    font-size: clamp(2.6rem, 6vw, 4.4rem); color: #fff; line-height: .95;
}
.hero__script {
    display: block; font-family: var(--f-script); font-weight: 700;
    font-size: clamp(3rem, 8vw, 6rem); color: var(--yellow);
    line-height: .8; margin-top: .2rem;
    text-shadow: 0 4px 0 rgba(125,22,15,.4);
}
.hero__sub { font-size: 1.12rem; color: #ffe9d8; max-width: 30rem; margin-bottom: 1.6rem; }
.hero__cta { display: flex; flex-wrap: wrap; gap: .8rem; }
.hero__facts { display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 1.6rem; }
.hero__facts span { display: inline-flex; align-items: center; gap: .45rem; color: #ffd9c5; font-weight: 600; font-size: .95rem; }

.hero__visual { position: relative; z-index: 2; display: grid; place-items: center; min-height: 320px; }

/* ---------- Chef ca fundal cu fade in hero ---------- */
.hero__chef-bg {
    position: absolute;
    bottom: -2rem;
    left: 3%;
    width: min(520px, 46%);
    height: auto;
    z-index: 1;
    pointer-events: none;
    opacity: .45;
    -webkit-mask-image: radial-gradient(ellipse 68% 82% at 52% 38%, #000 30%, transparent 85%);
            mask-image: radial-gradient(ellipse 68% 82% at 52% 38%, #000 30%, transparent 85%);
}
@media (width < 980px) {
    .hero__chef-bg {
        left: 0; bottom: -1.5rem;
        width: min(380px, 70%);
        opacity: .3;
    }
}
@media (width < 720px) {
    .hero__chef-bg {
        width: min(340px, 85%);
        opacity: .65;
        left: auto;
        right: -26%;
        bottom: 0;
        transform: none;
        -webkit-mask-image: radial-gradient(ellipse 72% 75% at 50% 35%, #000 38%, transparent 88%);
                mask-image: radial-gradient(ellipse 72% 75% at 50% 35%, #000 38%, transparent 88%);
    }
}
.pot {
    position: relative;
    width: min(380px, 92%);
    aspect-ratio: 3 / 2;
    filter: drop-shadow(0 30px 40px rgba(0,0,0,.45));
    animation: pot-bob 5s var(--ease) infinite;
}
.pot__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@keyframes pot-bob { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.pot__steam {
    position: absolute; top: 18%; width: 16px; height: 70px;
    background: linear-gradient(to top, rgba(255,255,255,0), rgba(255,255,255,.7));
    border-radius: var(--r-full); filter: blur(5px);
    animation: steam 3s ease-in-out infinite;
    pointer-events: none;
}
.pot__steam--1 { left: 36%; animation-delay: 0s; }
.pot__steam--2 { left: 50%; animation-delay: .7s; height: 86px; top: 14%; }
.pot__steam--3 { left: 64%; animation-delay: 1.4s; }
@keyframes steam {
    0% { transform: translateY(10px) scaleX(1); opacity: 0; }
    35% { opacity: .8; }
    100% { transform: translateY(-58px) scaleX(1.7); opacity: 0; }
}

/* ---------- Banner Oferta Speciala (Meniul zilei) ---------- */
.offer-banner {
    position: relative;
    overflow: hidden;
    width: 100%;
    min-height: 138px;
    padding: 14px 30px 14px 22px;
    border-radius: 14px;
    background:
        radial-gradient(circle at 4% 35%, rgba(255,255,255,.12), transparent 16%),
        radial-gradient(circle at 94% 8%, rgba(255,255,255,.08), transparent 18%),
        linear-gradient(135deg, #e72b22 0%, #c71e18 44%, #98130f 100%);
    box-shadow:
        0 8px 22px rgba(126,28,20,.22),
        0 2px 5px rgba(126,28,20,.08);
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 1.8rem;
}
.offer-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, transparent 0%, rgba(255,255,255,.08) 48%, transparent 60%),
        radial-gradient(circle at 16% 95%, rgba(255,255,255,.08), transparent 18%);
    pointer-events: none;
}
.offer-banner::after {
    content: "";
    position: absolute;
    top: -80px; right: -40px;
    width: 260px; height: 260px;
    border-radius: 50%;
    background: rgba(255,255,255,.05);
    filter: blur(2px);
    pointer-events: none;
}

.offer-badge-wrap {
    position: relative; z-index: 2;
    flex: 0 0 116px;
    width: 116px; height: 116px;
    display: flex; align-items: center; justify-content: center;
    filter: drop-shadow(0 5px 8px rgba(86,28,0,.28));
}
.offer-badge {
    position: relative;
    width: 108px; height: 108px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #fff0a1 0%, #ffd95a 38%, #ffc12e 68%, #df9100 100%);
    color: #a40705;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center;
    box-shadow:
        inset 0 0 0 3px rgba(255,236,129,.9),
        inset 0 0 0 6px rgba(214,143,0,.24),
        0 0 14px rgba(255,217,72,.85);
    animation: offer-badge-pulse 2.8s ease-in-out infinite;
}
.offer-badge::before {
    content: "";
    position: absolute;
    inset: -10px; z-index: -1;
    background: #ffcc35;
    clip-path: polygon(
        50% 0%, 56% 8%, 65% 4%, 69% 14%, 79% 12%, 81% 23%, 91% 26%, 88% 36%,
        98% 43%, 91% 51%, 98% 59%, 88% 66%, 91% 76%, 81% 79%, 79% 90%, 69% 88%,
        65% 98%, 56% 94%, 50% 100%, 44% 94%, 35% 98%, 31% 88%, 21% 90%, 19% 79%,
        9% 76%, 12% 66%, 2% 59%, 9% 51%, 2% 43%, 12% 36%, 9% 26%, 19% 23%,
        21% 12%, 31% 14%, 35% 4%, 44% 8%
    );
}
.offer-badge .badge-top {
    font-family: var(--f-display);
    font-size: 10px; font-weight: 900;
    line-height: 1.1; letter-spacing: .15px;
    text-transform: uppercase;
}
.offer-badge .badge-special {
    margin-top: 2px;
    font-family: var(--f-display);
    font-size: 10px; font-weight: 900;
    line-height: 1; text-transform: uppercase;
}
.offer-badge .badge-special::before,
.offer-badge .badge-special::after {
    content: "★";
    font-size: 8px;
    margin: 0 3px;
    vertical-align: 1px;
}
.offer-badge .badge-price {
    margin-top: 2px;
    font-family: var(--f-display);
    font-size: 44px; font-weight: 900;
    line-height: .86; letter-spacing: -2px;
}
.offer-badge .badge-lei {
    margin-top: 1px;
    font-family: var(--f-display);
    font-size: 17px; font-weight: 900;
    line-height: 1; text-transform: uppercase;
}

.offer-separator {
    position: relative; z-index: 2;
    width: 1px; height: 66px;
    background: rgba(255,255,255,.26);
    flex: 0 0 1px;
}
.offer-content {
    position: relative; z-index: 2;
    flex: 1 1 auto; min-width: 0;
}
.offer-title {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(18px, 2.1vw, 28px);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.5px;
    text-shadow: 0 2px 6px rgba(65,0,0,.14);
}
.offer-title .price-highlight { color: #ffd338; }
.offer-subtitle {
    position: relative;
    display: inline-block;
    margin: 8px 0 0;
    color: #fff;
    font-size: clamp(13px, 1.15vw, 17px);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.2px;
}
.offer-subtitle::after {
    content: "";
    position: absolute;
    left: 0; bottom: -9px;
    width: 90px; height: 4px;
    border-radius: 50px;
    background: #ffc92e;
    transform: rotate(-2deg);
}

.delivery-icon {
    position: relative; z-index: 2;
    flex: 0 0 56px;
    width: 56px; height: 44px;
    opacity: .5;
    color: #f8c4a6;
    animation: offer-scooter-move 3s ease-in-out infinite;
}
.delivery-icon svg { width: 100%; height: 100%; display: block; }

.offer-button {
    position: relative; z-index: 2;
    flex: 0 0 auto;
    min-width: 180px;
    height: 56px;
    padding: 0 22px;
    border-radius: 10px;
    border: 0; outline: none;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center; justify-content: center;
    gap: 12px;
    color: #9f130b;
    font-family: var(--f-display);
    font-size: 17px; font-weight: 900;
    line-height: 1;
    background: linear-gradient(180deg, #ffe66f 0%, #ffd23e 48%, #ffc321 100%);
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,.58),
        0 5px 0 #dc9700,
        0 9px 16px rgba(73,12,6,.24);
    transition: transform .24s ease, box-shadow .24s ease, filter .24s ease;
    animation: offer-button-glow 2.8s ease-in-out infinite;
}
.offer-button:hover {
    transform: translateY(-3px);
    filter: brightness(1.04);
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,.62),
        0 7px 0 #dc9700,
        0 14px 22px rgba(73,12,6,.31);
}
.offer-button:active {
    transform: translateY(2px);
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,.55),
        0 3px 0 #dc9700,
        0 6px 12px rgba(73,12,6,.22);
}
.offer-button-arrow {
    font-size: 28px;
    font-weight: 900;
    line-height: .8;
    transform: translateY(-1px);
    transition: transform .24s ease;
}
.offer-button:hover .offer-button-arrow {
    transform: translate(6px, -1px);
}

.offer-banner .shine {
    position: absolute; z-index: 1;
    top: -90%; left: -22%;
    width: 13%; height: 300%;
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.23) 48%, transparent 100%);
    transform: rotate(24deg);
    animation: offer-shine-move 5.2s ease-in-out infinite;
    pointer-events: none;
}

@keyframes offer-badge-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.035); }
}
@keyframes offer-button-glow {
    0%, 100% {
        box-shadow:
            inset 0 2px 0 rgba(255,255,255,.58),
            0 5px 0 #dc9700,
            0 9px 16px rgba(73,12,6,.24);
    }
    50% {
        box-shadow:
            inset 0 2px 0 rgba(255,255,255,.62),
            0 5px 0 #dc9700,
            0 11px 22px rgba(255,204,46,.36);
    }
}
@keyframes offer-scooter-move {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(9px); }
}
@keyframes offer-shine-move {
    0% { left: -25%; opacity: 0; }
    14% { opacity: 1; }
    43% { left: 116%; opacity: 0; }
    100% { left: 116%; opacity: 0; }
}

@media (max-width: 1280px) {
    .offer-banner { padding: 22px 34px; gap: 28px; }
    .offer-badge-wrap { flex-basis: 148px; width: 148px; height: 148px; }
    .offer-badge { width: 138px; height: 138px; }
    .offer-badge .badge-top { font-size: 14px; }
    .offer-badge .badge-special { font-size: 13px; }
    .offer-badge .badge-price { font-size: 61px; }
    .offer-badge .badge-lei { font-size: 23px; }
    .offer-button { min-width: 248px; height: 76px; font-size: 24px; padding: 0 28px; }
    .delivery-icon { flex-basis: 76px; width: 76px; }
}
@media (max-width: 980px) {
    .offer-banner {
        min-height: auto;
        padding: 28px;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }
    .offer-separator, .delivery-icon { display: none; }
    .offer-content { flex: 1 1 100%; order: 2; }
    .offer-title { white-space: normal; }
    .offer-subtitle::after {
        left: 50%;
        transform: translateX(-50%) rotate(-2deg);
    }
    .offer-button {
        order: 3; width: 100%;
        max-width: 360px;
        margin-top: 12px;
    }
}
@media (max-width: 520px) {
    .offer-banner { border-radius: 16px; padding: 24px 18px; }
    .offer-badge-wrap { flex-basis: 132px; width: 132px; height: 132px; }
    .offer-badge { width: 122px; height: 122px; }
    .offer-badge .badge-top { font-size: 12px; }
    .offer-badge .badge-special { font-size: 11px; }
    .offer-badge .badge-price { font-size: 52px; }
    .offer-badge .badge-lei { font-size: 19px; }
    .offer-title { font-size: 34px; }
    .offer-subtitle { font-size: 20px; }
    .offer-button { height: 70px; font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
    .offer-badge, .offer-button, .delivery-icon, .offer-banner .shine { animation: none; }
    .offer-button, .offer-button-arrow { transition: none; }
}

/* ---------- DIN BUCATARIA NOASTRA (scena animata) ---------- */
.kitchen { position: relative; background: var(--cream); padding: 1.5rem 0 4.5rem; overflow: hidden; }
.kitchen__blob { position: absolute; border-radius: 50%; filter: blur(3px); opacity: .4; pointer-events: none; }
.kitchen__blob--1 { width: 240px; height: 240px; background: #ffd9a0; top: -90px; left: -70px; }
.kitchen__blob--2 { width: 200px; height: 200px; background: #ffc6bd; bottom: -70px; right: -50px; opacity: .35; }

.kitchen__trail { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }

.kitchen__path { position: absolute; left: 3%; width: 94%; top: 56px; height: 70px; z-index: 0; pointer-events: none; overflow: visible; }
.kitchen__path path { animation: k-dash 6s linear infinite; }
@keyframes k-dash { to { stroke-dashoffset: -160; } }

.kstop { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: .15rem; text-align: center; }
.kstop--flame   { --halo: rgba(246,166,9,.5); }
.kstop--veg     { --halo: rgba(63,146,66,.42); }
.kstop--scooter { --halo: rgba(214,52,38,.34); }
.kstop--heart   { --halo: rgba(226,60,46,.4); }

.kstop__art { position: relative; width: 150px; height: 150px; display: grid; place-items: center; transition: transform .4s var(--ease-back); }
.kstop:hover .kstop__art { transform: translateY(-12px) rotate(-3deg); }

.kstop__halo { position: absolute; inset: 16px; border-radius: 50%; z-index: 0; background: radial-gradient(circle, var(--halo), transparent 68%); filter: blur(7px); animation: k-halo 4.5s var(--ease) infinite; }
.kstop:hover .kstop__halo { animation-duration: 2.4s; }
@keyframes k-halo { 0%,100% { opacity: .55; transform: scale(.92); } 50% { opacity: 1; transform: scale(1.12); } }

.kart { position: relative; z-index: 1; width: 138px; height: 138px; overflow: visible; }
.kstop__title { font-family: var(--f-display); font-weight: 600; font-size: 1.24rem; color: var(--red-dark); }
.kstop__text { color: var(--muted); font-size: .95rem; max-width: 15.5rem; }

.kfire, .ksprig, .kwheel, .kbeat, .ktw { transform-box: fill-box; }

.ksteam { animation: k-steam 2.7s ease-in-out infinite; }
.ksteam--2 { animation-delay: .6s; }
.ksteam--3 { animation-delay: 1.2s; }
@keyframes k-steam { 0% { opacity: 0; transform: translateY(10px) scaleX(.6); } 25% { opacity: .9; } 70% { opacity: .45; } 100% { opacity: 0; transform: translateY(-24px) scaleX(1.25); } }

.kfire { transform-origin: bottom center; animation: k-fire 1s ease-in-out infinite; }
.kfire--1 { animation-duration: .85s; }
.kfire--2 { animation-duration: 1.15s; }
.kfire--3 { animation-duration: .95s; animation-delay: .15s; }
@keyframes k-fire { 0%,100% { transform: scaleY(1) scaleX(1) skewX(0deg); } 25% { transform: scaleY(1.14) scaleX(.93) skewX(4deg); } 50% { transform: scaleY(.9) scaleX(1.07) skewX(-3deg); } 75% { transform: scaleY(1.08) scaleX(.97) skewX(2deg); } }

.kveg { animation: k-bob 3.2s ease-in-out infinite; }
@keyframes k-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
.ksprig { transform-origin: bottom center; animation: k-sway 3.4s ease-in-out infinite; }
@keyframes k-sway { 0%,100% { transform: rotate(-8deg); } 50% { transform: rotate(8deg); } }

.kdrive { animation: k-drive .85s ease-in-out infinite; }
@keyframes k-drive { 0%,100% { transform: translateY(0) rotate(-.6deg); } 50% { transform: translateY(-4px) rotate(.6deg); } }
.kwheel { transform-origin: center; animation: k-spin 1s linear infinite; }
.kspeed { animation: k-speed 1s ease-in infinite; }
.kspeed--2 { animation-delay: .18s; }
.kspeed--3 { animation-delay: .36s; }
@keyframes k-spin { to { transform: rotate(360deg); } }
@keyframes k-speed { 0% { opacity: 0; transform: translateX(12px); } 40% { opacity: .9; } 100% { opacity: 0; transform: translateX(-16px); } }

.kbeat { transform-origin: center; animation: k-beat 1.7s ease-in-out infinite; }
@keyframes k-beat { 0%,100% { transform: scale(1); } 14% { transform: scale(1.13); } 28% { transform: scale(1); } 42% { transform: scale(1.09); } 58% { transform: scale(1); } }
.kfloat { animation: k-float 2.9s ease-in-out infinite; }
.kfloat--2 { animation-delay: 1.4s; }
@keyframes k-float { 0% { opacity: 0; transform: translateY(12px) scale(.5); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(-30px) scale(1); } }

.ktw { transform-origin: center; animation: k-twinkle 2.1s ease-in-out infinite; }
.ktw--2 { animation-delay: 1s; }
@keyframes k-twinkle { 0%,100% { opacity: .15; transform: scale(.5) rotate(0deg); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }

/* ---------- Sectiuni generice ---------- */
.section { position: relative; padding: 3.5rem 0 4rem; }
.section--menu { background: var(--cream-soft); }
.section--featured { background: var(--cream); }
.section--extra { background: var(--cream-soft); }

/* Sectiunile cu wave la final nu au padding-bottom (ar crea spatiu mort sub wave); */
/* spatierea fata de continut e adusa pe wave. */
.section--extra { padding-bottom: 0; }
.section--extra > .wave { margin-top: 4rem; }
.section__head { text-align: center; max-width: 42rem; margin: 0 auto 2.6rem; }
#meniul-zilei .section__head { max-width: 60rem; }
.section__kicker {
    font-family: var(--f-script); font-size: 1.6rem; font-weight: 700;
    color: var(--gold); line-height: 1;
}
.section__kicker--light { color: var(--yellow); }
.section__title {
    font-family: var(--f-display); font-weight: 700;
    font-size: clamp(1.9rem, 4vw, 2.8rem); color: var(--red-dark); margin: .2rem 0 .5rem;
}
.section__head--light .section__title { color: #fff; }
.section__lead { color: var(--muted); font-size: 1.05rem; }
.section__head--light .section__lead { color: #ffe9d8; }
.empty-note { text-align: center; color: var(--muted); padding: 2rem; }

/* ---------- Tab-uri zile - font cursiv handwritten, cerc rosu pt activ ---------- */
.day-tabs {
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: clamp(1rem, 3vw, 2.4rem);
    margin-bottom: 2rem;
    padding: .8rem .5rem;
}
.day-tab {
    font-family: 'Caveat', cursive;
    font-weight: 700;
    font-size: 1.85rem;
    color: var(--ink-soft);
    padding: 4px 10px;
    letter-spacing: 0.01em;
    background: none;
    border: none;
    border-radius: 0;
    cursor: pointer;
    position: relative;
    box-shadow: none;
    transition: color .3s cubic-bezier(.4,0,.2,1), transform .3s cubic-bezier(.4,0,.2,1);
}
.day-tab:hover {
    color: var(--red-dark);
    transform: rotate(-1deg);
    background: none;
    border: none;
    box-shadow: none;
}
.day-tab.is-active {
    color: var(--red);
    background: none;
    border: none;
    box-shadow: none;
}
.day-tab.is-active::before {
    content: '';
    position: absolute;
    inset: -4px -8px;
    border: 2.2px solid var(--red);
    border-radius: 60% 40% 50% 50% / 50% 60% 40% 50%;
    transform: rotate(-2deg) scale(1.1);
    opacity: 0.85;
    pointer-events: none;
}

.day-panel { animation: fade-in .4s var(--ease); }
@keyframes fade-in { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

/* ---------- Banner combo ---------- */
.combo-banner {
    display: flex; align-items: center; gap: 1.4rem;
    background: linear-gradient(120deg, var(--red), var(--red-dark));
    border-radius: var(--r-md);
    padding: .25rem 1.5rem .25rem 1.2rem;
    margin: 1.6rem 0 2.6rem;
    box-shadow: var(--sh-md);
    /* overflow: visible - lasa steluta sa iasa din banda */
}
.combo-banner .combo-badge--inline {
    margin: -1.4rem .3rem -1.4rem -.3rem;
    transform: rotate(-7deg);
    transition: transform .3s var(--ease-back);
}
.combo-banner:hover .combo-badge--inline {
    transform: rotate(-3deg) scale(1.04);
}
.combo-banner__note { color: #fff; font-size: 1rem; line-height: 1.45; }
.combo-banner__note strong { color: var(--yellow); }

/* Promo "Soft" - banner cream cu chip rosu pentru pret (meniul zilei) */
.promo-soft {
    display: flex; align-items: center; justify-content: space-between;
    gap: 1.25rem;
    text-decoration: none;
    background: linear-gradient(135deg, #fffaf2, #fde9d8);
    border: 1px solid #f3ddc6;
    border-radius: 14px;
    padding: 1.1rem 1.4rem;
    margin-bottom: 1.8rem;
    box-shadow: 0 8px 22px -14px rgba(120,60,20,.35);
    transition: transform .35s cubic-bezier(.22,.61,.36,1),
                box-shadow .35s cubic-bezier(.22,.61,.36,1);
}
.promo-soft:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 32px -16px rgba(120,60,20,.4);
}
.promo-soft .ps-text {
    font-family: var(--f-body);
    font-size: 1rem;
    color: #6e6258;
    line-height: 1.55;
    margin: 0;
}
.promo-soft .ps-text strong {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    color: #2c2520;
}
.promo-soft .ps-chip {
    flex: 0 0 auto;
    background: #c0271d;
    color: #fff;
    font-family: var(--f-display);
    font-weight: 800; font-size: 1rem;
    padding: .5rem 1rem;
    border-radius: 999px;
    box-shadow: 0 5px 12px -5px rgba(192,39,29,.6);
    white-space: nowrap;
}
@media (prefers-reduced-motion: reduce) {
    .promo-soft { transition-duration: .01ms; }
    .promo-soft:hover { transform: none; }
}
@media (max-width: 520px) {
    .promo-soft {
        gap: .7rem;
        padding: .85rem 1rem;
    }
    .promo-soft .ps-text {
        font-size: .85rem;
        line-height: 1.4;
    }
    .promo-soft .ps-chip {
        font-size: .88rem;
        padding: .35rem .7rem;
    }
}

/* ---------- Grup meniu + lista preparate ---------- */
.menu-group { margin-bottom: 1.8rem; }
.menu-group__title {
    display: flex; align-items: center; gap: .55rem;
    font-family: var(--f-display); font-weight: 600; font-size: 1.35rem;
    color: var(--red-dark); margin-bottom: .8rem;
    padding-bottom: .5rem; border-bottom: 2px dashed var(--line);
}
.dish-list { display: grid; gap: .6rem; }
.dish {
    display: flex; align-items: center; gap: 1rem;
    background: var(--card); border: 1px solid var(--line);
    border-radius: var(--r-md); padding: .85rem 1.1rem;
    transition: transform .18s var(--ease), box-shadow .18s var(--ease), border-color .18s;
}
.dish { position: relative; }
.dish:hover {
    transform: translateY(-3px);
    box-shadow: var(--sh-md);
    border-color: var(--gold);
    z-index: 5;
}
.dish:has(.dish__thumb:hover) { z-index: 55; }
.dish__thumb {
    flex: 0 0 auto;
    width: 90px; height: 90px;
    border-radius: var(--r-md);
    overflow: hidden;
    background: radial-gradient(ellipse at center, #fff4dc 0%, #ffe7c2 100%);
    display: grid; place-items: center;
    box-shadow: var(--sh-sm);
    position: relative;
    z-index: 1;
    transform-origin: left center;
    cursor: pointer;
    transition: transform .35s cubic-bezier(.34,1.4,.64,1),
                box-shadow .35s ease,
                z-index 0s linear .35s;
}
.dish__thumb img {
    width: 100%; height: 100%;
    object-fit: contain;
    padding: 3px;
    display: block;
}
.dish__thumb--placeholder { color: var(--gold); opacity: .7; }
.dish__thumb:hover {
    transform: scale(3);
    z-index: 60;
    box-shadow: 0 14px 32px rgba(0,0,0,.4);
    transition: transform .35s cubic-bezier(.34,1.4,.64,1),
                box-shadow .35s ease,
                z-index 0s linear;
}
.dish__info { flex: 1; min-width: 0; }
.dish__name { font-family: var(--f-display); font-weight: 600; font-size: 1.08rem; }
.dish__desc { color: var(--muted); font-size: .92rem; margin-top: .1rem; font-style: italic; }
.dish__action { display: flex; align-items: center; gap: .7rem; flex: none; }
.dish__price { font-family: var(--f-display); font-weight: 700; font-size: 1.1rem; color: var(--red); white-space: nowrap; }

/* ---------- Grid recomandari + card produs (design "card finit") ---------- */
.dish-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.4rem; }
.dish-card {
    background: #ffffff;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 2px 8px -3px rgba(42,32,23,.16), 0 10px 26px -16px rgba(42,32,23,.22);
    transition: transform .34s cubic-bezier(.22,1,.36,1), box-shadow .34s cubic-bezier(.22,1,.36,1);
    display: flex; flex-direction: column;
    position: relative;
}
.dish-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 12px 30px -12px rgba(42,32,23,.32), 0 26px 52px -28px rgba(42,32,23,.3);
}

.dish-card__media {
    position: relative; aspect-ratio: 5/4; overflow: hidden;
    background:
        radial-gradient(ellipse at center, #fff4dc 0%, #ffe7c2 55%, #ffd9a0 100%);
    display: grid; place-items: center;
    padding: .3rem;
}
.dish-card__media img {
    width: 100%; height: 100%; object-fit: contain;
    filter: drop-shadow(0 8px 16px rgba(125,22,15,.22));
}
.dish-card__placeholder { color: var(--gold); opacity: .8; }

/* Eticheta tip "ribbon" — uppercase, narrow, letter-spacing */
.dish-card__tag {
    position: absolute; top: 14px; left: 14px; z-index: 2;
    background: #c23628;
    color: #fff;
    font-family: var(--f-display); font-weight: 600;
    font-size: .66rem; letter-spacing: .13em; text-transform: uppercase;
    padding: 7px 13px;
    border-radius: 999px;
    box-shadow: 0 7px 16px -5px rgba(120,20,12,.55);
    text-shadow: none;
}

.dish-card__body {
    padding: 15px 16px 16px;
    display: flex; flex-direction: column;
    flex: 1;
}

/* Titlu serif elegant */
.dish-card__name {
    font-family: 'Fraunces', Georgia, serif;
    font-weight: 600;
    font-size: 1.16rem; line-height: 1.2;
    letter-spacing: -.01em;
    color: var(--ink);
}

/* Descriere italic, multi-linie. flex:1 -> umple spatiul, aliniaza toggle-ul la acelasi Y */
.dish-card__desc {
    margin-top: 5px;
    font-style: italic;
    font-size: .84rem; line-height: 1.4;
    color: var(--muted);
    flex: 1;
}

/* Toggle pliabil */
.dish-card__toggle {
    display: flex; align-items: center; gap: 6px; width: 100%;
    margin-top: 11px; padding: 8px 12px;
    cursor: pointer;
    background: var(--cream-soft);
    border: 1px solid var(--line);
    border-radius: 11px;
    font-family: var(--f-body);
    font-size: .71rem; font-weight: 600;
    color: var(--muted);
    text-align: left;
    transition: color .18s, border-color .18s, background .18s;
}
.dish-card__toggle:hover {
    color: var(--ink);
    border-color: var(--gold);
    background: #fdedcb;
}
.dish-card__toggle:focus-visible {
    outline: 2.5px solid var(--gold);
    outline-offset: 2px;
}
.dish-card__chev {
    margin-left: auto; font-size: .74rem; line-height: 0;
    transition: transform .34s cubic-bezier(.22,1,.36,1);
}
.dish-card__toggle.is-open .dish-card__chev { transform: rotate(180deg); }

/* Zona pliabila — animatie lina pe grid-template-rows */
.dish-card__collapse {
    display: grid; grid-template-rows: 0fr;
    transition: grid-template-rows .4s cubic-bezier(.22,1,.36,1);
}
.dish-card__collapse-in {
    overflow: hidden; opacity: 0;
    transition: opacity .28s cubic-bezier(.22,1,.36,1);
}
.dish-card__collapse.is-open { grid-template-rows: 1fr; }
.dish-card__collapse.is-open .dish-card__collapse-in { opacity: 1; }

/* Toggle in lista de produse din "Meniul zilei" - mai compact */
.dish .dish-card__toggle {
    padding: 5px 9px;
    font-size: .66rem;
    margin-top: .55rem;
    width: fit-content;
    border-radius: 8px;
}
.dish .dish-card__collapse-in {
    padding-top: .35rem;
}
.dish .dish-card__collapse-in .nutri-row {
    margin-top: 0; gap: 5px;
}
.dish .dish-card__collapse-in .nutri-pill {
    font-size: .62rem; padding: 4px 7px;
}
.dish .dish-card__collapse-in .allergens {
    margin-top: 7px; font-size: .68rem;
}

/* Pill-uri nutritionale in interiorul card-ului - putin mai mici */
.dish-card__collapse-in .nutri-row { margin-top: 11px; gap: 6px; }
.dish-card__collapse-in .nutri-pill {
    font-size: .62rem; padding: 5px 8px;
    background: #fff; color: var(--ink);
    border: 1px solid var(--line);
    font-weight: 600; letter-spacing: 0;
}
.dish-card__collapse-in .nutri-pill b { color: var(--ink); font-weight: 700; }
.dish-card__collapse-in .nutri-pill--kcal {
    background: #fdedcb; color: #9a5e08;
    border-color: transparent;
    box-shadow: none;
}
.dish-card__collapse-in .nutri-pill--kcal b { color: #9a5e08; }
.dish-card__collapse-in .allergens { margin-top: 9px; font-size: .71rem; }
.dish-card__collapse-in .allergens strong { color: var(--ink); font-family: var(--f-body); }

/* Footer - jos in card, dupa toggle/collapse */
.dish-card__foot {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 13px;
}
.dish-card__price {
    font-family: var(--f-display); font-weight: 700;
    font-size: 1.22rem; line-height: 1;
    color: #df3b2c; letter-spacing: -.01em;
}

/* Buton "+ Adauga" in card cu gradient + shine */
.dish-card__foot .add-btn {
    padding: 11px 17px;
    font-size: .83rem; font-weight: 600;
    background: linear-gradient(180deg, #f7b32b, #ef9a13);
    box-shadow: 0 8px 16px -7px rgba(239,154,19,.5);
    position: relative; overflow: hidden;
}
.dish-card__foot .add-btn::before {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(110deg, transparent 32%, rgba(255,255,255,.6) 50%, transparent 68%);
    transform: translateX(-130%);
    transition: transform .65s cubic-bezier(.22,1,.36,1);
    pointer-events: none;
}
.dish-card:hover .dish-card__foot .add-btn::before { transform: translateX(130%); }
.dish-card__foot .add-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 13px 22px -9px rgba(239,154,19,.5);
    filter: brightness(1.04);
}

/* ---------- Platouri la comanda ---------- */
.section--platters {
    background: linear-gradient(160deg, #fff6e9 0%, #ffeec8 100%);
    position: relative;
}
.section--platters .section__title {
    color: var(--red-darker);
}
.platters-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
}
.dish-card--platter {
    border: 2px solid var(--gold);
    box-shadow: 0 10px 28px rgba(125,22,15,.12);
}
.dish-card--platter:hover {
    box-shadow: 0 18px 40px rgba(125,22,15,.22);
    transform: translateY(-8px);
}
.dish-card__tag--platter {
    background: linear-gradient(135deg, var(--gold), #c9941d);
    color: var(--ink);
    text-shadow: none;
}
/* Card platou: putin mai compact pe lat (4 coloane = mai ingust) */
.dish-card--platter .dish-card__name { font-size: 1.05rem; }
.dish-card--platter .dish-card__body { padding: 13px 14px 14px; }
.dish-card--platter .dish-card__foot .add-btn { padding: 9px 13px; font-size: .78rem; }
.dish-card--platter .dish-card__price { font-size: 1.1rem; }

@media (width < 980px) {
    .platters-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (width < 720px) {
    .platters-grid { grid-template-columns: 1fr; }
}

/* ---------- Garnituri / preturi ---------- */
.extra-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px,1fr)); gap: 1.4rem; }
.extra-card {
    background: var(--card); border-radius: var(--r-lg); padding: 1.5rem;
    border: 1px solid var(--line); box-shadow: var(--sh-sm);
}
.extra-card__title {
    display: flex; align-items: center; gap: .5rem;
    font-family: var(--f-display); font-weight: 600; font-size: 1.3rem;
    color: var(--red-dark); margin-bottom: 1rem;
}
.price-list { display: grid; gap: .55rem; }
.price-row {
    display: flex; flex-direction: row;
    gap: .9rem;
    align-items: flex-start;
    padding: .7rem 0;
    border-bottom: 1px dashed var(--line);
}
.price-row:last-child { border-bottom: none; padding-bottom: 0; }
.price-row { position: relative; }
.price-row:has(.price-row__thumb:hover) { z-index: 55; }
.price-row__thumb {
    flex: 0 0 auto;
    width: 100px;
    height: 100px;
    border-radius: var(--r-md);
    overflow: hidden;
    background: radial-gradient(ellipse at center, #fff4dc 0%, #ffe7c2 100%);
    display: grid; place-items: center;
    box-shadow: var(--sh-sm);
    position: relative;
    z-index: 1;
    transform-origin: left center;
    cursor: pointer;
    transition: transform .35s cubic-bezier(.34,1.4,.64,1),
                box-shadow .35s ease,
                z-index 0s linear .35s;
}
.price-row__thumb img {
    width: 100%; height: 100%;
    object-fit: contain;
    padding: 3px;
    display: block;
}
.price-row__thumb--placeholder { color: var(--gold); opacity: .7; }
.price-row__thumb:hover {
    transform: scale(3);
    z-index: 60;
    box-shadow: 0 14px 32px rgba(0,0,0,.4);
    transition: transform .35s cubic-bezier(.34,1.4,.64,1),
                box-shadow .35s ease,
                z-index 0s linear;
}
.price-row__main {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column;
    gap: .15rem;
}
.price-row__top {
    display: flex; align-items: center; gap: .5rem;
}
.price-row__name { font-weight: 600; }
.price-row__dots { flex: 1; border-bottom: 2px dotted var(--line); height: .7em; }
.price-row__price { font-family: var(--f-display); font-weight: 700; color: var(--red); white-space: nowrap; }
.row-details {
    color: var(--muted);
    font-size: .82rem; line-height: 1.55;
    margin-top: .15rem;
}
.row-details .rd-desc {
    display: block;
    font-style: italic;
    color: var(--muted);
    margin-bottom: .3rem;
}
.row-details .rd-nutri {
    display: inline-block;
    padding: 2px 8px;
    background: rgba(246,166,9,.1);
    border-left: 2px solid var(--gold);
    border-radius: 3px;
    color: var(--red-dark);
    font-family: var(--f-display);
    font-weight: 600;
    font-size: .76rem;
    letter-spacing: .01em;
    font-style: normal;
}
.row-details .rd-allerg {
    display: block;
    margin-top: .35rem;
    font-size: .75rem;
    color: var(--muted);
}
.row-details .rd-allerg strong {
    color: var(--red-dark);
    font-family: var(--f-display);
    font-weight: 700;
}

/* ---------- Recenzii ---------- */
.section--reviews {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, var(--red), var(--red-darker));
}
.section--reviews > .wrap { position: relative; z-index: 2; }
.section--reviews::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 1.8rem;
    background: linear-gradient(to bottom, transparent, var(--cream));
    pointer-events: none;
    z-index: 1;
}
.review-carousel {
    position: relative;
    padding: 0 4rem;
}
.review-grid {
    display: flex;
    gap: 1.4rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    padding: .5rem 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.review-grid::-webkit-scrollbar { display: none; width: 0; height: 0; }
.review {
    flex: 0 0 calc((100% - 2.8rem) / 3);
    scroll-snap-align: start;
}

/* Card recenzie - design "review-card" cu avatar + bara aurie laterala */
.review-card {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 1.6rem 1.6rem 1.6rem 1.9rem;
    overflow: hidden;
    font-family: var(--f-body);
    box-shadow: 0 14px 30px -14px rgba(60,10,5,.5);
    transition: transform .4s cubic-bezier(.22,.61,.36,1),
                box-shadow .4s cubic-bezier(.22,.61,.36,1);
}
.review-card::before {
    content: "";
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 5px;
    background: linear-gradient(180deg, #f5a623, #e08a14);
    transition: width .4s cubic-bezier(.22,.61,.36,1);
}
.review-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 40px -16px rgba(60,10,5,.55);
}
.review-card:hover::before { width: 9px; }
.rc-top {
    display: flex; align-items: center;
    gap: .8rem; margin-bottom: 1rem;
}
.rc-avatar {
    width: 2.85rem; height: 2.85rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: linear-gradient(150deg, #e0392c, #951f14);
    color: #fff;
    font-family: var(--f-display);
    font-weight: 800; font-size: .95rem;
    display: grid; place-items: center;
    letter-spacing: .02em;
}
.rc-meta { display: flex; flex-direction: column; min-width: 0; }
.rc-name {
    font-family: var(--f-display);
    font-weight: 800; font-size: 1rem;
    color: #2c211b;
}
.rc-rating {
    display: inline-flex; gap: .22rem;
    margin-top: .2rem;
}
.rc-chef {
    width: 1.05rem; height: 1.05rem;
    color: #f5a623;
    display: inline-block;
}
.rc-chef svg { display: block; width: 100%; height: 100%; }
.review-card blockquote {
    font-size: .98rem;
    color: #6a5d54;
    line-height: 1.6;
    margin: 0;
}
@media (prefers-reduced-motion: reduce) {
    .review-card { transition-duration: .01ms; }
    .review-card:hover { transform: none; }
    .review-card:hover::before { width: 5px; }
}

/* Sageti carusel - albe cu sageata rosie, in afara cardurilor */
.review-carousel__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 46px; height: 46px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--line);
    color: var(--red-dark);
    display: grid; place-items: center;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0,0,0,.35);
    transition: transform .2s var(--ease-back), background .2s, box-shadow .2s, color .2s;
}
.review-carousel__nav:hover {
    background: var(--gold);
    color: var(--red-darker);
    transform: translateY(-50%) scale(1.1);
    box-shadow: 0 10px 24px rgba(0,0,0,.4);
}
.review-carousel__nav:active { transform: translateY(-50%) scale(.96); }
.review-carousel__nav--prev { left: 0; }
.review-carousel__nav--next { right: 0; }
@media (width < 720px) {
    .review-carousel { padding: 0 2.6rem; }
    .review-carousel__nav { width: 38px; height: 38px; }
    .review-carousel__nav svg { width: 18px; height: 18px; }
}
.review__stars { display: inline-flex; gap: .3rem; margin-bottom: .7rem; }
.rating-row { display: inline-flex; gap: .3rem; }
.rating-row .rhat,
.review__stars .rhat {
    width: 1.8rem; height: 1.8rem;
    color: #f5a623;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.12));
    animation: rhat-pop .6s cubic-bezier(.34,1.56,.64,1) both;
}
.rating-row .rhat:nth-child(1),
.review__stars .rhat:nth-child(1) { animation-delay: .10s; }
.rating-row .rhat:nth-child(2),
.review__stars .rhat:nth-child(2) { animation-delay: .22s; }
.rating-row .rhat:nth-child(3),
.review__stars .rhat:nth-child(3) { animation-delay: .34s; }
.rating-row .rhat:nth-child(4),
.review__stars .rhat:nth-child(4) { animation-delay: .46s; }
.rating-row .rhat:nth-child(5),
.review__stars .rhat:nth-child(5) { animation-delay: .58s; }
@keyframes rhat-pop {
    0%   { transform: scale(0) rotate(-35deg); opacity: 0; }
    70%  { transform: scale(1.2) rotate(10deg); opacity: 1; }
    100% { transform: scale(1) rotate(0); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .rating-row .rhat,
    .review__stars .rhat {
        animation: none;
        opacity: 1;
        transform: none;
    }
}
.review__text { font-size: 1.04rem; color: var(--ink-soft); margin-bottom: .8rem; }
.review__author { font-family: var(--f-display); font-weight: 600; color: var(--red-dark); }

/* ---------- Steluta combo "Ostar" (in sectiunea Contact) ---------- */
.ostar {
    position: relative;
    width: 165px; height: 165px;
    margin: -78px auto .4rem;
}
.ostar-inner {
    position: absolute; inset: 0;
    filter: drop-shadow(0 5px 7px rgba(150,80,10,.32));
    animation: ostar-glow 2.4s ease-in-out infinite;
}
@keyframes ostar-glow {
    0%, 100% {
        filter: drop-shadow(0 5px 7px rgba(150,80,10,.32));
    }
    50% {
        filter: drop-shadow(0 5px 7px rgba(150,80,10,.32))
                drop-shadow(0 0 13px rgba(255,205,55,.95));
    }
}
.ostar-burst {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    overflow: visible;
}
.ostar-inner::after {
    content: "";
    position: absolute; inset: 0;
    clip-path: polygon(
        50% 7.4%, 59% 16.6%, 71.3% 13.1%, 74.4% 25.6%, 86.9% 28.7%,
        83.4% 41%, 92.6% 50%, 83.4% 59%, 86.9% 71.3%, 74.4% 74.4%,
        71.3% 86.9%, 59% 83.4%, 50% 92.6%, 41% 83.4%, 28.7% 86.9%,
        25.6% 74.4%, 13.1% 71.3%, 16.6% 59%, 7.4% 50%, 16.6% 41%,
        13.1% 28.7%, 25.6% 25.6%, 28.7% 13.1%, 41% 16.6%);
    background: linear-gradient(115deg,
        transparent 42%, rgba(255,255,255,.85) 50%, transparent 58%);
    background-size: 280% 280%;
    background-position: 150% 0;
    pointer-events: none;
    animation: ostar-shine 2.8s ease-in-out infinite;
}
@keyframes ostar-shine {
    0%        { background-position: 150% 0; }
    40%, 100% { background-position: -150% 0; }
}
.ostar-txt {
    position: absolute; inset: 0;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: .04rem;
    pointer-events: none;
}
.ostar-txt .s1 {
    font-family: var(--f-display);
    font-size: .72rem; font-weight: 700;
    color: #9e2414;
    text-align: center;
}
.ostar-txt .s2 {
    font-family: var(--f-display);
    font-size: 1.6rem; font-weight: 900;
    color: #9e2414;
    line-height: 1;
    letter-spacing: -.01em;
}
@media (prefers-reduced-motion: reduce) {
    .ostar-inner,
    .ostar-inner::after { animation: none; }
}

/* ---------- Separator elegant cu punct auriu ---------- */
.elegant-divider {
    display: flex; align-items: center; gap: .9rem;
    margin: 1.4rem 0 1.5rem;
}
.elegant-divider::before,
.elegant-divider::after {
    content: "";
    flex: 1;
    height: 1px;
}
.elegant-divider::before {
    background: linear-gradient(to right, transparent, rgba(246,166,9,.55));
}
.elegant-divider::after {
    background: linear-gradient(to right, rgba(246,166,9,.55), transparent);
}
.elegant-divider__dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--gold);
    box-shadow: 0 0 8px rgba(246,166,9,.55);
    flex: none;
}

/* ---------- Contact ---------- */
.section--contact { background: var(--cream); }
.contact__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 2.4rem; align-items: center; }
.contact__info .section__kicker,
.contact__info .section__title { text-align: left; }
.contact__list { margin-top: 1.4rem; display: grid; gap: .8rem; }
.contact__list li { display: flex; align-items: center; gap: .8rem; font-size: 1.04rem; }
.contact__ic {
    display: grid; place-items: center; width: 42px; height: 42px; flex: none;
    background: var(--red); color: #fff; border-radius: var(--r-md);
}
.contact__card {
    position: relative; background: var(--card); border-radius: var(--r-xl);
    padding: 2rem 1.8rem 2rem; text-align: center; box-shadow: var(--sh-lg);
    border: 2px solid var(--line); margin-top: 78px;
}
.contact__card h3 { font-family: var(--f-display); font-size: 1.5rem; color: var(--red-dark); margin-bottom: .4rem; }
.contact__card p { color: var(--muted); margin-bottom: 1.2rem; }

/* ---------- Footer ---------- */
.footer { position: relative; background: var(--red-darker); color: #ffd9c5; padding-bottom: 1.5rem; }
.footer__wave { line-height: 0; }
.footer__wave svg { width: 100%; height: 70px; }
.footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2rem; padding: 1.5rem 0 2rem; }
.footer__brand strong { font-family: var(--f-display); font-size: 1.3rem; color: #fff; }
.footer__desc { font-family: var(--f-script); font-size: 1.3rem; color: var(--yellow); }
.footer__col h4 { font-family: var(--f-display); color: #fff; font-size: 1.1rem; margin-bottom: .7rem; }
.footer__col p { display: flex; align-items: flex-start; gap: .5rem; margin-bottom: .5rem; font-size: .96rem; }
.footer__col a:hover { color: var(--yellow); }
.footer__social { gap: 1rem !important; }
.footer__social a { text-decoration: underline; }
.footer__bottom {
    display: flex; justify-content: space-between; align-items: center;
    flex-wrap: wrap; gap: .6rem 1.2rem;
    padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.15);
    font-size: .88rem; color: #e0a890;
}
.footer__admin:hover { color: var(--yellow); }
/* Buton "Neon Aurora" - credit deverp.ro in footer */
.footer__credit {
    position: relative;
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .55rem 1rem;
    background: linear-gradient(160deg, #9a2a18, #7d1d12 45%, #5d150c);
    border-radius: 999px;
    text-decoration: none;
    font-family: var(--f-body); font-size: .82rem; font-weight: 500;
    color: #e9cba2;
    isolation: isolate;
    -webkit-tap-highlight-color: transparent;
    transition: transform .38s cubic-bezier(.16,.84,.44,1),
                box-shadow .38s cubic-bezier(.16,.84,.44,1);
}
.footer__credit svg {
    width: 14px; height: 14px; flex: 0 0 auto;
    fill: #f6b720;
    transition: transform .38s cubic-bezier(.16,.84,.44,1);
}
.footer__credit strong {
    font-weight: 800;
    background: linear-gradient(90deg,
        #e0930f 0%, #f6b720 28%, #fff6da 50%,
        #f6b720 72%, #e0930f 100%);
    background-size: 220% 100%;
    background-position: 50% 0;
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    letter-spacing: .01em;
}
.footer__credit:focus-visible {
    outline: 2px solid #ffd24a;
    outline-offset: 3px;
}
.footer__credit:hover {
    transform: translateY(-2px);
    color: #e9cba2;
    box-shadow: 0 0 0 1px rgba(255,198,41,.2), 0 0 28px -6px rgba(246,183,32,.47);
}
.footer__credit:hover strong {
    animation: credit-grad-flow 2s linear infinite,
               credit-neon-flicker 2.6s infinite both;
}
.footer__credit:hover svg {
    animation: credit-neon-flicker 2.6s infinite both;
}
@keyframes credit-grad-flow {
    from { background-position: 50% 0; }
    to   { background-position: -170% 0; }
}
@keyframes credit-neon-flicker {
    0%, 15%, 19%, 22%, 48%, 52%, 71%, 100% {
        opacity: 1;
        filter: drop-shadow(0 0 2px #ffd24a)
                drop-shadow(0 0 8px #f6b720)
                drop-shadow(0 0 18px #e0930f);
    }
    17%, 21%, 50% {
        opacity: .42;
        filter: none;
    }
    69% {
        opacity: .82;
        filter: drop-shadow(0 0 2px #ffd24a)
                drop-shadow(0 0 4px #f6b720);
    }
}
@media (prefers-reduced-motion: reduce) {
    .footer__credit:hover { transform: none; }
    .footer__credit:hover strong,
    .footer__credit:hover svg {
        animation: none;
        opacity: 1;
        filter: drop-shadow(0 0 6px rgba(246,183,32,.6));
    }
}
@media (width < 720px) {
    .footer__bottom { justify-content: center; text-align: center; }
    .footer__credit { order: 3; }
    .footer__admin { order: 2; }
    .footer__copy {
        font-size: .72rem;
        white-space: nowrap;
        letter-spacing: -.005em;
    }
}
@media (width < 380px) {
    .footer__copy { font-size: .66rem; }
}

} /* end sections */

/* ============================================================
   COS  -  buton, sertar, checkout
   ============================================================ */
@layer components {

.cart-fab {
    position: fixed; right: 1.4rem; bottom: 1.4rem; z-index: 90;
    width: 64px; height: 64px; border-radius: var(--r-full);
    background: var(--red); color: #fff; display: grid; place-items: center;
    box-shadow:
        0 0 0 3px #fff,
        0 0 0 4px rgba(0,0,0,.12),
        0 8px 18px rgba(0,0,0,.35),
        0 14px 28px rgba(214,52,38,.42);
    transition: transform .25s var(--ease-back), background .2s, opacity .25s;
}
.cart-fab.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: scale(.7);
}
.cart-fab:hover { transform: scale(1.08); background: var(--red-dark); }
.cart-fab.is-bump { animation: bump .4s var(--ease-back); }
@keyframes bump { 0%,100%{transform:scale(1)} 40%{transform:scale(1.22)} }
.cart-fab__count {
    position: absolute; top: -4px; right: -4px;
    min-width: 24px; height: 24px; padding: 0 5px;
    background: var(--gold); color: var(--ink); border-radius: var(--r-full);
    font-family: var(--f-display); font-weight: 700; font-size: .82rem;
    display: grid; place-items: center; border: 2px solid var(--cream);
}

.drawer-overlay {
    position: fixed; inset: 0; z-index: 110;
    background: rgba(42,26,18,.5); backdrop-filter: blur(3px);
    opacity: 0; transition: opacity .3s;
}
.drawer-overlay.is-open { opacity: 1; }

.drawer {
    position: fixed; top: 0; right: 0; z-index: 120;
    width: min(420px, 100%); height: 100dvh;
    background: var(--cream); box-shadow: var(--sh-lg);
    transform: translateX(100%); transition: transform .35s var(--ease);
    display: flex; flex-direction: column;
}
.drawer.is-open { transform: translateX(0); }
.drawer__panel { display: flex; flex-direction: column; height: 100%; }
.drawer__panel[hidden] { display: none !important; }
.drawer__head {
    display: flex; align-items: center; gap: .6rem;
    padding: 1.1rem 1.2rem; background: var(--red); color: #fff; flex: none;
}
.drawer__head h3 { font-family: var(--f-display); font-size: 1.25rem; display: flex; align-items: center; gap: .5rem; flex: 1; }
.drawer__close, .drawer__back { color: #fff; display: grid; place-items: center; padding: .25rem; border-radius: var(--r-sm); }
.drawer__close:hover, .drawer__back:hover { background: rgba(255,255,255,.18); }
.drawer__body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 1.1rem; }
.drawer__empty {
    flex: 1; display: none; flex-direction: column; align-items: center; justify-content: center;
    gap: 1rem; color: var(--muted); text-align: center; padding: 2rem;
}
.drawer__empty .ic { color: var(--gold); }
.drawer.is-empty .drawer__body { display: none; }
.drawer.is-empty .drawer__empty { display: flex; }
.drawer.is-empty .drawer__foot { display: none; }
.drawer__foot { flex: none; padding: 1.1rem; border-top: 1px solid var(--line); background: var(--card); }
.drawer__total { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: .3rem; }
.drawer__total span { font-weight: 600; color: var(--muted); }
.drawer__total strong { font-family: var(--f-display); font-size: 1.6rem; color: var(--red); }
.drawer__min { font-size: .86rem; color: var(--red-dark); margin-bottom: .7rem; min-height: 1.1em; }
.drawer__min.is-ok { color: var(--green); }

/* Linie produs in cos */
.cart-line {
    display: flex; align-items: center; gap: .7rem;
    padding: .7rem 0; border-bottom: 1px dashed var(--line);
}
.cart-line__info { flex: 1; min-width: 0; }
.cart-line__name { font-family: var(--f-display); font-weight: 600; font-size: 1rem; }
.cart-line__price { font-size: .86rem; color: var(--muted); }
.qty { display: flex; align-items: center; gap: .3rem; }
.qty button {
    width: 28px; height: 28px; border-radius: var(--r-sm);
    background: var(--cream); color: var(--red-dark); display: grid; place-items: center;
    border: 1px solid var(--line); transition: background .15s;
}
.qty button:hover { background: var(--gold); }
.qty__val { min-width: 26px; text-align: center; font-family: var(--f-display); font-weight: 700; }
.cart-line__sum { font-family: var(--f-display); font-weight: 700; color: var(--red); min-width: 68px; text-align: right; }
.cart-line__del { color: var(--muted); padding: .2rem; }
.cart-line__del:hover { color: var(--red); }

/* Checkout */
.checkout { display: flex; flex-direction: column; gap: .9rem; }
.field { display: flex; flex-direction: column; gap: .3rem; }
.field > span { font-family: var(--f-display); font-weight: 600; font-size: .92rem; }
.field input, .field textarea {
    border: 2px solid var(--line); border-radius: var(--r-sm);
    padding: .6rem .8rem; background: var(--card); transition: border-color .15s;
    font-family: var(--f-body);
}
.field input:focus, .field textarea:focus { border-color: var(--gold); outline: none; }
.field textarea { resize: vertical; }
.checkout__summary {
    display: flex; justify-content: space-between; align-items: baseline;
    padding: .8rem 1rem; background: var(--cream); border-radius: var(--r-md);
}
.checkout__summary span { font-weight: 600; }
.checkout__summary strong { font-family: var(--f-display); font-size: 1.4rem; color: var(--red); }
.checkout__note { font-size: .82rem; color: var(--muted); text-align: center; }
.form-msg {
    background: #fde8e6; color: var(--red-dark); border-radius: var(--r-sm);
    padding: .6rem .8rem; font-size: .9rem; font-weight: 600;
}

/* Succes */
.drawer__success {
    align-items: center; justify-content: center; text-align: center;
    gap: .8rem; padding: 2rem;
}
.success-burst {
    width: 88px; height: 88px; border-radius: var(--r-full);
    background: var(--green); color: #fff; display: grid; place-items: center;
    box-shadow: 0 10px 26px rgba(63,146,66,.4);
    animation: pop .4s var(--ease-back);
}
@keyframes pop { from{transform:scale(0)} to{transform:scale(1)} }
.drawer__success h3 { font-family: var(--f-display); font-size: 1.6rem; color: var(--red-dark); }
.success-code { color: var(--muted); }
.success-code strong { color: var(--ink); font-family: var(--f-display); }

/* Toast */
.toast {
    position: fixed; left: 50%; bottom: 2rem; transform: translate(-50%, 120%);
    z-index: 130; background: var(--ink); color: #fff;
    padding: .8rem 1.4rem; border-radius: var(--r-full);
    font-family: var(--f-display); font-weight: 600; box-shadow: var(--sh-lg);
    transition: transform .35s var(--ease-back);
}
.toast.is-show { transform: translate(-50%, 0); }

} /* end components 2 */

/* ============================================================
   RESPONSIVE
   ============================================================ */
@layer responsive {

@media (width < 980px) {
    .kitchen__trail { grid-template-columns: repeat(2,1fr); gap: 2.2rem 1rem; }
    .kitchen__path { display: none; }
    .dish-grid { grid-template-columns: repeat(2,1fr); }
    .review { flex: 0 0 calc((100% - 1.4rem) / 2); }
    .hero__inner { grid-template-columns: 1fr; gap: 1rem; padding-bottom: 4.5rem; }
    .hero__visual { order: -1; min-height: 240px; }
    .pot { width: 240px; }
    .combo-badge--hero { width: 124px; height: 124px; top: 0; right: 0; }
    .combo-badge--hero .combo-badge__small { font-size: .68rem; }
    .combo-badge--hero .combo-badge__big { font-size: 1.3rem; }
    .contact__grid { grid-template-columns: 1fr; }
    .contact__card { margin-top: 64px; }
    .footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (width < 720px) {
    .nav__inner { gap: .6rem; }
    .nav__links {
        position: fixed; top: var(--nav-h); right: 0; bottom: 0; left: auto;
        width: min(310px, 86%);
        flex-direction: column; align-items: stretch; gap: .25rem;
        background:
            linear-gradient(165deg, var(--cream) 0%, var(--cream-soft) 60%, #ffefd5 100%);
        padding: 1.2rem 1rem 2rem;
        box-shadow: -12px 0 32px rgba(60,20,5,.18);
        transform: translateX(105%);
        transition: transform .35s var(--ease); z-index: 105;
        overflow-y: auto; -webkit-overflow-scrolling: touch;
    }
    .nav__links.is-open { transform: translateX(0); }
    .nav__links a {
        position: relative;
        padding: .85rem .9rem .85rem 1.1rem;
        border-radius: 10px;
        font-size: 1rem;
        font-family: var(--f-display);
        font-weight: 600;
        color: var(--ink);
        min-height: 48px;
        display: flex; align-items: center;
        gap: .7rem;
        transition: color .2s var(--ease), background .2s var(--ease), padding-left .2s var(--ease);
    }
    .nav__links a::before {
        content: "";
        position: absolute;
        left: 0; top: 14%; bottom: 14%;
        width: 3px;
        background: var(--gold);
        border-radius: 2px;
        opacity: 0;
        transition: opacity .2s var(--ease), width .2s var(--ease);
    }
    .nav__links a:hover {
        background: rgba(246,166,9,.1);
        color: var(--red-dark);
        padding-left: 1.3rem;
    }
    .nav__links a:hover::before { opacity: 1; width: 4px; }
    .nav__ic {
        display: inline-flex; align-items: center; justify-content: center;
        width: 30px; height: 30px;
        flex: none;
        color: var(--red);
        background: rgba(214,52,38,.08);
        border-radius: 8px;
        transition: background .2s var(--ease), color .2s var(--ease), transform .2s var(--ease-back);
    }
    .nav__ic .ic { width: 16px; height: 16px; }
    .nav__links a:hover .nav__ic {
        background: var(--red);
        color: #fff;
        transform: scale(1.08);
    }
    .nav__label { flex: 1; }

    .nav__menu-full {
        position: relative;
    }
    .nav__menu-full svg:last-child { margin-left: auto; color: var(--gold); }

    .nav__phone {
        margin-top: .9rem; justify-content: center;
        padding: .85rem 1rem; font-size: 1rem;
    }
    .nav__phone .nav__ic { display: none; }

    /* Stagger animation cand meniul se deschide */
    .nav__links.is-open a {
        animation: nav-link-in .42s cubic-bezier(.22,1,.36,1) backwards;
    }
    .nav__links.is-open a:nth-child(1) { animation-delay: .08s; }
    .nav__links.is-open a:nth-child(2) { animation-delay: .13s; }
    .nav__links.is-open a:nth-child(3) { animation-delay: .18s; }
    .nav__links.is-open a:nth-child(4) { animation-delay: .23s; }
    .nav__links.is-open a:nth-child(5) { animation-delay: .28s; }
    .nav__links.is-open a:nth-child(6) { animation-delay: .33s; }
    .nav__links.is-open a:nth-child(7) { animation-delay: .38s; }
    @keyframes nav-link-in {
        from { opacity: 0; transform: translateX(20px); }
        to { opacity: 1; transform: translateX(0); }
    }
    .nav__burger { display: inline-flex; }

    .kitchen__trail {
        grid-template-columns: repeat(4, 1fr);
        gap: .6rem;
    }
    .kstop { gap: .25rem; }
    .kstop__art { width: 78px; height: 78px; }
    .kart { width: 70px; height: 70px; }
    .kstop__title { font-size: .9rem; line-height: 1.2; }
    .kstop__text { font-size: .76rem; line-height: 1.35; max-width: none; }
    .dish-grid, .extra-grid { grid-template-columns: 1fr; }
    .review { flex: 0 0 100%; }
    .review-card { padding: .85rem 1.1rem .9rem 1.3rem; }
    .review-card .rc-top { margin-bottom: .55rem; gap: .6rem; }
    .review-card .rc-avatar { width: 2.4rem; height: 2.4rem; font-size: .85rem; }
    .review-card .rc-name { font-size: .92rem; }
    .review-card .rc-chef { width: .9rem; height: .9rem; }
    .review-card blockquote { font-size: .88rem; line-height: 1.45; }
    .combo-banner { flex-direction: column; text-align: center; padding: 1rem; gap: .8rem; }
    .footer__grid { grid-template-columns: 1fr; }

    .dish { flex-wrap: wrap; padding: .9rem 1rem; }
    .dish__thumb { width: 70px; height: 70px; }
    .dish__action { width: 100%; justify-content: space-between; }
    .section { padding: 2.6rem 0 2.8rem; }
    .section--extra { padding-bottom: 0; }
    .section--extra > .wave { margin-top: 2.8rem; }
    .section__head { margin-bottom: 2rem; }

    /* ---------- Touch targets ---------- */
    .add-btn { padding: .55rem 1rem .55rem .8rem; font-size: .95rem; min-height: 40px; }
    .qty button { width: 38px; height: 38px; border-radius: var(--r-sm); }
    .qty__val { min-width: 30px; font-size: 1.05rem; }
    .cart-line__del { padding: .55rem; }
    .field input, .field textarea { padding: .85rem .9rem; font-size: 1rem; }
    .day-tabs {
        flex-wrap: nowrap;
        gap: .5rem;
        padding: .8rem 0;
        justify-content: space-around;
    }
    .day-tab {
        font-size: 1.35rem;
        padding: 3px 5px;
        min-height: auto;
        min-width: 0;
    }
    .btn--lg { padding: .85rem 1.6rem; font-size: 1.04rem; }

    /* ---------- Hero polish ---------- */
    .hero__sub { font-size: 1.05rem; }
    .hero__facts { gap: .9rem 1.2rem; }
    .hero__facts span { font-size: .9rem; }
    .hero__cta { gap: .7rem; }

    /* ---------- Dish card spacing ---------- */
    .dish-card__foot { gap: .6rem; flex-wrap: wrap; }
    .dish-card__price { font-size: 1.2rem; }

    /* ---------- Price row pe mobil: nume+pret+buton rotund pe rand, desc+nutri dedesubt ---------- */
    .price-row__top {
        gap: .7rem;
    }
    .price-row { gap: .6rem; }
    .price-row__thumb { width: 70px; height: 70px; }
    .price-row__top { flex-wrap: nowrap; min-width: 0; }
    .price-row__name {
        flex: 0 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .price-row__dots { flex: 1 1 auto; border-bottom: 2px dotted var(--line); height: .55em; margin: 0 .35rem; min-width: 8px; }
    .price-row__price { white-space: nowrap; flex: 0 0 auto; }
    .price-row__top .add-btn {
        width: 40px; height: 40px;
        min-height: 40px;
        padding: 0;
        border-radius: 50%;
        flex: none;
        justify-content: center;
        gap: 0;
    }
    .price-row__top .add-btn > span {
        position: absolute;
        width: 1px; height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

/* Telefoane foarte inguste (<= 400px) */
@media (width < 420px) {
    .wrap { width: min(1180px, 100% - 1.8rem); }

    .hero { padding-top: 1.8rem; }
    .hero__inner { padding-bottom: 3.6rem; gap: .8rem; }
    .hero__visual { min-height: 200px; }
    .pot { width: 200px; }
    .combo-badge--hero { width: 100px; height: 100px; top: -4px; right: -4px; }
    .combo-badge--hero .combo-badge__small { font-size: .58rem; }
    .combo-badge--hero .combo-badge__big { font-size: 1.05rem; }

    .section { padding: 2.2rem 0 2.4rem; }
    .section--extra { padding-bottom: 0; }
    .section--extra > .wave { margin-top: 2.4rem; }
    .section__head { margin-bottom: 1.6rem; }
    .section__lead { font-size: 1rem; }

    .kitchen { padding-bottom: 2.8rem; }
    .kitchen__trail { gap: .4rem; }
    .kstop__art { width: 64px; height: 64px; }
    .kart { width: 58px; height: 58px; }
    .kstop__title { font-size: .82rem; }
    .kstop__text { font-size: .7rem; }

    .menu-group__title { font-size: 1.2rem; }
    .dish { gap: .7rem; }
    .dish__name { font-size: 1.04rem; }
    .day-tab { font-size: 1.12rem; padding: 2px 3px; }
    .day-tabs { gap: .25rem; padding: .7rem 0; }

    /* Linie produs in cos: info pe rand intreg, controale jos */
    .cart-line { flex-wrap: wrap; gap: .5rem .6rem; }
    .cart-line__info { flex: 1 1 100%; }
    .cart-line__sum { min-width: 60px; }
    .drawer__total strong { font-size: 1.35rem; }

    /* Contact: card mai aproape pe stack */
    .contact__card { margin-top: 56px; padding: 1.6rem 1.3rem; }
    .combo-badge--contact { width: 116px; height: 116px; margin: -64px auto .3rem; }

    /* Footer */
    .footer__grid { gap: 1.4rem; padding: 1.2rem 0 1.4rem; }
}

} /* end responsive */

/* ---------- Miscare redusa ---------- */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important; animation-iteration-count: 1 !important;
        transition-duration: .01ms !important; scroll-behavior: auto !important;
    }
    .reveal { opacity: 1; transform: none; }
    .kitchen__path path, .ksteam, .kfire, .kveg, .ksprig, .kdrive, .kwheel,
    .kspeed, .kbeat, .kfloat, .ktw, .kstop__halo { animation: none; }
}

/* ============================================================
   VALORI NUTRITIONALE
   ============================================================ */
.nutri-row {
    display: flex; flex-wrap: wrap;
    gap: .3rem .35rem;
    margin: .5rem 0 .2rem;
}
.nutri-pill {
    display: inline-flex; align-items: center; gap: .25rem;
    background: var(--cream);
    color: var(--ink-soft);
    font-family: var(--f-display); font-weight: 600;
    font-size: .72rem; letter-spacing: .02em;
    padding: .18rem .55rem;
    border-radius: var(--r-full);
    border: 1px solid var(--line);
    white-space: nowrap;
}
.nutri-pill b {
    font-weight: 800;
    color: var(--red-dark);
    margin-right: .1rem;
}
.nutri-pill--kcal {
    background: linear-gradient(135deg, var(--gold), #ffce3a);
    color: var(--ink);
    border-color: transparent;
    font-weight: 700;
    box-shadow: 0 2px 6px rgba(246,166,9,.25);
}
.allergens {
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.4;
    margin-top: .35rem;
}
.allergens strong { color: var(--red-dark); font-family: var(--f-display); }

/* Pe carduri (Recomandari) nutri-row e sub descriere, peste foot */
.dish-card__body .nutri-row { margin-bottom: .3rem; }
.dish-card__body .allergens { margin-bottom: .35rem; }

/* In dish-list (Meniul zilei) nutri-row aliniat la stanga */
.dish__info .nutri-row { margin-top: .4rem; }

/* In pagina /meniu, sub meta */
.menu-item__body .nutri-row { margin-top: .35rem; }
.menu-item__body .row-details { font-size: .72rem; line-height: 1.4; }
.menu-item__body .rd-nutri {
    font-size: .66rem;
    padding: 1px 6px;
    letter-spacing: 0;
    white-space: nowrap;
}
.menu-item__body .rd-allerg { font-size: .68rem; margin-top: .25rem; }

/* Versiune compacta pentru /meniu - o singura linie text */
.nutri-compact {
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.35;
    margin-top: .3rem;
    letter-spacing: .01em;
}
.nutri-compact + .allergens--compact {
    font-size: .75rem;
    margin-top: .15rem;
}
.allergens--compact { line-height: 1.35; }

/* ============================================================
   PAGINA MENIU COMPLET (/meniu)
   ============================================================ */
.menu-page-body {
    background: var(--cream);
    color: var(--ink);
    font-family: var(--f-body);
    min-height: 100dvh;
}

/* ---------- Top bar ---------- */
.menu-topbar {
    background: var(--cream);
    border-bottom: 1px solid var(--line);
    padding: .7rem 0;
    position: sticky; top: 0; z-index: 50;
}
.menu-topbar__inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 1rem;
}
.menu-topbar__back {
    display: inline-flex; align-items: center; gap: .35rem;
    font-family: var(--f-display); font-weight: 600;
    color: var(--red-dark);
    padding: .5rem .8rem; border-radius: var(--r-sm);
    transition: background .15s;
    min-height: 40px;
}
.menu-topbar__back:hover { background: rgba(214,52,38,.08); }
.menu-topbar__brand {
    display: inline-flex; align-items: baseline; gap: .35rem;
    font-family: var(--f-display);
}
.menu-topbar__brand strong { font-size: 1.18rem; color: var(--red-dark); }
.menu-topbar__brand em {
    font-family: var(--f-script); font-size: 1.15rem;
    color: var(--gold); font-style: normal;
}
/* menu-topbar__phone foloseste si clasa .tel pentru noul design */
.menu-topbar__phone { /* mostenit din .tel - rules in unul */ }

/* ---------- Conținut ---------- */
.menu-page { padding: 2rem 0 2.5rem; }

/* ---------- Cardul de meniu (foaie elegantă) ---------- */
.menu-card {
    background: var(--card);
    border-radius: var(--r-xl);
    box-shadow: var(--sh-md);
    border: 1px solid var(--line);
    padding: 2.4rem 2rem 1.8rem;
    max-width: 1100px;
    margin-inline: auto;
}
.menu-card__head {
    text-align: center;
    margin-bottom: 0;
    padding-bottom: .8rem;
}

/* Separator decorativ "Kitchen Divider" — bol cu aburi + linii cu puncte */
.kitchen-divider {
    display: block;
    width: 100%;
    max-width: 420px;
    height: auto;
    margin: 1.2rem auto 1.8rem;
}
/* Variantă mică în colțul stânga-sus al cardului de meniu */
.menu-card { position: relative; }
.menu-card__topdivider {
    position: absolute;
    top: .8rem;
    left: 1rem;
    width: 180px;
    max-width: none;
    margin: 0;
    pointer-events: none;
    z-index: 2;
}
@media (width < 720px) {
    .menu-card__topdivider { width: 130px; top: .6rem; left: .8rem; }
}
@keyframes kdiv-steam-rise {
    0%, 100% { opacity: .5;  transform: translateY(1px); }
    50%      { opacity: .85; transform: translateY(-2px); }
}
.kitchen-divider .steam path {
    animation: kdiv-steam-rise 3.4s ease-in-out infinite;
    transform-box: fill-box;
    transform-origin: center;
}
.kitchen-divider .steam path:nth-child(2) { animation-delay: .7s; }
.kitchen-divider .steam path:nth-child(3) { animation-delay: 1.4s; }
@media (prefers-reduced-motion: reduce) {
    .kitchen-divider .steam path {
        animation: none;
        opacity: .65;
        transform: none;
    }
}
.menu-card__sprig { display: block; margin: 0 auto .6rem; }
.menu-card__kicker {
    font-family: var(--f-script); font-size: 1.5rem;
    color: var(--gold); line-height: 1;
}
.menu-card__title {
    font-family: var(--f-display); font-weight: 700;
    font-size: clamp(2.2rem, 4.2vw, 3rem);
    color: var(--red-dark);
    margin: .25rem 0 .5rem;
}
.menu-card__lead {
    color: var(--muted); font-size: 1.02rem;
    max-width: 42rem; margin: 0 auto .9rem;
}
/* Wrapper combo in pagina /meniu - lasa promo-soft sa styleze restul */
.menu-card__combo {
    max-width: 860px;
    margin: 1rem auto 0;
}

/* ---------- Aranjare: fiecare categorie un card full-width stivuit ---------- */
.menu-card__grid {
    display: flex; flex-direction: column;
    gap: 1.6rem;
}

/* ---------- Secțiuni (categorii) - card propriu ---------- */
.menu-section {
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 1.4rem 1.6rem 1.5rem;
    box-shadow: 0 2px 10px rgba(42,32,23,.06);
}
.menu-section__head {
    display: flex; align-items: center; gap: .7rem;
    margin-bottom: .5rem;
    padding-bottom: .7rem;
    border-bottom: 2px dashed var(--line);
}
.menu-section__icon {
    display: grid; place-items: center;
    width: 40px; height: 40px;
    border-radius: 50%;
    background: var(--red); color: #fff;
    flex: none;
    box-shadow: var(--sh-sm);
}
.menu-section__title {
    font-family: var(--f-display); font-weight: 700;
    font-size: 1.5rem;
    color: var(--red-dark);
}
.menu-section__rule {
    flex: 1; height: 2px;
    background: linear-gradient(to right, var(--gold), transparent);
    border-radius: 999px;
    margin-left: .3rem;
}
.menu-section__desc {
    font-family: var(--f-script);
    font-size: 1.18rem;
    color: var(--gold);
    margin: .3rem 0 1rem 3.1rem;
}

/* ---------- Lista de preparate - 2 coloane interne pe desktop ---------- */
.menu-list {
    column-count: 2;
    column-gap: 2.2rem;
    column-rule: 1px dashed var(--line);
}
.menu-item {
    display: flex; gap: .9rem;
    align-items: flex-start;
    break-inside: avoid;
    page-break-inside: avoid;
    margin-bottom: 1.1rem;
    padding-bottom: .15rem;
}
.menu-item:last-child { margin-bottom: 0; }
.menu-item__thumb {
    flex: none;
    width: 72px; height: 72px;
    border-radius: var(--r-md);
    overflow: hidden;
    background: radial-gradient(ellipse at center, #fff4dc 0%, #ffe7c2 100%);
    display: grid; place-items: center;
    box-shadow: var(--sh-sm);
    transform-origin: center;
    position: relative;
    z-index: 1;
    transition: transform .35s cubic-bezier(.34,1.4,.64,1),
                box-shadow .35s ease,
                z-index 0s linear .35s;
}
.menu-item__thumb:hover {
    transform: scale(4);
    z-index: 60;
    box-shadow: 0 18px 42px rgba(0,0,0,.4);
    transition: transform .35s cubic-bezier(.34,1.4,.64,1),
                box-shadow .35s ease,
                z-index 0s linear;
}
.menu-item__thumb img {
    width: 100%; height: 100%;
    object-fit: contain;
    padding: 3px;
    display: block;
}
.menu-item__thumb--placeholder { color: var(--gold); }
.menu-item__body { flex: 1; min-width: 0; }
.menu-item__row {
    display: flex; align-items: baseline; gap: .5rem;
    margin-bottom: .2rem;
}
.menu-item__name {
    font-family: var(--f-display); font-weight: 600;
    color: var(--ink); font-size: 1.04rem;
}
.menu-item__leader {
    flex: 1;
    border-bottom: 2px dotted var(--line);
    height: .7em;
    align-self: flex-end;
    margin-bottom: 4px;
    min-width: 12px;
}
.menu-item__price {
    font-family: var(--f-display); font-weight: 700;
    color: var(--red); font-size: 1.04rem;
    white-space: nowrap;
}
.menu-item__meta {
    display: flex; flex-wrap: wrap;
    align-items: center;
    gap: .35rem .5rem;
}
.menu-tag {
    display: inline-flex; align-items: center; gap: .25rem;
    background: var(--gold); color: var(--ink);
    font-family: var(--f-display); font-weight: 600;
    font-size: .76rem;
    padding: .15rem .6rem;
    border-radius: var(--r-full);
}
.menu-tag--star {
    background: var(--red); color: #fff;
}
.menu-item__desc {
    color: var(--muted);
    font-size: .9rem; line-height: 1.4;
    flex: 1 1 100%;
    font-style: italic;
}

/* ---------- Notă jos ---------- */
.menu-card__note {
    margin-top: 2rem; padding-top: 1.3rem;
    border-top: 2px dashed var(--line);
    text-align: center;
    color: var(--muted); font-size: .9rem;
}
.menu-card__note strong { color: var(--red-dark); }
.menu-card__note-fine {
    margin-top: .5rem;
    font-size: .76rem;
    font-style: italic;
    color: var(--muted);
    opacity: .85;
}

/* ---------- Footer meniu ---------- */
.menu-foot {
    background: var(--red-darker);
    color: #ffd9c5;
    padding: 1.6rem 0 1.2rem;
    margin-top: 2rem;
}
.menu-foot__inner {
    display: flex; flex-direction: column;
    gap: 1.1rem;
}
.menu-foot__cta { text-align: center; margin: 0; }
.menu-foot__bottom {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 1rem;
    padding-top: .9rem;
    border-top: 1px solid rgba(255,255,255,.15);
}
.menu-foot__info {
    display: inline-flex; align-items: center;
    gap: .4rem; flex-wrap: wrap;
    margin: 0; font-size: .88rem;
}
@media (width < 720px) {
    .menu-foot__bottom {
        justify-content: center;
        text-align: center;
    }
    .menu-foot__info { justify-content: center; }
}

/* ---------- Responsive ---------- */
@media (width < 980px) {
    .menu-list { column-count: 1; column-rule: none; }
}
@media (width < 720px) {
    .menu-topbar__brand { display: none; }
    .menu-topbar__phone {
        padding: .5rem .85rem;
        font-size: .9rem;
    }
    .menu-topbar__phone .num { white-space: nowrap; }
    .menu-page { padding: 1.3rem 0 2rem; }
    .menu-card { padding: 1.6rem 1.2rem 1.4rem; }
    .menu-card__head { margin-bottom: 1.4rem; padding-bottom: 1rem; }
    .menu-section { padding: 1.1rem 1.1rem 1.2rem; }
    .menu-section__desc { margin-left: 0; font-size: 1.05rem; text-align: center; }
    .menu-section__head { gap: .55rem; }
    .menu-item__thumb { width: 64px; height: 64px; }
    .menu-item__leader { display: none; }
    .menu-item__row { flex-wrap: wrap; gap: .3rem .6rem; }
}
@media (width < 420px) {
    .menu-card { padding: 1.3rem 1rem; border-radius: var(--r-lg); }
    .menu-section { padding: 1rem .9rem 1.1rem; }
    .menu-item__thumb { width: 56px; height: 56px; }
    .menu-card__title { font-size: 1.9rem; }
    .menu-card__lead { font-size: .95rem; }
}
