:root {
  --ink:#151310;
  --ink-2:#24201b;
  --cream:#f4eee4;
  --paper:#fbf8f2;
  --muted:#756d62;
  --gold:#d79527;
  --gold-2:#f0b54b;
  --line:#ddd3c4;
  --red:#9c3a2e;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
a { color:inherit; }
.site-header {
  position:sticky; top:0; z-index:20;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px clamp(20px,5vw,70px);
  background:rgba(251,248,242,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(117,109,98,.15);
}
.brand { display:flex; gap:11px; align-items:center; text-decoration:none; }
.brand-mark {
  width:38px;height:38px;border-radius:50%;display:grid;place-items:center;
  background:var(--ink);color:var(--gold-2);font-weight:800;font-size:12px;
}
.brand strong { display:block; letter-spacing:2px;font-size:14px; }
.brand small { display:block;color:var(--muted);font-size:8px;letter-spacing:1.4px;margin-top:2px; }
.main-nav { display:flex; align-items:center; gap:28px; font-size:13px; }
.main-nav a { text-decoration:none; }
.nav-cta { background:var(--ink);color:#fff;padding:10px 17px;border-radius:999px; }
.menu-toggle { display:none;border:0;background:none;font-weight:800; }
.hero {
  position:relative; min-height:720px; overflow:hidden; color:#fff;
  background:
    radial-gradient(circle at 76% 38%,rgba(216,151,39,.28),transparent 23%),
    radial-gradient(circle at 64% 70%,rgba(156,58,46,.35),transparent 28%),
    linear-gradient(120deg,#12100e 0%,#1d1814 53%,#302015 100%);
  display:grid;grid-template-columns:1fr 1fr;align-items:center;
  padding:90px clamp(25px,8vw,120px);
}
.hero:before { content:"";position:absolute;inset:0;opacity:.13;
  background-image:linear-gradient(90deg,transparent 49%,rgba(255,255,255,.1) 50%,transparent 51%);
  background-size:90px 90px;transform:rotate(12deg) scale(1.5);
}
.hero-content { position:relative;z-index:2;max-width:650px; }
.eyebrow { margin:0 0 15px;color:var(--gold-2);font-weight:800;font-size:11px;letter-spacing:2.5px;text-transform:uppercase; }
.eyebrow.dark { color:#a86d16; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif;font-weight:500; }
h1 { font-size:clamp(56px,8vw,105px);line-height:.9;letter-spacing:-5px;margin:0 0 28px; }
h1 em { color:#e4a538;font-style:normal; }
.hero-copy { max-width:540px;font-size:18px;line-height:1.65;color:#ddd4c8;margin:0 0 30px; }
.hero-actions { display:flex;flex-wrap:wrap;gap:12px; }
.button { display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:14px 22px;font-weight:800;font-size:12px;letter-spacing:.8px; }
.button-primary { background:var(--gold);color:var(--ink); }
.button-ghost { border:1px solid rgba(255,255,255,.3);color:#fff; }
.button-dark { background:var(--ink);color:#fff; }
.button-outline-dark { border:1px solid #bdb2a3;color:var(--ink); }
.hero-meta { display:flex;gap:25px;margin-top:28px;color:#bcb2a7;font-size:12px; }
.hero-meta span:first-child { color:#e6d8c4; }
.hero-visual { position:relative;display:grid;place-items:center;min-height:520px; }
.plate {
  width:min(440px,70vw);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,#ece2d2 0 56%,#b99467 57% 59%,#eee4d5 60% 67%,#5e4934 68% 69%,#1d1814 70%);
  box-shadow:0 35px 90px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.25);
  position:relative;transform:rotate(-9deg);
}
.food { position:absolute;border-radius:45% 55% 42% 58%;filter:drop-shadow(0 15px 12px rgba(0,0,0,.3)); }
.food-1 { width:45%;height:22%;background:linear-gradient(90deg,#70251c,#b94428,#6f241b);left:27%;top:30%;transform:rotate(9deg); }
.food-2 { width:39%;height:18%;background:linear-gradient(90deg,#b67c22,#e3a33d,#a56c1a);left:30%;top:50%;transform:rotate(-7deg); }
.food-3 { width:22%;height:13%;background:linear-gradient(135deg,#47702f,#89a63f);left:23%;top:43%;transform:rotate(25deg); }
.garnish { position:absolute;width:17%;height:17%;border-radius:50%;background:#b33b2f;right:23%;top:51%;box-shadow:0 0 0 8px rgba(179,59,47,.12); }
.visual-label { position:absolute;right:0;bottom:45px;writing-mode:vertical-rl;letter-spacing:9px;font-weight:900;font-size:10px;color:rgba(255,255,255,.35); }
.section { padding:105px clamp(20px,8vw,120px); }
.section-heading { display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px; }
.section-heading h2 { margin:0;font-size:clamp(42px,5vw,66px);line-height:.95;letter-spacing:-2px; }
.section-heading > p { max-width:380px;color:var(--muted);line-height:1.65;font-size:14px;margin:0; }
.special-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.special-card { background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden; }
.dish-art { height:260px;position:relative;display:flex;align-items:flex-end;padding:22px;overflow:hidden; }
.dish-art:before { content:"";position:absolute;width:240px;height:240px;border-radius:50%;border:1px solid rgba(255,255,255,.25);left:50%;top:50%;transform:translate(-50%,-50%); }
.dish-art span { position:relative;z-index:1;font-size:10px;letter-spacing:2px;font-weight:900;color:#fff;background:rgba(0,0,0,.25);padding:8px 10px;border-radius:999px; }
.duck { background:radial-gradient(circle at 50% 46%,#c96b37 0 16%,transparent 17%),radial-gradient(ellipse at 50% 48%,#7c271d 0 28%,transparent 29%),linear-gradient(135deg,#5b3327,#241914); }
.beef { background:radial-gradient(circle at 46% 46%,#d9a044 0 14%,transparent 15%),radial-gradient(ellipse at 50% 50%,#734023 0 29%,transparent 30%),linear-gradient(135deg,#39402d,#191b15); }
.pork { background:radial-gradient(ellipse at 50% 48%,#d8b37a 0 24%,transparent 25%),linear-gradient(135deg,#a95328,#321912); }
.card-copy { padding:22px; }
.card-copy h3 { font-size:27px;margin:3px 0 8px; }
.card-copy p:not(.card-kicker) { color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 16px; }
.card-copy strong { color:#9e6717;font-size:14px; }
.card-kicker { color:#a86d16;font-weight:900;font-size:10px;margin:0;letter-spacing:1px; }
.menu-section { background:var(--cream); }
.menu-layout { display:grid;grid-template-columns:1.4fr .6fr;gap:25px; }
.menu-list { background:#fff;border:1px solid var(--line);border-radius:22px;padding:15px 28px; }
.menu-category { padding:18px 0 22px; }
.menu-category + .menu-category { border-top:1px solid var(--line); }
.menu-category h3 { font-size:30px;margin:0 0 10px; }
.menu-row { display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px dashed #e4ddd2;font-size:14px; }
.menu-row b { color:#a86d16;white-space:nowrap; }
.menu-note { background:var(--ink);color:#fff;border-radius:22px;padding:35px;align-self:start; }
.menu-note h3 { font-size:32px;margin:0 0 12px; }
.menu-note p:not(.eyebrow) { color:#c9c0b4;font-size:14px;line-height:1.6; }
.text-link { color:#efb34a;text-decoration:none;font-weight:800;font-size:13px; }
.about-section { background:var(--ink);color:#fff;padding:110px clamp(20px,8vw,120px); }
.about-inner { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;max-width:1200px;margin:auto; }
.about-section h2 { font-size:clamp(50px,6vw,80px);line-height:.95;margin:0;letter-spacing:-3px; }
.about-copy { color:#c9c0b4;font-size:16px;line-height:1.8;max-width:500px; }
.contact-section { padding:100px clamp(20px,8vw,120px); }
.contact-card { display:grid;grid-template-columns:1fr 1fr;background:#eee6da;border-radius:25px;overflow:hidden;max-width:1200px;margin:auto; }
.contact-card > div:first-child { padding:55px; }
.contact-card h2 { font-size:clamp(45px,5vw,70px);line-height:.95;margin:0 0 28px; }
.contact-details { margin:0 0 28px; }
.contact-details p { display:flex;gap:18px;margin:13px 0;font-size:14px; }
.contact-details span { color:#8c8274;min-width:70px; }
.contact-details a { font-weight:800;text-decoration:none; }
.map-placeholder { min-height:450px;background:radial-gradient(circle at 35% 35%,rgba(215,149,39,.25),transparent 25%),linear-gradient(135deg,#3b3832,#171614);display:grid;place-content:center;text-align:center;color:#fff; }
.map-placeholder span { font:700 13px Arial;letter-spacing:4px; }
.map-placeholder small { color:#cfc6ba;margin-top:10px;letter-spacing:2px; }
footer { display:flex;justify-content:space-between;padding:25px clamp(20px,5vw,70px);border-top:1px solid var(--line);color:#8a8176;font-size:11px;letter-spacing:.6px; }
@media (max-width:850px) {
  .main-nav { position:absolute;top:76px;left:15px;right:15px;display:none;flex-direction:column;align-items:stretch;background:#fff;padding:14px;border:1px solid var(--line);border-radius:16px;box-shadow:0 15px 40px rgba(0,0,0,.1); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:12px; }
  .menu-toggle { display:block; }
  .hero { grid-template-columns:1fr;min-height:760px;padding:75px 25px 45px; }
  .hero-visual { min-height:290px; }
  .plate { width:290px; }
  .visual-label { right:15%;bottom:0; }
  .special-grid,.menu-layout,.about-inner,.contact-card { grid-template-columns:1fr; }
  .section-heading { display:block; }
  .section-heading > p { margin-top:18px; }
  .contact-card > div:first-child { padding:38px 28px; }
  .map-placeholder { min-height:260px; }
  footer { flex-direction:column;gap:8px; }
}
@media (max-width:520px) {
  h1 { letter-spacing:-3px; }
  .hero-meta { flex-direction:column;gap:7px; }
  .section { padding:75px 18px; }
  .special-grid { gap:14px; }
}

/* --- V2: czytelniejsza typografia, krótszy hero i pełna karta --- */
body { font-size:16px; font-weight:500; }
.site-header { padding-top:14px; padding-bottom:14px; }
.brand strong { font-size:15px; font-weight:900; }
.brand small { font-size:9px; font-weight:700; }
.main-nav { font-size:14px; font-weight:700; }
.hero { min-height:590px; padding-top:62px; padding-bottom:62px; grid-template-columns:1.05fr .95fr; }
.hero h1 { font-size:clamp(52px,6.8vw,88px); }
.hero-copy { font-size:19px; font-weight:500; line-height:1.6; }
.eyebrow { font-size:12px; font-weight:900; }
.hero-meta { font-size:14px; font-weight:700; }
.section-heading > p, .card-copy p:not(.card-kicker), .menu-intro p, .about-copy, .contact-details p { font-size:16px; font-weight:500; }
.button { font-size:13px; }
.hero-photo { min-height:430px; border-radius:28px; margin-left:45px; position:relative; z-index:2; }
.placeholder-photo { background:linear-gradient(145deg,#6e2f20,#1b1512 70%); border:1px solid rgba(255,255,255,.14); display:grid; place-items:center; text-align:center; color:#fff; overflow:hidden; }
.placeholder-photo:before { content:""; width:230px; height:230px; border:1px solid rgba(240,181,75,.35); border-radius:50%; position:absolute; }
.placeholder-photo div,.placeholder-photo span { position:relative; z-index:1; }
.placeholder-photo b { display:block; font-size:14px; letter-spacing:2px; }
.placeholder-photo div span { display:block; color:#cfc1b2; margin-top:9px; font-size:13px; }
.category-strip { display:flex; flex-wrap:wrap; gap:10px; margin:-8px 0 28px; }
.category-strip span { background:#fff; border:1px solid var(--line); padding:11px 15px; border-radius:999px; font-size:13px; font-weight:800; }
.full-menu-card { display:grid; grid-template-columns:.62fr 1.38fr; gap:28px; align-items:start; }
.menu-intro { background:#fff; border:1px solid var(--line); border-radius:22px; padding:32px; position:sticky; top:92px; }
.menu-intro h3 { font-size:34px; margin:0 0 14px; }
.menu-intro p { color:var(--muted); line-height:1.7; margin-bottom:24px; }
.menu-image-wrap { display:block; position:relative; border-radius:22px; overflow:hidden; background:#fff; border:1px solid var(--line); padding:12px; box-shadow:0 20px 50px rgba(39,29,18,.08); }
.menu-image-wrap img { display:block; width:100%; height:auto; border-radius:13px; }
.menu-image-wrap span { position:absolute; right:25px; bottom:25px; background:rgba(21,19,16,.9); color:#fff; border-radius:999px; padding:10px 14px; font-size:12px; font-weight:800; }
.photo-band { background:#211b17; color:#fff; padding:90px clamp(20px,8vw,120px); }
.photo-band-copy { max-width:760px; margin-bottom:35px; }
.photo-band h2 { font-size:clamp(42px,5vw,68px); line-height:1; margin:0 0 20px; }
.photo-band-copy > p:last-child { color:#c9c0b4; font-size:17px; line-height:1.7; }
.photo-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:14px; }
.photo-grid .placeholder-photo { min-height:280px; border-radius:20px; position:relative; font-size:13px; font-weight:900; letter-spacing:2px; }
@media (max-width:850px) {
  .hero { min-height:auto; padding-top:60px; }
  .hero-photo { margin:30px 0 0; min-height:330px; }
  .full-menu-card { grid-template-columns:1fr; }
  .menu-intro { position:static; }
  .photo-grid { grid-template-columns:1fr; }
  .photo-grid .placeholder-photo { min-height:220px; }
}

/* --- V3: bordo + złoto, dekoracyjne lampiony, prawdziwe wnętrze --- */
:root {
  --ink:#1d0d0c;
  --ink-2:#35110f;
  --cream:#f3e3bd;
  --paper:#f8edcf;
  --muted:#725d47;
  --gold:#d7a638;
  --gold-2:#f0c968;
  --line:#d7bd83;
  --red:#79120f;
  --red-deep:#4d0808;
}
body { background:linear-gradient(180deg,#f9efd5,#f5e5bf); }
.site-header { background:rgba(74,7,7,.95); border-bottom:1px solid rgba(240,201,104,.35); color:#fff4d1; }
.brand-mark { background:var(--gold); color:#4a0807; box-shadow:0 0 0 1px rgba(255,226,151,.45); }
.brand small { color:#e1c98e; }
.main-nav a { color:#fff1c8; }
.nav-cta { background:var(--gold); color:#3e0807!important; }
.menu-toggle { color:#fff1c8; }
.hero {
  min-height:610px;
  grid-template-columns:minmax(0,760px) 1fr;
  background-image:linear-gradient(90deg,rgba(49,2,3,.88) 0%,rgba(74,5,6,.70) 48%,rgba(71,4,5,.40) 100%),url('images/hero-lanterns.png');
  background-size:cover;
  background-position:center;
  border-bottom:3px solid #b78322;
}
.hero:before { background:linear-gradient(180deg,rgba(255,213,111,.05),transparent 38%,rgba(24,0,0,.28)); opacity:1; transform:none; }
.hero-content { max-width:760px; padding:18px 0; }
.hero h1 { margin-bottom:25px; letter-spacing:-3px; text-shadow:0 4px 30px rgba(0,0,0,.45); }
.hero h1 em { display:block; color:#f0c45e; font-style:normal; font-size:1.04em; letter-spacing:.02em; }
.hero h1 span { display:block; color:#fff5d8; font-size:.58em; letter-spacing:-2px; margin-top:10px; }
.hero-copy { color:#f3e3c4; max-width:600px; font-weight:600; }
.button-primary { background:linear-gradient(180deg,#f0c965,#d69e2e); color:#3c0a07; box-shadow:0 8px 28px rgba(0,0,0,.2); }
.button-ghost { background:rgba(66,4,4,.25); border-color:rgba(255,226,155,.6); color:#fff3d0; }
.hero-meta { color:#e6ce9a; }
.hero-meta span:first-child { color:#ffe7a8; }
.section { position:relative; }
.section-heading h2 { color:#39120d; }
.special-card,.menu-intro,.menu-image-wrap { background:#fff6df; border-color:#d9bd7d; }
.special-card { box-shadow:0 14px 35px rgba(84,40,13,.08); }
.card-copy h3,.menu-intro h3 { color:#4c130e; }
.eyebrow.dark,.card-kicker { color:#9b6712; }
.menu-section { background:linear-gradient(180deg,#ead39d 0%,#f4e4bd 100%); border-top:1px solid #d5b46e; border-bottom:1px solid #d5b46e; }
.category-strip span { background:#6e100d; color:#f9e5ad; border-color:#9b5f20; box-shadow:inset 0 0 0 1px rgba(255,220,131,.08); }
.button-dark { background:#68100d; color:#ffe9b1; }
.photo-band { background:linear-gradient(120deg,#420706,#77120e 60%,#35100c); border-top:1px solid #b47a25; border-bottom:1px solid #b47a25; display:grid; grid-template-columns:.7fr 1.3fr; gap:55px; align-items:center; }
.photo-band h2 { color:#f3c961; }
.photo-band-copy > p:last-child { color:#efdcb4; }
.real-interior { margin:0; position:relative; border-radius:24px; overflow:hidden; border:1px solid rgba(242,198,93,.55); box-shadow:0 24px 60px rgba(0,0,0,.32); }
.real-interior img { display:block; width:100%; height:auto; }
.real-interior figcaption { position:absolute; left:18px; bottom:18px; background:rgba(54,5,4,.82); color:#ffe5a4; padding:9px 13px; border:1px solid rgba(239,197,98,.38); border-radius:999px; font-size:12px; font-weight:800; }
.about-section { background:linear-gradient(135deg,#260806,#4d0c09); border-bottom:1px solid #9d671e; }
.about-section h2 { color:#f1c45d; }
.about-copy { color:#e8d5b2; }
.contact-section { background:#f7e9c6; }
.contact-card { background:#edd8a9; border:1px solid #d2ae63; box-shadow:0 20px 55px rgba(83,46,17,.1); }
.contact-card h2 { color:#4d120d; }
.map-placeholder { background:radial-gradient(circle at 35% 35%,rgba(225,169,53,.3),transparent 25%),linear-gradient(135deg,#67110d,#270706); }
footer { background:#390806; border-top-color:#9e651e; color:#d7bd85; }
@media (max-width:850px) {
  .main-nav { background:#4d0908; border-color:#9f6a28; }
  .hero { grid-template-columns:1fr; background-position:62% center; min-height:620px; }
  .photo-band { grid-template-columns:1fr; gap:30px; }
}

/* --- V4: godziny w nagłówku, Hunan i interaktywne menu --- */
.header-right { display:flex; align-items:center; gap:30px; }
.open-now { display:flex; align-items:center; gap:10px; padding-right:26px; border-right:1px solid rgba(240,201,104,.35); white-space:nowrap; }
.open-now span { font-size:10px; font-weight:900; letter-spacing:1.5px; color:#dfc789; }
.open-now strong { font-size:15px; letter-spacing:.5px; color:#ffd978; }
.interactive-menu { padding-bottom:120px; }
.menu-explorer { display:grid; grid-template-columns:minmax(330px,.78fr) minmax(430px,1.22fr); gap:28px; max-width:1200px; margin:0 auto; }
.menu-categories { display:flex; flex-direction:column; border-top:1px solid rgba(100,47,14,.22); }
.menu-category { width:100%; display:grid; grid-template-columns:45px 1fr 30px; align-items:center; gap:10px; padding:19px 15px; border:0; border-bottom:1px solid rgba(100,47,14,.22); background:transparent; color:#4d120d; text-align:left; cursor:pointer; transition:.22s ease; }
.menu-category span { font-size:11px; font-weight:900; color:#9d6c20; }
.menu-category strong { font:600 22px Georgia,"Times New Roman",serif; }
.menu-category b { font-size:20px; transition:transform .22s ease; }
.menu-category:hover,.menu-category.active { background:#6e100d; color:#ffe7aa; padding-left:24px; }
.menu-category:hover span,.menu-category.active span { color:#e8bb59; }
.menu-category:hover b,.menu-category.active b { transform:translateX(5px); }
.menu-preview { min-height:600px; position:sticky; top:95px; overflow:hidden; border-radius:26px; background:linear-gradient(145deg,#4d0808,#83140f 58%,#3c0807); border:1px solid #b17b2c; box-shadow:0 25px 60px rgba(73,30,8,.18); color:#fff0c9; display:flex; align-items:flex-end; }
.menu-preview:before { content:""; position:absolute; inset:0; background-image:url('images/hero-lanterns.png'); background-size:cover; background-position:center; opacity:.18; mix-blend-mode:screen; }
.preview-decoration { position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; }
.preview-decoration span { font:400 clamp(180px,25vw,340px) Georgia,serif; color:rgba(244,196,88,.12); line-height:1; transform:translateY(-25px); }
.preview-content { position:relative; z-index:2; width:100%; padding:48px; background:linear-gradient(transparent,rgba(38,3,3,.92) 34%); }
.preview-content h3 { font-size:clamp(43px,5vw,70px); margin:0 0 10px; color:#f4c85e; }
.preview-content > p:not(.eyebrow) { font-size:17px; line-height:1.6; max-width:580px; }
.future-items { margin:28px 0 24px; padding:18px 20px; border:1px solid rgba(244,200,94,.35); background:rgba(43,3,3,.38); border-radius:15px; }
.future-items span { display:block; font-size:11px; font-weight:900; letter-spacing:1.6px; color:#f1c967; text-transform:uppercase; }
.future-items p { margin:7px 0 0; color:#e9d6ae; font-size:14px; line-height:1.5; }
.original-menu-link { color:#ffe39a; font-weight:900; font-size:13px; text-decoration:none; border-bottom:1px solid rgba(255,227,154,.45); padding-bottom:3px; }
.hunan-section { display:grid; grid-template-columns:1fr 1fr; gap:70px; padding:105px clamp(20px,8vw,120px); background:linear-gradient(135deg,#260806,#54100b); color:#f5e4bd; border-bottom:1px solid #9d671e; }
.hunan-section h2 { margin:0; color:#f0c45d; font-size:clamp(48px,6vw,82px); line-height:.93; }
.hunan-copy { align-self:end; max-width:600px; font-size:18px; line-height:1.75; }
.demo-note { color:#bfae8c; font-size:12px!important; border-left:2px solid #ad7c2c; padding-left:14px; margin-top:25px; }
.visit-section { display:grid; grid-template-columns:1.1fr .9fr; gap:55px; align-items:center; padding:100px clamp(20px,8vw,120px); background:#f7e9c6; }
.visit-section .real-interior { border-color:#c89b47; box-shadow:0 22px 55px rgba(74,35,12,.16); }
.visit-copy h2 { color:#4d120d; font-size:clamp(48px,5vw,72px); line-height:.95; margin:0 0 22px; }
.visit-copy > p:not(.eyebrow) { color:#725d47; font-size:16px; line-height:1.7; max-width:520px; }
.mini-info { display:flex; gap:35px; margin-top:28px; padding-top:25px; border-top:1px solid #d3b16c; }
.mini-info span { font-weight:800; color:#4d120d; }
.mini-info small { display:block; color:#a17020; font-size:9px; letter-spacing:1.5px; margin-bottom:5px; }
@media (max-width:1100px) { .open-now span { display:none; } .header-right { gap:16px; } .main-nav { gap:17px; } }
@media (max-width:850px) {
  .header-right { gap:12px; }
  .open-now { border:0; padding:0; }
  .open-now strong { font-size:13px; }
  .menu-explorer,.hunan-section,.visit-section { grid-template-columns:1fr; }
  .menu-preview { position:relative; top:auto; min-height:470px; }
  .preview-content { padding:32px 26px; }
  .hunan-section { gap:35px; }
  .visit-section { gap:30px; }
  .mini-info { flex-direction:column; gap:16px; }
}
@media (max-width:560px) { .open-now { display:none; } .menu-category strong { font-size:19px; } }

/* V5: scalona sekcja wnętrza i kontaktu */
.visit-details { margin-top:28px; padding-top:24px; border-top:1px solid #d3b16c; display:grid; gap:14px; max-width:520px; }
.visit-details p { margin:0; color:#4d120d; font-size:18px; font-weight:700; }
.visit-details span { display:block; margin-bottom:4px; color:#a17020; font-size:10px; font-weight:800; letter-spacing:1.6px; text-transform:uppercase; }
.visit-details a { color:inherit; text-decoration:none; }
.visit-details a:hover { text-decoration:underline; }
.visit-actions { margin-top:26px; }

/* V6: cleaner section headings after removing explanatory placeholder copy */
.section-heading.compact-heading {
  grid-template-columns: 1fr;
  margin-bottom: clamp(1.8rem, 3vw, 2.8rem);
}

/* --- V7: cieplejsze tła + demonstracyjny system zamówień --- */
:root { --paper:#f5e6bd; --cream:#efddb0; }
body { background:linear-gradient(180deg,#f7eac8 0%,#f2dfae 100%); }
.section:not(.menu-section) { background:rgba(255,246,218,.38); }
.special-card { background:#fbf0cf; border-color:#d8b96f; }
.menu-section { background:linear-gradient(180deg,#ecd6a2,#f4e4bb); }
.visit-section { background:#ead39e; }
footer { background:#e3c789; color:#5f421f; border-top-color:#c89b47; }
.cart-nav { border:1px solid rgba(240,201,104,.45); background:transparent; color:#fff1c8; border-radius:999px; padding:9px 13px; font:800 12px/1 Inter,system-ui,sans-serif; cursor:pointer; }
.cart-nav span { display:inline-grid; place-items:center; min-width:20px; height:20px; margin-left:6px; padding:0 5px; border-radius:999px; background:var(--gold); color:#3e0807; }
.demo-badge { display:inline-block; margin:6px 0 14px; padding:7px 10px; border:1px solid rgba(240,201,104,.45); border-radius:999px; color:#e6c67c; font-size:10px; font-weight:900; letter-spacing:1px; }
.order-items { display:grid; gap:8px; margin:8px 0 22px; }
.order-item { display:grid; grid-template-columns:1fr auto auto; gap:12px; align-items:center; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.order-item strong { display:block; color:#fff3d4; font-size:14px; }
.order-item small { color:#bfae9b; font-size:11px; }
.order-price { color:var(--gold-2); font-weight:900; white-space:nowrap; }
.add-to-cart { border:0; border-radius:999px; padding:8px 11px; background:var(--gold); color:#3e0807; font-weight:900; cursor:pointer; }
.cart-overlay { position:fixed; inset:0; z-index:49; background:rgba(22,4,3,.58); backdrop-filter:blur(3px); }
.cart-drawer { position:fixed; z-index:50; top:0; right:0; width:min(460px,100%); height:100dvh; background:#f7e8c1; color:#2c1710; box-shadow:-25px 0 70px rgba(34,4,2,.3); transform:translateX(105%); transition:transform .28s ease; overflow:auto; }
.cart-drawer.open { transform:translateX(0); }
.cart-head { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:flex-start; padding:28px 28px 20px; background:rgba(247,232,193,.96); border-bottom:1px solid #d9ba72; backdrop-filter:blur(10px); }
.cart-head h2 { margin:0; font-size:38px; }
.cart-close { border:0; background:none; font-size:35px; line-height:1; cursor:pointer; color:#6b2b20; }
.cart-body { padding:24px 28px 36px; }
.cart-empty { color:#806b53; }
.cart-line { display:grid; grid-template-columns:1fr auto; gap:12px; padding:14px 0; border-bottom:1px solid #dbc58f; }
.cart-line strong { font-size:14px; }
.cart-line-price { font-weight:900; color:#8b5611; }
.cart-controls { display:flex; align-items:center; gap:8px; margin-top:8px; }
.cart-controls button { width:27px; height:27px; border:1px solid #c49c4b; background:#fff4d5; border-radius:50%; cursor:pointer; font-weight:900; }
.cart-controls .remove { width:auto; border:0; background:none; color:#8d3328; font-size:11px; }
.cart-summary { display:flex; justify-content:space-between; align-items:center; margin:20px 0; padding:17px 0; border-top:2px solid #c99c43; border-bottom:1px solid #d6b66e; }
.cart-summary strong { font-size:22px; }
.order-type { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:18px; }
.order-type label { padding:12px; border:1px solid #d0ad60; border-radius:12px; background:#fff0c9; font-size:13px; font-weight:800; }
.checkout-form { display:grid; gap:12px; }
.checkout-form label { display:grid; gap:6px; color:#6b5136; font-size:12px; font-weight:900; }
.checkout-form input,.checkout-form textarea { width:100%; border:1px solid #cfad65; border-radius:11px; background:#fff8e7; padding:12px 13px; font:500 14px Inter,system-ui,sans-serif; color:#2c1710; }
.checkout-button { margin-top:5px; border:0; border-radius:999px; padding:15px 18px; background:#78130f; color:#ffe3a0; font-weight:900; cursor:pointer; }
.checkout-note { margin:0; text-align:center; color:#866e52; font-size:10px; line-height:1.45; }
.demo-toast { position:fixed; z-index:60; left:50%; bottom:28px; transform:translateX(-50%); background:#3e0807; color:#ffe3a0; padding:13px 18px; border:1px solid #d7a638; border-radius:999px; box-shadow:0 15px 40px rgba(0,0,0,.25); font-size:12px; font-weight:900; }
@media (max-width:850px) { .cart-nav { width:100%; text-align:left; border-radius:12px; padding:12px; } }

/* V8 — koszyk jako osobny widok, bez automatycznego otwierania i bez dostawy */
.cart-overlay,.cart-drawer { display:none!important; }
.cart-page { min-height:calc(100vh - 78px); padding:70px clamp(20px,8vw,120px) 100px; background:linear-gradient(180deg,#f7eac8,#ecd39a); }
.cart-page-shell { max-width:1180px; margin:0 auto; }
.cart-page-head { display:flex; align-items:end; justify-content:space-between; gap:30px; padding-bottom:30px; border-bottom:1px solid #cba354; }
.cart-page-head h2 { margin:5px 0 0; color:#39120d; font-size:clamp(46px,6vw,76px); line-height:.95; }
.back-to-menu { border:1px solid #9f6a28; background:transparent; color:#68100d; border-radius:999px; padding:13px 18px; font-weight:900; cursor:pointer; }
.cart-layout { display:grid; grid-template-columns:1.35fr .65fr; gap:60px; padding-top:42px; align-items:start; }
.cart-page .cart-items { min-height:180px; }
.cart-page .cart-line { padding:20px 0; border-bottom:1px solid #cfad65; }
.cart-page .cart-line strong { font-size:18px; }
.cart-page .cart-line-price { font-size:18px; }
.cart-page .cart-summary { margin-top:28px; font-size:18px; }
.cart-page .cart-summary strong { font-size:28px; }
.checkout-panel { position:sticky; top:105px; padding:28px; border:1px solid #c89b47; border-radius:22px; background:#fbf0cf; box-shadow:0 20px 50px rgba(74,35,12,.1); }
.pickup-box { display:grid; gap:6px; padding-bottom:22px; border-bottom:1px solid #d6b66e; }
.pickup-box span { color:#8b5611; font-size:11px; font-weight:900; letter-spacing:.13em; }
.pickup-box strong { color:#49120e; font-size:18px; }
.pickup-box small { color:#806b53; font-weight:700; }
.checkout-next { width:100%; margin-top:22px; border:0; border-radius:999px; padding:16px 18px; background:#78130f; color:#ffe3a0; font-weight:900; cursor:pointer; }
.form-title { margin:22px 0 4px; color:#49120e; font-size:19px; font-weight:900; }
.empty-back { border:0; background:none; padding:0; color:#78130f; font:inherit; font-weight:900; text-decoration:underline; cursor:pointer; }
.add-toast { position:fixed; z-index:60; right:28px; bottom:28px; background:#3e0807; color:#ffe3a0; padding:13px 18px; border:1px solid #d7a638; border-radius:999px; box-shadow:0 15px 40px rgba(0,0,0,.25); font-size:12px; font-weight:900; }
@media (max-width:850px) {
  .cart-page { padding-top:45px; }
  .cart-page-head { align-items:flex-start; flex-direction:column; }
  .cart-layout { grid-template-columns:1fr; gap:30px; }
  .checkout-panel { position:static; }
  .add-toast { left:50%; right:auto; transform:translateX(-50%); white-space:nowrap; }
}

/* V9 — płynniejsze menu, pełna nawigacja z koszyka i uproszczony checkout */
.order-item { grid-template-columns:54px 1fr auto auto; }
.dish-thumb { width:48px; height:48px; flex:0 0 48px; border-radius:13px; overflow:hidden; position:relative; display:grid; place-items:center; border:1px solid rgba(244,200,94,.34); background:linear-gradient(145deg,#6d100d,#2f0706); box-shadow:inset 0 0 25px rgba(255,192,65,.08); }
.dish-thumb:before { content:""; position:absolute; inset:0; background:url('images/hero-lanterns.png') center/cover; opacity:.24; }
.dish-thumb span { position:relative; z-index:1; color:#f5c75e; font:700 21px Georgia,serif; text-shadow:0 2px 8px #3d0605; }
.dish-thumb.soups{background:linear-gradient(145deg,#7e2612,#3c0906)} .dish-thumb.poultry{background:linear-gradient(145deg,#7a3810,#3a0906)} .dish-thumb.pork{background:linear-gradient(145deg,#761810,#350706)} .dish-thumb.beef{background:linear-gradient(145deg,#542015,#250806)} .dish-thumb.duck{background:linear-gradient(145deg,#8a2b0d,#3b0705)} .dish-thumb.seafood{background:linear-gradient(145deg,#6b3420,#310b08)} .dish-thumb.noodles{background:linear-gradient(145deg,#88601b,#4a1308)}
.menu-item-enter { opacity:0; transform:translateY(12px); animation:menuItemIn .34s cubic-bezier(.2,.75,.25,1) forwards; animation-delay:var(--delay); }
@keyframes menuItemIn { to { opacity:1; transform:translateY(0); } }
.menu-preview.category-changing .preview-decoration span { animation:symbolSwap .42s ease; }
.menu-preview.category-changing .preview-content h3,.menu-preview.category-changing .preview-content>p { animation:copySwap .34s ease; }
@keyframes symbolSwap { 0%{opacity:.05;transform:translateY(-25px) scale(.9) rotate(-4deg)} 55%{opacity:.18} 100%{opacity:.12;transform:translateY(-25px) scale(1) rotate(0)} }
@keyframes copySwap { 0%{opacity:.25;transform:translateY(7px)} 100%{opacity:1;transform:translateY(0)} }
.add-to-cart { transition:transform .16s ease,filter .16s ease; } .add-to-cart:hover{transform:translateY(-2px);filter:brightness(1.08)} .add-to-cart:active{transform:scale(.95)}
.cart-bump { animation:cartBump .38s ease; } @keyframes cartBump{50%{transform:scale(1.08);background:rgba(240,201,104,.16)}}
.pickup-box,.checkout-next { display:none!important; }
.pickup-note { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-bottom:24px; padding:13px 15px; border-radius:13px; background:#f3dfac; border:1px solid #d5b15e; color:#4b150f; }
.pickup-note strong { font-size:14px; } .pickup-note span { color:#80613d; font-size:12px; font-weight:700; text-align:right; }
.form-title { margin:0 0 4px; }
.payment-methods { display:grid; gap:9px; margin:7px 0 2px; padding:0; border:0; }
.payment-methods legend { margin-bottom:8px; color:#6b5136; font-size:12px; font-weight:900; }
.payment-option { display:flex!important; grid-template-columns:none!important; gap:10px!important; align-items:flex-start; padding:12px; border:1px solid #cfad65; border-radius:12px; background:#fff6dc; cursor:pointer; }
.payment-option input { width:auto!important; margin-top:3px; accent-color:#78130f; }
.payment-option span { display:grid; gap:2px; } .payment-option strong { color:#49120e; font-size:13px; } .payment-option small { color:#806b53; font-size:10px; line-height:1.35; }
.cart-product { display:flex; align-items:center; gap:14px; min-width:0; } .cart-product>div:last-child { min-width:0; } .cart-product small { display:block; margin-top:3px; color:#8c704e; font-size:11px; font-weight:700; }
.cart-thumb { width:72px; height:72px; flex-basis:72px; border-color:#c69b45; } .cart-thumb span { font-size:27px; }
.cart-page .cart-line { grid-template-columns:minmax(0,1fr) auto; align-items:center; }
@media(max-width:600px){.order-item{grid-template-columns:44px 1fr auto}.dish-thumb{width:40px;height:40px;flex-basis:40px}.order-price{grid-column:2}.add-to-cart{grid-column:3;grid-row:1/3}.cart-thumb{width:58px;height:58px;flex-basis:58px}.pickup-note{align-items:flex-start;flex-direction:column}.pickup-note span{text-align:left}}
@media (prefers-reduced-motion:reduce){.menu-item-enter,.menu-preview.category-changing *,.cart-bump{animation:none!important}.menu-category,.add-to-cart{transition:none!important}}

/* V10 — zamawianie ze Specjałów */
.special-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.special-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(70,22,17,.13);border-color:rgba(169,116,38,.45)}
.special-card .dish-art{transition:transform .35s ease,filter .35s ease}
.special-card:hover .dish-art{transform:scale(1.015);filter:saturate(1.08)}
.special-order{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px;padding-top:15px;border-top:1px solid rgba(114,72,35,.18)}
.special-order strong{font-size:1.08rem;color:#6f201c}
.special-add{border:1px solid #a97426;background:#7b201d;color:#fff7df;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;transition:transform .18s ease,background .18s ease}
.special-add:hover{transform:translateY(-2px);background:#942a24}
.special-add:active{transform:scale(.96)}

/* V11 — animowane usuwanie i cofanie pozycji koszyka */
.cart-line { transition: opacity .24s ease, transform .24s ease, max-height .28s ease, padding .28s ease, margin .28s ease; transform-origin:center; }
.cart-line-removing { opacity:0; transform:translateX(-22px) scale(.985); pointer-events:none; }
.cart-line-restored { animation:cartRestore .42s cubic-bezier(.2,.8,.2,1); }
@keyframes cartRestore { 0%{opacity:0;transform:translateX(-18px)} 65%{opacity:1;transform:translateX(4px)} 100%{transform:none} }
.undo-toast { position:fixed; z-index:70; left:50%; bottom:28px; display:flex; align-items:center; gap:18px; max-width:calc(100vw - 32px); transform:translate(-50%,18px); opacity:0; background:#3e0807; color:#ffe3a0; padding:12px 14px 12px 18px; border:1px solid #d7a638; border-radius:999px; box-shadow:0 15px 40px rgba(0,0,0,.28); font-size:12px; font-weight:800; transition:opacity .18s ease,transform .18s ease; }
.undo-toast.show { opacity:1; transform:translate(-50%,0); }
.undo-toast button { border:0; border-left:1px solid rgba(255,227,160,.3); padding:4px 5px 4px 14px; background:transparent; color:#f0c968; text-transform:uppercase; letter-spacing:.08em; font-weight:950; cursor:pointer; }
.undo-toast button:hover { color:#fff0bd; }
@media(max-width:600px){.undo-toast{width:calc(100vw - 32px);justify-content:space-between;border-radius:16px}}
@media(prefers-reduced-motion:reduce){.cart-line,.undo-toast{transition:none!important}.cart-line-restored{animation:none!important}}

/* --- V12: spójny feedback interakcji --- */
.main-nav a:not(.nav-cta) { position:relative; transition:color .2s ease, transform .2s ease; }
.main-nav a:not(.nav-cta)::after { content:""; position:absolute; left:50%; right:50%; bottom:-7px; height:2px; border-radius:99px; background:var(--gold); transition:left .22s ease,right .22s ease,box-shadow .22s ease; box-shadow:0 0 0 rgba(240,196,94,0); }
.main-nav a:not(.nav-cta):hover,.main-nav a:not(.nav-cta):focus-visible { color:#ffd86d; transform:translateY(-1px); }
.main-nav a:not(.nav-cta):hover::after,.main-nav a:not(.nav-cta):focus-visible::after { left:8%; right:8%; box-shadow:0 0 12px rgba(240,196,94,.45); }

.button,.nav-cta,.cart-nav { transition:transform .18s ease, background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, filter .2s ease; }
.button:hover,.button:focus-visible,.nav-cta:hover,.nav-cta:focus-visible,.cart-nav:hover,.cart-nav:focus-visible { background:var(--gold)!important; color:#3e0807!important; border-color:var(--gold)!important; transform:translateY(-2px); box-shadow:0 8px 24px rgba(216,157,42,.28),0 0 0 1px rgba(255,222,128,.18); filter:brightness(1.05); }
.button:active,.nav-cta:active,.cart-nav:active { transform:translateY(1px) scale(.985); box-shadow:0 3px 10px rgba(84,31,11,.18); }

.brand { transition:filter .2s ease, transform .2s ease; }
.brand:hover,.brand:focus-visible { filter:brightness(1.12); }
.brand:active { transform:translateY(1px); }

.button:focus-visible,.nav-cta:focus-visible,.cart-nav:focus-visible,.main-nav a:focus-visible,.brand:focus-visible { outline:3px solid rgba(255,216,109,.72); outline-offset:4px; }

@media (max-width:900px) {
  .main-nav a:not(.nav-cta)::after { bottom:5px; }
  .main-nav a:not(.nav-cta):hover::after,.main-nav a:not(.nav-cta):focus-visible::after { left:12px; right:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .button,.nav-cta,.cart-nav,.main-nav a,.main-nav a::after,.brand { transition:none!important; transform:none!important; }
}

/* --- V13: dopracowane CTA, koszyk i subtelny motyw Wielkiego Muru --- */
/* Główne złote CTA w hero nie zmienia już gwałtownie koloru na hover. */
.hero .button-primary:hover,
.hero .button-primary:focus-visible {
  background:linear-gradient(180deg,#f6d477,#dca533)!important;
  color:#3c0a07!important;
  border-color:#f1c95f!important;
  filter:none;
  transform:translateY(-2px);
  box-shadow:0 11px 28px rgba(0,0,0,.26),0 0 0 1px rgba(255,226,145,.28);
}
.hero .button-primary:active { transform:translateY(1px) scale(.985); }

/* Powrót z koszyka ma własny, bardziej miękki feedback. */
.back-to-menu {
  position:relative; overflow:hidden;
  transition:color .22s ease,border-color .22s ease,background .22s ease,transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;
}
.back-to-menu::before {
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(90deg,#efd07b,#dca538);
  transform:translateX(-105%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}
.back-to-menu:hover,.back-to-menu:focus-visible { color:#3e0807; border-color:#c9902e; transform:translateX(-3px); box-shadow:0 7px 20px rgba(118,57,17,.13); }
.back-to-menu:hover::before,.back-to-menu:focus-visible::before { transform:translateX(0); }
.back-to-menu:active { transform:translateX(-5px) scale(.985); }

/* Pusty koszyk jest stanem informacyjnym, nie kolejnym odnośnikiem. */
.cart-empty { margin:28px 0; padding:34px 24px; text-align:center; border:1px dashed rgba(145,104,48,.38); border-radius:18px; color:#806b53; font-weight:800; background:rgba(255,248,225,.45); }
.cart-empty::before { content:"篮"; display:block; margin-bottom:8px; color:rgba(113,31,25,.42); font:700 34px Georgia,serif; }
.empty-back { display:none!important; }

/* Delikatny szaro-brązowy zarys Wielkiego Muru na kremowych sekcjach. */
.specials-section,.menu-section { position:relative; isolation:isolate; overflow:hidden; }
.specials-section::before,.menu-section::before {
  content:""; position:absolute; z-index:-1; left:0; right:0; bottom:0; height:210px;
  opacity:.12; pointer-events:none;
  background-repeat:repeat-x; background-position:center bottom; background-size:900px 190px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 190'%3E%3Cg fill='none' stroke='%236f685f' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-20 170 C80 145 105 92 190 115 S320 170 390 121 S505 72 575 108 S700 156 920 80'/%3E%3Cpath d='M-20 184 C82 159 111 108 193 131 S320 185 397 137 S510 89 580 124 S706 171 920 96'/%3E%3Cpath d='M102 130v-27h35v17 M270 148v-31h38v19 M455 105V70h39v19 M647 137v-32h39v20 M805 110V77h39v20'/%3E%3Cpath d='M96 103h47 M264 117h50 M449 70h51 M641 105h51 M799 77h51'/%3E%3C/g%3E%3C/svg%3E");
}
.specials-section>* , .menu-section>* { position:relative; z-index:1; }

@media(prefers-reduced-motion:reduce){.back-to-menu,.back-to-menu::before,.hero .button-primary{transition:none!important;transform:none!important}}

/* V15: spokojna informacja o zamówieniach online — bez ramki i bez udawania przycisku */
.online-order-note{display:block;margin:28px 0 30px;max-width:540px;color:#f4eadc}
.online-order-note strong{display:block;color:#efc45e;font-size:1.05rem;font-weight:850;letter-spacing:.025em;margin-bottom:7px}
.online-order-note strong span{display:inline;color:#d9a83e;margin:0 .25em}
.online-order-note>span{display:block;color:#d8cfc3;font-size:.96rem;line-height:1.55}
.hero .online-order-note + .hero-actions{margin-top:0}
@media(max-width:700px){.online-order-note{margin:24px 0 28px}.online-order-note strong{font-size:1rem}.online-order-note>span{max-width:34ch}}


/* V21 — chińskie motywy jako prawdziwe dekoracje SVG, nie wygenerowane tło */
#menu, .menu-section { position:relative; overflow:hidden; isolation:isolate; }
.menu-blossom-shadows { position:absolute; inset:0; z-index:-1; pointer-events:none; color:#5c3a32; opacity:.105; }
.blossom-tree { position:absolute; top:0; width:min(38vw,520px); height:100%; min-height:700px; }
.blossom-left { left:-8%; }
.blossom-right { right:-8%; transform:scaleX(-1); opacity:.72; }

/* cień drzew ma obejmować całą sekcję, ale środek z kartami zostaje czytelny */
.menu-blossom-shadows::after{
 content:""; position:absolute; inset:0;
 background:radial-gradient(ellipse at center, rgba(250,240,220,.84) 0 30%, rgba(250,240,220,.42) 55%, transparent 78%);
}

#cart, #cart-view, #cartView, #cart-page, .cart-view, .cart-page, .cart-section {
 position:relative; overflow:hidden; isolation:isolate;
}
.cart-bamboo-shadows { position:absolute; inset:0; z-index:-1; pointer-events:none; color:#5c4939; opacity:.13; }
.bamboo { position:absolute; bottom:-45px; width:min(20vw,260px); height:calc(100% + 45px); min-height:650px; }
.bamboo-left { left:-18px; transform:rotate(-3deg); transform-origin:bottom left; }
.bamboo-right { right:-18px; transform:scaleX(-1) rotate(-3deg); transform-origin:bottom right; }

@media (max-width:760px){
 .menu-blossom-shadows{opacity:.075}
 .blossom-tree{width:250px}
 .blossom-left{left:-125px}.blossom-right{right:-125px}
 .cart-bamboo-shadows{opacity:.09}
 .bamboo{width:150px}
 .bamboo-left{left:-75px}.bamboo-right{right:-75px}
}


/* V22 — tło Menu z obrazu użytkownika jako delikatny cień */
#menu, .menu-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
#menu::before, .menu-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:url("images/blossom-menu-shadow.png");
  background-size:cover;
  background-position:center 42%;
  background-repeat:no-repeat;
  opacity:.23;
  filter:sepia(.16) saturate(.55);
}
#menu::after, .menu-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:rgba(250,240,220,.72);
}
.menu-blossom-shadows{display:none!important;}


/* V23 FIX — poprzednie tło było schowane ZA tłem sekcji przez z-index:-2.
   Teraz obraz użytkownika faktycznie jest widoczny jako cień wewnątrz Menu. */
#menu.menu-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:linear-gradient(rgba(242,225,185,.86),rgba(247,234,205,.88)) !important;
}
#menu.menu-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url("images/blossom-menu-source.png") center 46% / cover no-repeat;
  opacity:.20;
  filter:grayscale(1) sepia(.38) contrast(1.08);
  mix-blend-mode:multiply;
}
#menu.menu-section::after{display:none!important;}
#menu.menu-section > *{position:relative;z-index:1;}


/* V24 — subtelny chiński lattice w koszyku */
.cart-bamboo-shadows{display:none!important;}

#cart, #cart-view, #cartView, #cart-page, .cart-view, .cart-page, .cart-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

/* Geometryczna kratka inspirowana tradycyjnymi chińskimi panelami okiennymi. */
#cart::before, #cart-view::before, #cartView::before, #cart-page::before,
.cart-view::before, .cart-page::before, .cart-section::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.075;
  background-image:
    linear-gradient(90deg, transparent 0 18px, #7d1d1d 18px 21px, transparent 21px 39px, #7d1d1d 39px 42px, transparent 42px),
    linear-gradient(0deg, transparent 0 18px, #7d1d1d 18px 21px, transparent 21px 39px, #7d1d1d 39px 42px, transparent 42px),
    linear-gradient(90deg, transparent 0 7px, #7d1d1d 7px 10px, transparent 10px 50px),
    linear-gradient(0deg, transparent 0 7px, #7d1d1d 7px 10px, transparent 10px 50px);
  background-size:84px 84px,84px 84px,84px 84px,84px 84px;
  background-position:center;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 18%,rgba(0,0,0,.18) 44%,rgba(0,0,0,.18) 56%,rgba(0,0,0,.72) 82%,#000 100%);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 18%,rgba(0,0,0,.18) 44%,rgba(0,0,0,.18) 56%,rgba(0,0,0,.72) 82%,#000 100%);
}

/* dodatkowe kwadratowe "węzły" wzoru */
#cart::after, #cart-view::after, #cartView::after, #cart-page::after,
.cart-view::after, .cart-page::after, .cart-section::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.055;
  background:
    linear-gradient(45deg,transparent 45%,#7d1d1d 46% 54%,transparent 55%) 0 0/84px 84px,
    linear-gradient(-45deg,transparent 45%,#7d1d1d 46% 54%,transparent 55%) 0 0/84px 84px;
}

@media(max-width:760px){
  #cart::before,#cart-view::before,#cartView::before,#cart-page::before,
  .cart-view::before,.cart-page::before,.cart-section::before{opacity:.05;background-size:68px 68px;}
}

/* V25 — wypełnienie pustego środka hero: góry + rzeka, wykonane w kodzie */
.hero{position:relative;isolation:isolate;overflow:hidden;}
.hero-landscape{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.hero-landscape svg{position:absolute;left:0;right:0;bottom:0;width:100%;height:100%;}
.hero-landscape .mount{fill:url(#mountFade);}
.hero-landscape .far{opacity:.36;filter:blur(.35px);}
.hero-landscape .near{opacity:.42;}
.hero-landscape .river{fill:url(#riverGlow);filter:blur(.2px);}
.hero-landscape .river-line{fill:none;stroke:rgba(249,211,126,.20);stroke-width:3;}
.hero-landscape .r2{stroke-width:2;opacity:.7;}
.hero-landscape .bridge{fill:none;stroke:rgba(24,7,8,.55);stroke-width:5;stroke-linecap:round;}
.hero > :not(.hero-landscape){position:relative;z-index:1;}
/* utrzymujemy lewą stronę ciemniejszą pod tekstem; środek pozostaje otwarty */
.hero-landscape::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,4,7,.25),transparent 44%,transparent 78%,rgba(37,4,7,.08));}
@media(max-width:760px){
 .hero-landscape{opacity:.72}
 .hero-landscape svg{width:135%;left:-18%}
 .hero-landscape .bridge{display:none}
}

/* V26 — menu jako zwarty panel, żeby blossom był widoczny dookoła */
#menu .menu-shell, .menu-section .menu-shell,
#menu .menu-layout, .menu-section .menu-layout{
  width:min(1180px,92%);
  margin-inline:auto;
  border-radius:24px;
}

/* Lewa lista kategorii: przycięta do treści zamiast pełnej wysokości sekcji */
#menu .menu-categories, .menu-section .menu-categories,
#menu .categories, .menu-section .categories,
#menu .category-list, .menu-section .category-list{
  align-self:flex-start !important;
  height:max-content !important;
  min-height:0 !important;
  border-radius:18px;
  overflow:hidden;
}

/* Nie rozciągaj kolumn siatki do wysokości najwyższego elementu */
#menu .menu-grid, .menu-section .menu-grid,
#menu .menu-layout, .menu-section .menu-layout{
  align-items:start !important;
}

/* Sam panel z kategoriami ma wyglądać jak prostokąt osadzony na tle drzewa */
#menu .menu-categories, .menu-section .menu-categories,
#menu .categories, .menu-section .categories,
#menu .category-list, .menu-section .category-list{
  background:rgba(255,248,235,.88);
  box-shadow:0 10px 32px rgba(74,31,25,.08);
  backdrop-filter:blur(2px);
}

/* Więcej oddechu przy bokach odsłania obraz drzewa */
#menu.menu-section{padding-left:clamp(18px,4vw,70px);padding-right:clamp(18px,4vw,70px);}

/* V27 — poprawka właściwego elementu: .menu-explorer, nie nieistniejącego .menu-layout */
#menu.menu-section{
  padding-left:clamp(20px,6vw,110px);
  padding-right:clamp(20px,6vw,110px);
}
#menu .menu-explorer{
  width:min(1060px,88%);
  grid-template-columns:minmax(280px,340px) minmax(420px,1fr);
  align-items:start;
  gap:26px;
  margin-inline:auto;
}
#menu .menu-categories{
  width:100%;
  height:auto!important;
  min-height:0!important;
  align-self:start!important;
  border:1px solid rgba(100,47,14,.22);
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,248,232,.90);
  box-shadow:0 12px 34px rgba(72,32,20,.10);
}
#menu .menu-category:first-child{border-top:0}
#menu .menu-category:last-child{border-bottom:0}
#menu .menu-preview{
  width:100%;
  min-height:560px;
}
/* odsłaniamy znacznie więcej blossom po obu stronach panelu */
#menu.menu-section::before{
  background-size:cover!important;
  background-position:center 44%!important;
  opacity:.29!important;
}
@media(max-width:900px){
 #menu .menu-explorer{width:100%;grid-template-columns:1fr}
 #menu .menu-categories{max-width:100%}
}

/* V29 — blossom ma być jednym tłem CAŁEJ sekcji Menu, bez jasnego prostokąta */
#menu.menu-section{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background:
    linear-gradient(rgba(247,232,196,.72),rgba(247,232,196,.72)),
    url("images/blossom-menu-source.png") center center / cover no-repeat !important;
}

/* Wyłączamy wcześniejsze pseudo-tło — ono tworzyło efekt pasa tylko u góry. */
#menu.menu-section::before,
#menu.menu-section::after{
  content:none!important;
  display:none!important;
}

/* Wszystkie główne kontenery menu są transparentne, żeby nie robiły
   wielkiego jaśniejszego prostokąta na środku obrazu. */
#menu .container,
#menu .menu-wrap,
#menu .menu-shell,
#menu .menu-explorer{
  background:transparent!important;
  box-shadow:none;
}

/* Same elementy interfejsu zachowują swoje powierzchnie dla czytelności. */
#menu .menu-categories{
  background:rgba(255,248,232,.90)!important;
}
#menu .menu-preview{
  position:relative;
  background:linear-gradient(145deg,rgba(104,10,13,.97),rgba(49,3,5,.98))!important;
}

/* delikatne przyciemnienie obrazu pod samą treścią, bez prostokątnej plamy */
#menu .menu-explorer{
  position:relative;
  z-index:1;
}

/* V30 — kategorie i podgląd ponownie zaczynają się na tej samej wysokości */
#menu .menu-explorer{
  display:grid!important;
  grid-template-columns:minmax(260px,330px) minmax(0,1fr)!important;
  align-items:start!important;
  gap:26px!important;
}
#menu .menu-categories,
#menu .menu-preview{
  margin-top:0!important;
  align-self:start!important;
}
@media(max-width:900px){
 #menu .menu-explorer{grid-template-columns:1fr!important;}
}

/* V31 — koszyk: 祥云 / chińskie chmury zamiast geometrycznej kratki */
#cart::before,#cart-view::before,#cartView::before,#cart-page::before,
.cart-view::before,.cart-page::before,.cart-section::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  opacity:.095!important;
  background:
    radial-gradient(circle at 9% 17%, transparent 0 23px,#7d1d1d 24px 27px,transparent 28px),
    radial-gradient(circle at 13% 17%, transparent 0 34px,#7d1d1d 35px 39px,transparent 40px),
    radial-gradient(circle at 17% 17%, transparent 0 22px,#7d1d1d 23px 26px,transparent 27px),
    radial-gradient(ellipse at 13% 21%,transparent 0 72px,#7d1d1d 73px 77px,transparent 78px),
    radial-gradient(circle at 91% 29%,transparent 0 25px,#7d1d1d 26px 29px,transparent 30px),
    radial-gradient(circle at 87% 29%,transparent 0 38px,#7d1d1d 39px 43px,transparent 44px),
    radial-gradient(circle at 83% 29%,transparent 0 24px,#7d1d1d 25px 28px,transparent 29px),
    radial-gradient(ellipse at 87% 33%,transparent 0 78px,#7d1d1d 79px 83px,transparent 84px),
    radial-gradient(circle at 5% 69%,transparent 0 30px,#7d1d1d 31px 35px,transparent 36px),
    radial-gradient(circle at 10% 69%,transparent 0 44px,#7d1d1d 45px 49px,transparent 50px),
    radial-gradient(circle at 15% 69%,transparent 0 28px,#7d1d1d 29px 33px,transparent 34px),
    radial-gradient(ellipse at 10% 74%,transparent 0 90px,#7d1d1d 91px 96px,transparent 97px),
    radial-gradient(circle at 95% 82%,transparent 0 29px,#7d1d1d 30px 34px,transparent 35px),
    radial-gradient(circle at 90% 82%,transparent 0 42px,#7d1d1d 43px 47px,transparent 48px),
    radial-gradient(circle at 85% 82%,transparent 0 27px,#7d1d1d 28px 32px,transparent 33px),
    radial-gradient(ellipse at 90% 87%,transparent 0 86px,#7d1d1d 87px 92px,transparent 93px)!important;
  background-color:transparent!important;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 20%,transparent 43%,transparent 57%,rgba(0,0,0,.85) 80%,#000 100%)!important;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 20%,transparent 43%,transparent 57%,rgba(0,0,0,.85) 80%,#000 100%)!important;
}
#cart::after,#cart-view::after,#cartView::after,#cart-page::after,
.cart-view::after,.cart-page::after,.cart-section::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  opacity:.075!important;
  background:
    radial-gradient(circle at 2% 43%,transparent 0 18px,#7d1d1d 19px 22px,transparent 23px),
    radial-gradient(circle at 6% 43%,transparent 0 29px,#7d1d1d 30px 33px,transparent 34px),
    radial-gradient(ellipse at 5% 47%,transparent 0 62px,#7d1d1d 63px 67px,transparent 68px),
    radial-gradient(circle at 98% 55%,transparent 0 20px,#7d1d1d 21px 24px,transparent 25px),
    radial-gradient(circle at 94% 55%,transparent 0 31px,#7d1d1d 32px 35px,transparent 36px),
    radial-gradient(ellipse at 95% 59%,transparent 0 65px,#7d1d1d 66px 70px,transparent 71px)!important;
}
@media(max-width:760px){
 #cart::before,#cart-view::before,#cartView::before,#cart-page::before,
 .cart-view::before,.cart-page::before,.cart-section::before{opacity:.06!important}
 #cart::after,#cart-view::after,#cartView::after,#cart-page::after,
 .cart-view::after,.cart-page::after,.cart-section::after{opacity:.045!important}
}

/* V32 — właściwe poprawki */
#menu .menu-preview{
  top:0!important; /* wcześniejsze top:95px nadal działało przy position:relative */
  margin-top:0!important;
}

/* Chmury są nad tłem koszyka, ale pod całą treścią. */
.cart-page{position:relative!important;isolation:isolate!important;overflow:hidden!important;}
.cart-page::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:.13!important;
  background:url("images/cart-xiangyun.svg") center/cover no-repeat!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.cart-page::after{content:none!important;display:none!important;}
.cart-page-shell{position:relative!important;z-index:1!important;}
@media(max-width:760px){
 .cart-page::before{opacity:.09!important;background-size:auto 100%!important;}
}

/* V33 — finalne assety graficzne zamiast rysowania ornamentów kodem */

/* Menu: pełna poprzednio wygenerowana panorama, lekko wyblakła kremową warstwą. */
#menu.menu-section{
  background:
    linear-gradient(rgba(247,232,196,.48),rgba(247,232,196,.48)),
    url("images/menu-landscape-v33.png") center center / cover no-repeat !important;
}
#menu.menu-section::before,#menu.menu-section::after{content:none!important;display:none!important;}
#menu .container,#menu .menu-wrap,#menu .menu-shell,#menu .menu-explorer{background:transparent!important;}
#menu .menu-preview{top:0!important;margin-top:0!important;}

/* Koszyk: subtelny osobny asset z chmurami, nie geometryczne CSS/SVG. */
.cart-page{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
}
.cart-page::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  opacity:1!important;
  background:url("images/cart-clouds-v33.png") center/cover no-repeat!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}
.cart-page::after{content:none!important;display:none!important;}
.cart-page-shell{position:relative!important;z-index:1!important;}

/* V34 */
#menu .menu-category{height:64px!important;min-height:64px!important;max-height:64px!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:34px minmax(0,1fr) 24px!important;align-items:center!important}
#menu .menu-category strong{line-height:1.05!important;margin:0!important}
#menu .menu-category:nth-child(7) strong,#menu .menu-category:nth-child(9) strong{font-size:17px!important}
.cart-page::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;opacity:.42!important;background:linear-gradient(rgba(249,237,211,.34),rgba(249,237,211,.34)),url("images/cart-xiangyun-generated-v34.jpg") center/cover no-repeat!important;mask-image:none!important;-webkit-mask-image:none!important}
.cart-page::after{content:none!important;display:none!important}.cart-page-shell{position:relative!important;z-index:1!important}

/* V35 — cofnięcie wymuszonych wysokości kategorii z V34 */
#menu .menu-category{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  grid-template-columns:none!important;
}
#menu .menu-category strong{
  line-height:1.12!important;
}
#menu .menu-category:nth-child(7) strong,
#menu .menu-category:nth-child(9) strong{
  font-size:inherit!important;
}

/* Problem był po prawej: różna liczba/układ dań zmieniały wysokość .menu-preview.
   Panel wybranej kategorii ma od teraz stałą wysokość na desktopie. */
#menu .menu-preview{
  top:0!important;
  margin-top:0!important;
  height:560px!important;
  min-height:560px!important;
  max-height:560px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
#menu .menu-preview-content,
#menu .category-content{
  height:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
}

/* Wygenerowane chmury w koszyku — wyraźniejsze, nadal jako tło. */
.cart-page::before{
  opacity:.68!important;
  background:
    linear-gradient(rgba(249,237,211,.18),rgba(249,237,211,.18)),
    url("images/cart-xiangyun-generated-v34.jpg") center/cover no-repeat!important;
}

@media(max-width:900px){
  #menu .menu-preview{
    height:auto!important;
    min-height:520px!important;
    max-height:none!important;
    overflow:visible!important;
  }
}

/* V36 — przywrócenie typografii kategorii i poprawa stałego panelu */
#menu .menu-category strong{
  font-family:var(--font-display), Georgia, "Times New Roman", serif!important;
  font-size:20px!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:0!important;
}
#menu .menu-category:nth-child(7) strong,
#menu .menu-category:nth-child(9) strong{
  font-family:var(--font-display), Georgia, "Times New Roman", serif!important;
  font-size:20px!important;
  font-weight:700!important;
}

/* Stała wysokość, ale większa — nic nie jest ucinane.
   Zamiast overflow:hidden zawartość ma pełną przestrzeń panelu. */
#menu .menu-preview{
  top:0!important;
  margin-top:0!important;
  height:620px!important;
  min-height:620px!important;
  max-height:620px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#menu .menu-preview-content,
#menu .category-content{
  height:auto!important;
  min-height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
@media(max-width:900px){
 #menu .menu-preview{height:auto!important;min-height:520px!important;max-height:none!important;overflow:visible!important}
 #menu .menu-preview-content,#menu .category-content{max-height:none!important;overflow:visible!important}
}

/* V37 — jeden stabilny wymiar bordowego panelu dla KAŻDEJ kategorii */
#menu .menu-preview{
  position:relative!important;
  top:0!important;
  margin:0!important;
  height:620px!important;
  min-height:620px!important;
  max-height:620px!important;
  padding:42px 40px 34px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:24px!important;
  clip-path:inset(0 round 24px)!important;
  background:linear-gradient(145deg,rgba(112,8,12,.98),rgba(47,2,4,.99))!important;
}

/* Wcześniejsze warstwy/pseudo-elementy wystawały poza border-radius
   i dawały prostokątny cień na górze/dole. */
#menu .menu-preview::before,
#menu .menu-preview::after{
  border-radius:inherit!important;
  clip-path:inset(0 round 24px)!important;
}

/* Każdy dynamicznie podmieniany widok zaczyna się dokładnie w tym samym miejscu
   i nie może zmieniać wymiarów rodzica. */
#menu .menu-preview-content,
#menu .category-content,
#menu [data-category-content]{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  margin:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Długie tytuły nie mogą zwiększyć wysokości całego panelu. */
#menu .menu-preview h2,
#menu .menu-preview h3{
  margin-top:0!important;
}

/* Zaokrąglenie również dla ewentualnej wewnętrznej dekoracyjnej warstwy. */
#menu .menu-preview > *{
  max-width:100%;
}

@media(max-width:900px){
 #menu .menu-preview{
   height:auto!important;
   min-height:560px!important;
   max-height:none!important;
   overflow:hidden!important;
   border-radius:20px!important;
   clip-path:inset(0 round 20px)!important;
 }
 #menu .menu-preview-content,#menu .category-content,#menu [data-category-content]{
   height:auto!important;max-height:none!important;overflow:visible!important;
 }
}

/* V38 — uporządkowany panel menu: jedna warstwa bordo i stały wymiar */
#menu .menu-preview{
  position:relative!important;
  top:0!important;
  margin:0!important;
  width:100%!important;
  height:620px!important;
  min-height:620px!important;
  max-height:620px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:24px!important;
  clip-path:none!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:stretch!important;
  background:linear-gradient(145deg,#70080c,#2f0204)!important;
}
#menu .menu-preview::before{
  border-radius:inherit!important;
  clip-path:none!important;
}
#menu .preview-content{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:42px 40px 34px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  background:transparent!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
}
#menu .preview-content h3{
  margin:0 0 10px!important;
  font-size:clamp(42px,4.5vw,62px)!important;
  line-height:.96!important;
}
#menu .preview-content h3.is-long{
  font-size:clamp(34px,3.6vw,49px)!important;
  line-height:1!important;
  max-width:100%!important;
}
#menu .order-items{margin-top:20px!important;margin-bottom:0!important;}
@media(max-width:900px){
  #menu .menu-preview{
    height:auto!important;
    min-height:560px!important;
    max-height:none!important;
    border-radius:20px!important;
  }
  #menu .preview-content{
    height:auto!important;
    min-height:560px!important;
    overflow:visible!important;
    padding:34px 26px 28px!important;
  }
  #menu .preview-content h3.is-long{
    font-size:clamp(32px,9vw,46px)!important;
  }
}


/* V39 — finalne hero: wygenerowana panorama + regulowany bordowy tint */
.hero{
  position:relative!important;
  isolation:isolate;
  background-image:
    linear-gradient(90deg,rgba(43,3,7,.86) 0%,rgba(67,5,9,.70) 38%,rgba(71,6,9,.48) 67%,rgba(43,3,7,.62) 100%),
    linear-gradient(180deg,rgba(67,5,9,.18),rgba(36,2,5,.34)),
    url("images/hero-v51.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.hero-landscape{
  display:none!important;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(25,1,3,.22) 0%,transparent 52%,rgba(31,1,3,.08) 100%);
}
.hero > :not(.hero-landscape){
  position:relative;
  z-index:1;
}
@media(max-width:850px){
  .hero{
    background-position:center center!important;
    background-image:
      linear-gradient(90deg,rgba(43,3,7,.84),rgba(58,4,8,.62)),
      linear-gradient(180deg,rgba(67,5,9,.20),rgba(36,2,5,.36)),
      url("images/hero-v51.png")!important;
  }
}

/* V42 — finalne hero + lettering + chiński lattice */
.hero{
  background-image:
    linear-gradient(90deg,rgba(45,3,7,.82) 0%,rgba(66,5,9,.64) 38%,rgba(71,6,9,.46) 67%,rgba(43,3,7,.58) 100%),
    linear-gradient(180deg,rgba(67,5,9,.16),rgba(36,2,5,.30)),
    url("images/hero-v51.png")!important;
}
.hero h1 em{
  font-family:Georgia,"Times New Roman",serif!important;
  font-style:normal!important;
  font-weight:700!important;
  font-size:1.34em!important;
  line-height:.82!important;
  letter-spacing:.12em!important;
  display:block!important;
  width:max-content;
  max-width:92vw;
  transform:scaleX(1.13) skewX(-5deg);
  transform-origin:left center;
  text-transform:uppercase;
  text-shadow:0 5px 28px rgba(0,0,0,.5);
}
#specjaly{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#f3e6ca!important;
}
#specjaly::before{
  content:"";
  position:absolute;
  inset:-20px;
  z-index:-1;
  pointer-events:none;
  opacity:.16;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke='%23916a2d' stroke-width='6'%3E%3Cpath d='M0 24h36V6h30v36H48v24H18v30h30V78h36V48h30v30h36v18h30M0 132h24v-24h30v42h30v30M96 0v24h30v30h-18v36h42V72h30M96 180v-24h30v-30h24v-30h30'/%3E%3Ccircle cx='90' cy='90' r='23'/%3E%3Cpath d='M67 90H42m71 0h25M90 67V42m0 71v25'/%3E%3C/g%3E%3C/svg%3E");
  background-size:180px 180px;
  background-repeat:repeat;
}
#specjaly::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(250,245,233,.68),rgba(250,245,233,.32) 50%,rgba(250,245,233,.68));
}
@media(max-width:850px){
  .hero{
    background-image:
      linear-gradient(90deg,rgba(43,3,7,.82),rgba(58,4,8,.58)),
      linear-gradient(180deg,rgba(67,5,9,.18),rgba(36,2,5,.32)),
      url("images/hero-v51.png")!important;
  }
}
@media(max-width:700px){
  .hero h1 em{
    font-size:1.20em!important;
    letter-spacing:.07em!important;
    transform:scaleX(1.06) skewX(-4deg);
  }
  #specjaly::before{opacity:.13;background-size:150px 150px;}
}

/* V44 — naprawa po V43 */
.hero h1 em{
  font-family:Georgia,"Times New Roman",serif!important;
  font-style:normal!important;
  font-weight:600!important;
  font-size:1.16em!important;
  line-height:.9!important;
  letter-spacing:.055em!important;
  transform:scaleX(1.04);
  transform-origin:left center;
  display:block!important;
  width:max-content;
  max-width:88vw;
}

/* Delikatne przejście tylko przy samym dole hero — bez jasnego pasa przez treść */
.hero::before{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:54px;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(to bottom,transparent 0%,rgba(243,230,202,.18) 58%,#f3e6ca 100%);
}
.hero > :not(.hero-landscape){position:relative;z-index:2;}

/* Specjały: czyste tło do czasu właściwego ornamentu */
#specjaly{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#f3e6ca!important;
}
#specjaly::before{
  content:none!important;
  background:none!important;
}
#specjaly::after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:46px;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(117,32,23,.10),transparent);
}
@media(max-width:700px){
  .hero h1 em{
    font-size:1.08em!important;
    letter-spacing:.035em!important;
    transform:none;
  }
  .hero::before{height:38px;}
}


/* V45 — usuń jasny pas z hero */
.hero::before{
  content:none!important;
  display:none!important;
  background:none!important;
}


/* V46 — płynne przejście hero -> Specjały bez pasa na środku */
.hero{overflow:visible!important;}
.hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:auto!important;
  bottom:-1px!important;
  height:72px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    rgba(243,230,202,0) 0%,
    rgba(243,230,202,.025) 34%,
    rgba(243,230,202,.10) 58%,
    rgba(243,230,202,.34) 78%,
    #f3e6ca 100%
  )!important;
}
.hero > :not(.hero-landscape){position:relative;z-index:2;}
#specjaly::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:auto!important;
  height:42px!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,rgba(91,15,13,.13),rgba(91,15,13,.035) 45%,transparent 100%)!important;
}
@media(max-width:700px){
  .hero::before{height:54px!important;}
  #specjaly::after{height:32px!important;}
}


/* V47 — przejście we właściwym kierunku: hero schodzi na Specjały */
.hero::before{
  content:none!important;
  display:none!important;
}
#specjaly::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:auto!important;
  height:78px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    rgba(73,7,8,.72) 0%,
    rgba(104,25,20,.48) 24%,
    rgba(159,91,54,.24) 52%,
    rgba(214,178,119,.10) 76%,
    rgba(243,230,202,0) 100%
  )!important;
}
#specjaly > *{position:relative;z-index:1;}
@media(max-width:700px){
  #specjaly::after{height:58px!important;}
}


/* V48 — bez szwu: hero zachodzi gradientem na Specjały */
#specjaly{
  margin-top:-2px!important;
}
#specjaly::after{
  top:-2px!important;
  height:96px!important;
  background:linear-gradient(to bottom,
    #4b0809 0%,
    rgba(78,10,10,.96) 5%,
    rgba(96,20,16,.78) 22%,
    rgba(139,62,38,.50) 45%,
    rgba(190,126,78,.26) 66%,
    rgba(229,199,151,.10) 84%,
    rgba(243,230,202,0) 100%
  )!important;
}


/* V49 — usuń 1px seam między hero i Specjałami */
.hero{
  border-bottom:0!important;
  margin-bottom:0!important;
}
#specjaly{
  border-top:0!important;
  margin-top:-4px!important;
  position:relative!important;
  z-index:3!important;
}
#specjaly::after{
  top:-4px!important;
  height:100px!important;
}


/* V50 — szerokie, miękkie przenikanie hero -> Specjały */
#specjaly{
  margin-top:-3px!important;
}
#specjaly::after{
  top:-3px!important;
  height:190px!important;
  background:linear-gradient(to bottom,
    rgba(73,8,9,.88) 0%,
    rgba(78,10,10,.80) 8%,
    rgba(91,17,14,.66) 18%,
    rgba(112,34,23,.51) 31%,
    rgba(142,67,40,.37) 44%,
    rgba(174,105,62,.25) 57%,
    rgba(204,151,94,.15) 70%,
    rgba(226,190,139,.08) 82%,
    rgba(243,230,202,.025) 92%,
    transparent 100%
  )!important;
  filter:blur(7px);
  transform:translateY(-5px) scaleY(1.08);
  transform-origin:top center;
}


/* V51 — nowe hero; przejście jest częścią grafiki */
.hero{
  overflow:hidden!important;
  border-bottom:0!important;
  margin-bottom:0!important;
  background-image:
    linear-gradient(90deg,rgba(43,3,7,.30) 0%,rgba(57,5,8,.13) 34%,rgba(57,5,8,.03) 65%,rgba(43,3,7,.08) 100%),
    url("images/hero-v51.png")!important;
  background-size:cover!important;
  background-position:center center!important;
}
.hero::before{
  content:none!important;
  display:none!important;
}
#specjaly{
  margin-top:-3px!important;
  border-top:0!important;
  background:#f3e6ca!important;
}
#specjaly::after{
  content:none!important;
  display:none!important;
}
@media(max-width:850px){
  .hero{
    background-image:
      linear-gradient(90deg,rgba(43,3,7,.34),rgba(57,5,8,.08)),
      url("images/hero-v51.png")!important;
    background-position:58% center!important;
  }
}


/* V52 — właściwy kierunek przejścia: bordo z hero -> krem Specjałów */
.hero{
  position:relative!important;
}
.hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:150px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    rgba(74,8,10,0) 0%,
    rgba(74,8,10,.18) 22%,
    rgba(82,13,13,.55) 48%,
    rgba(117,45,31,.72) 64%,
    rgba(176,112,69,.62) 78%,
    rgba(222,184,132,.72) 90%,
    #f3e6ca 100%
  )!important;
}
.hero > :not(.hero-landscape){position:relative;z-index:2!important;}
#specjaly{
  margin-top:-2px!important;
  background:#f3e6ca!important;
}
@media(max-width:700px){
  .hero::after{height:110px!important;}
}


/* V53 — V51 bez kremu w hero; fade zaczyna się dopiero w Specjałach */
.hero{
  overflow:hidden!important;
  background-image:
    linear-gradient(90deg,
      rgba(55,4,7,.68) 0%,
      rgba(55,4,7,.54) 22%,
      rgba(55,4,7,.22) 42%,
      rgba(55,4,7,.04) 62%,
      rgba(55,4,7,0) 78%
    ),
    url("images/hero-v51.png")!important;
  background-size:cover!important;
  background-position:center 35%!important;
}
.hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  height:155px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    rgba(74,7,9,0) 0%,
    rgba(74,7,9,.34) 40%,
    rgba(74,7,9,.78) 76%,
    #4a0709 100%
  )!important;
}
.hero::after{
  content:none!important;
  display:none!important;
}
.hero > :not(.hero-landscape){position:relative;z-index:2!important;}

#specjaly{
  margin-top:-2px!important;
  border-top:0!important;
  background:#f3e6ca!important;
}
#specjaly::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:-2px!important;
  bottom:auto!important;
  height:180px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    #4a0709 0%,
    rgba(79,10,10,.96) 8%,
    rgba(96,20,15,.84) 20%,
    rgba(124,43,27,.66) 35%,
    rgba(157,76,43,.47) 50%,
    rgba(188,116,69,.31) 64%,
    rgba(216,161,105,.18) 76%,
    rgba(234,201,151,.08) 88%,
    rgba(243,230,202,0) 100%
  )!important;
}
#specjaly > *{position:relative;z-index:1;}

@media(max-width:850px){
  .hero{
    background-image:
      linear-gradient(90deg,rgba(55,4,7,.66),rgba(55,4,7,.12) 72%,rgba(55,4,7,0)),
      url("images/hero-v51.png")!important;
    background-position:58% 35%!important;
  }
}


/* V54 — usuń twardą linię: jeden ciągły fade na styku */
.hero::before{
  content:none!important;
  display:none!important;
}
#specjaly{
  margin-top:-1px!important;
}
#specjaly::after{
  top:-70px!important;
  height:250px!important;
  z-index:0!important;
  background:linear-gradient(to bottom,
    rgba(74,7,9,.92) 0%,
    rgba(76,8,9,.86) 12%,
    rgba(83,13,11,.75) 25%,
    rgba(101,25,17,.61) 38%,
    rgba(127,48,29,.47) 51%,
    rgba(158,80,45,.33) 63%,
    rgba(190,120,71,.21) 74%,
    rgba(218,164,108,.12) 84%,
    rgba(236,204,157,.05) 93%,
    rgba(243,230,202,0) 100%
  )!important;
  filter:blur(12px);
  transform:scaleY(1.08);
  transform-origin:top center;
}


/* V55 — fade bez pseudo-elementu wychodzącego poza sekcję */
.hero{
  overflow:hidden!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,rgba(0,0,0,.88) 86%,rgba(0,0,0,.58) 93%,rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 78%,rgba(0,0,0,.88) 86%,rgba(0,0,0,.58) 93%,rgba(0,0,0,0) 100%);
  margin-bottom:-72px!important;
  position:relative!important;
  z-index:2!important;
}
#specjaly{
  margin-top:0!important;
  padding-top:calc(105px + 72px)!important;
  position:relative!important;
  z-index:1!important;
  background:#f3e6ca!important;
}
#specjaly::after{
  content:none!important;
  display:none!important;
  filter:none!important;
  transform:none!important;
}
@media(max-width:700px){
  .hero{margin-bottom:-48px!important;}
  #specjaly{padding-top:calc(80px + 48px)!important;}
}


/* V56 — kontakt responsywny + spójniejsze Menu */
.visit-section{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr)!important;
}
.visit-section .real-interior{
  width:100%!important;
  max-width:860px!important;
  aspect-ratio:16/10!important;
  justify-self:center;
}
.visit-section .real-interior img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.opening-hours{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid rgba(111,71,27,.24);
}
.opening-hours>span{
  display:block;
  margin-bottom:10px;
  color:#7a5b2c;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.opening-hours>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  color:#4c1712;
}
.opening-hours strong{font-family:var(--font-display,Georgia),Georgia,serif;font-size:17px;}
.opening-hours b{font-size:17px;color:#8c521d;white-space:nowrap;}

/* Menu dostaje tę samą burgundy/gold atmosferę co hero */
#menu.menu-section{
  background-image:
    linear-gradient(180deg,rgba(75,8,10,.22) 0%,rgba(115,38,27,.10) 14%,rgba(244,228,187,.06) 34%,rgba(68,7,9,.12) 100%),
    linear-gradient(90deg,rgba(75,8,10,.12),transparent 42%,rgba(121,59,29,.10)),
    url("images/menu-landscape-v33.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-attachment:scroll!important;
}
#menu .section-heading h2{color:#53130f!important;}
#menu .section-heading .eyebrow{color:#9b641f!important;}
#menu .menu-explorer{
  box-shadow:0 28px 70px rgba(64,15,12,.16)!important;
}
#menu .menu-categories{
  background:rgba(248,235,202,.91)!important;
  backdrop-filter:blur(3px);
}
#menu .menu-preview{
  box-shadow:inset 0 0 90px rgba(43,4,7,.18),0 20px 50px rgba(58,12,10,.15)!important;
}

@media(max-width:900px){
  .visit-section{grid-template-columns:1fr!important;}
  .visit-section .real-interior{max-width:760px!important;aspect-ratio:16/10!important;}
}
@media(max-width:600px){
  .visit-section .real-interior{aspect-ratio:4/3!important;}
  .opening-hours>div{align-items:flex-start;flex-direction:column;gap:4px;}
}


/* V57 — Menu wraca do swojego wyglądu; to Hero będzie później dopasowane do Menu */
#menu.menu-section{
  background-image:
    linear-gradient(rgba(247,232,196,.48),rgba(247,232,196,.48)),
    url("images/menu-landscape-v33.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-attachment:scroll!important;
}
#menu .section-heading h2{color:inherit!important;}
#menu .section-heading .eyebrow{color:inherit!important;}
#menu .menu-explorer{box-shadow:none!important;}
#menu .menu-categories{
  background:rgba(255,246,218,.88)!important;
  backdrop-filter:none!important;
}


/* V58 — mocniejszy tint tła Menu, bez zmiany jego stylistyki */
#menu.menu-section{
  background-image:
    linear-gradient(180deg,
      rgba(111,52,31,.22) 0%,
      rgba(154,91,48,.16) 28%,
      rgba(225,193,133,.10) 55%,
      rgba(105,43,29,.20) 100%
    ),
    linear-gradient(90deg,
      rgba(101,35,29,.14) 0%,
      rgba(176,109,54,.07) 45%,
      rgba(92,31,27,.13) 100%
    ),
    url("images/menu-landscape-v33.png")!important;
  background-size:cover!important;
  background-position:center center!important;
}


/* V59 — Menu monochromatyczne: tylko ciepły brązowy cień grafiki */
#menu.menu-section{
  background-image:
    linear-gradient(rgba(238,220,181,.38),rgba(238,220,181,.38)),
    url("images/menu-landscape-v33.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-blend-mode:color!important;
  filter:none!important;
}
#menu.menu-section::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:0!important;
  background:rgba(104,67,42,.13)!important;
  mix-blend-mode:multiply!important;
}
#menu.menu-section > *{position:relative!important;z-index:1!important;}


/* V60 — finalne tło Menu: natywna grafika sepia, bez tintów i blendów */
#menu.menu-section{
  background-image:url("images/menu-landscape-sepia.png")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-blend-mode:normal!important;
  filter:none!important;
}
#menu.menu-section::before,
#menu.menu-section::after{
  content:none!important;
  display:none!important;
  background:none!important;
  mix-blend-mode:normal!important;
}
#menu.menu-section > *{
  position:relative!important;
  z-index:1!important;
}


/* V61 — nowe Hero spójne z Menu + dłuższe zejście bordowego tuszu do kremu */
.hero{
  min-height:680px!important;
  padding-top:clamp(120px,13vw,175px)!important;
  padding-bottom:clamp(170px,18vw,240px)!important;
  background-image:
    linear-gradient(90deg,
      rgba(53,5,8,.72) 0%,
      rgba(53,5,8,.56) 24%,
      rgba(53,5,8,.24) 44%,
      rgba(53,5,8,.06) 62%,
      rgba(53,5,8,0) 78%
    ),
    url("images/hero-v61.png")!important;
  background-size:cover!important;
  background-position:center 44%!important;
  overflow:hidden!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  margin-bottom:0!important;
  position:relative!important;
  z-index:2!important;
}
.hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:auto 0 -1px 0!important;
  height:210px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    rgba(78,8,10,0) 0%,
    rgba(78,8,10,.18) 20%,
    rgba(78,8,10,.44) 42%,
    rgba(78,8,10,.76) 66%,
    #4a0709 100%
  )!important;
}
.hero::after{
  content:none!important;
  display:none!important;
}
.hero > :not(.hero-landscape){
  position:relative!important;
  z-index:2!important;
}

#specjaly{
  margin-top:-1px!important;
  padding-top:calc(105px + 115px)!important;
  background:#f3e6ca!important;
  position:relative!important;
  z-index:1!important;
  overflow:hidden!important;
}
#specjaly::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:-1px!important;
  height:220px!important;
  pointer-events:none!important;
  z-index:0!important;
  background:linear-gradient(to bottom,
    #4a0709 0%,
    rgba(85,13,13,.94) 10%,
    rgba(110,31,23,.78) 28%,
    rgba(145,67,40,.58) 46%,
    rgba(180,111,68,.38) 64%,
    rgba(215,164,109,.20) 80%,
    rgba(243,230,202,0) 100%
  )!important;
  filter:none!important;
  transform:none!important;
}
#specjaly > *{
  position:relative!important;
  z-index:1!important;
}

@media(max-width:850px){
  .hero{
    min-height:620px!important;
    background-position:60% 44%!important;
    padding-bottom:190px!important;
  }
  .hero::before{height:180px!important;}
  #specjaly{padding-top:calc(88px + 95px)!important;}
  #specjaly::after{height:190px!important;}
}


/* V62 — niższe Hero, bordowy tint, lampiony i tuszowe przejście */
.hero{
  min-height:540px!important;
  height:auto!important;
  padding-top:clamp(78px,8vw,105px)!important;
  padding-bottom:clamp(105px,10vw,135px)!important;
  background-image:
    linear-gradient(90deg,
      rgba(70,4,9,.78) 0%,
      rgba(78,5,10,.60) 27%,
      rgba(84,7,11,.31) 50%,
      rgba(84,7,11,.13) 72%,
      rgba(70,4,9,.18) 100%
    ),
    linear-gradient(rgba(91,5,11,.18),rgba(91,5,11,.18)),
    url("images/hero-v61.png")!important;
  background-size:cover!important;
  background-position:center 48%!important;
  isolation:isolate!important;
}
.hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  height:auto!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at 5% 17%,rgba(232,70,38,.48) 0 1.6%,rgba(112,8,12,.72) 1.8% 3.2%,transparent 3.5%),
    radial-gradient(ellipse at 95% 19%,rgba(232,70,38,.48) 0 1.6%,rgba(112,8,12,.72) 1.8% 3.2%,transparent 3.5%),
    linear-gradient(to bottom,transparent 0 69%,rgba(72,5,8,.18) 77%,rgba(72,5,8,.62) 91%,#4a0709 100%)!important;
}
.hero::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-1px!important;
  height:82px!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse at 7% 100%,#4a0709 0 32%,transparent 34%),
    radial-gradient(ellipse at 23% 104%,#4a0709 0 42%,transparent 44%),
    radial-gradient(ellipse at 43% 101%,#4a0709 0 34%,transparent 36%),
    radial-gradient(ellipse at 63% 105%,#4a0709 0 45%,transparent 47%),
    radial-gradient(ellipse at 83% 100%,#4a0709 0 37%,transparent 39%),
    linear-gradient(to bottom,transparent 0%,rgba(74,7,9,.58) 48%,#4a0709 100%)!important;
  opacity:.98!important;
}
.hero-content{z-index:3!important;}
.hero h1 em{
  font-family:"Segoe Print","Bradley Hand","Brush Script MT",cursive!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  transform:rotate(-1deg) scaleX(1.04)!important;
  transform-origin:left center!important;
}

/* bordo z Hero rozpływa się w kremie już wewnątrz Specjałów */
#specjaly{
  padding-top:calc(105px + 90px)!important;
}
#specjaly::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:-2px 0 auto 0!important;
  height:175px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    #4a0709 0%,
    rgba(85,15,14,.88) 16%,
    rgba(122,48,31,.64) 38%,
    rgba(166,94,55,.40) 58%,
    rgba(211,157,101,.18) 78%,
    rgba(243,230,202,0) 100%
  )!important;
}

@media(max-width:850px){
  .hero{
    min-height:520px!important;
    padding-top:72px!important;
    padding-bottom:110px!important;
    background-position:61% 48%!important;
  }
  .hero::after{height:64px!important;}
  #specjaly{padding-top:calc(88px + 72px)!important;}
  #specjaly::after{height:145px!important;}
}


/* V63 — usuń artefakty/pasy z dekoracji Hero */
.hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(70,4,9,.48) 0%,
    rgba(70,4,9,.30) 28%,
    rgba(70,4,9,.10) 55%,
    rgba(70,4,9,.04) 100%
  )!important;
}
.hero::after{
  content:none!important;
  display:none!important;
}
.hero-content{position:relative!important;z-index:2!important;}


/* V64 — prawdziwy layout: bez poziomego pasa, pędzlowy SONG LAM */
@import url('https://fonts.googleapis.com/css2?family=Kaushan+Script&display=swap');

.hero{
  min-height:520px!important;
  padding-top:78px!important;
  padding-bottom:105px!important;
  background-image:
    linear-gradient(90deg,rgba(67,3,8,.74) 0%,rgba(74,4,9,.48) 29%,rgba(74,4,9,.18) 52%,rgba(74,4,9,.06) 74%,rgba(74,4,9,.13) 100%),
    url("images/hero-v61.png")!important;
  background-size:cover!important;
  background-position:center 50%!important;
  overflow:hidden!important;
}
.hero::before,
.hero::after{
  content:none!important;
  display:none!important;
  background:none!important;
}
.hero-content{
  position:relative!important;
  z-index:2!important;
}
.hero h1 em{
  display:inline-block!important;
  font-family:"Kaushan Script","Segoe Print","Brush Script MT",cursive!important;
  font-style:normal!important;
  font-weight:400!important;
  font-size:1.18em!important;
  line-height:.86!important;
  letter-spacing:.015em!important;
  color:#e6b34d!important;
  transform:rotate(-2deg) scaleX(1.06)!important;
  transform-origin:left center!important;
  text-shadow:0 3px 18px rgba(42,0,4,.30)!important;
}

/* jedno ciągłe zejście bordo -> krem; bez pełnego bordowego prostokąta */
#specjaly{
  margin-top:0!important;
  padding-top:190px!important;
  background:#f3e6ca!important;
  overflow:hidden!important;
}
#specjaly::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:0!important;
  height:135px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    rgba(74,7,9,.82) 0%,
    rgba(101,27,20,.66) 24%,
    rgba(145,69,42,.44) 48%,
    rgba(195,129,79,.23) 70%,
    rgba(243,230,202,0) 100%
  )!important;
  filter:none!important;
  transform:none!important;
}
@media(max-width:850px){
  .hero{min-height:500px!important;padding-top:68px!important;padding-bottom:90px!important;background-position:61% 50%!important;}
  #specjaly{padding-top:155px!important;}
  #specjaly::after{height:115px!important;}
}


/* V65 — Hero: prawdziwe wnętrze Song Lam + danie jako osobny asset */
.hero{
  min-height:540px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  align-items:center!important;
  padding:76px clamp(25px,7vw,110px) 96px!important;
  background-image:
    linear-gradient(90deg,
      rgba(62,3,8,.94) 0%,
      rgba(70,4,9,.86) 30%,
      rgba(74,5,10,.69) 55%,
      rgba(61,3,7,.58) 100%
    ),
    linear-gradient(rgba(52,2,6,.28),rgba(52,2,6,.42)),
    url("images/song-lam-interior.png")!important;
  background-size:cover!important;
  background-position:center 48%!important;
}
.hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:0!important;
  background:
    radial-gradient(ellipse at 78% 53%,rgba(224,151,48,.14),transparent 30%),
    linear-gradient(to bottom,transparent 0 76%,rgba(68,4,8,.34) 88%,rgba(74,7,9,.78) 100%)!important;
}
.hero::after{content:none!important;display:none!important;}
.hero-content{
  position:relative!important;
  z-index:2!important;
  max-width:660px!important;
}
.hero-dish{
  position:relative!important;
  z-index:2!important;
  width:min(650px,48vw)!important;
  justify-self:end!important;
  align-self:end!important;
  margin:0 -3vw -58px 0!important;
  pointer-events:none!important;
  filter:drop-shadow(0 28px 30px rgba(16,0,2,.48))!important;
}
.hero-dish img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  mix-blend-mode:normal!important;
}
.hero h1 em{
  font-family:"Kaushan Script","Segoe Print","Brush Script MT",cursive!important;
  font-size:1.18em!important;
  font-weight:400!important;
  color:#e9b64e!important;
}
#specjaly{
  position:relative!important;
  margin-top:0!important;
  padding-top:175px!important;
}
#specjaly::after{
  height:125px!important;
  background:linear-gradient(to bottom,
    rgba(74,7,9,.90) 0%,
    rgba(103,29,21,.69) 24%,
    rgba(150,73,43,.43) 49%,
    rgba(202,139,87,.20) 72%,
    rgba(243,230,202,0) 100%
  )!important;
}
@media(max-width:900px){
  .hero{
    grid-template-columns:1fr!important;
    min-height:620px!important;
    padding:70px 24px 82px!important;
    background-position:center!important;
  }
  .hero-content{max-width:620px!important;}
  .hero-dish{
    position:absolute!important;
    right:-80px!important;
    bottom:-18px!important;
    width:min(520px,72vw)!important;
    opacity:.68!important;
    z-index:1!important;
  }
  .hero-content{z-index:2!important;}
}
@media(max-width:600px){
  .hero{min-height:610px!important;padding-bottom:155px!important;}
  .hero-dish{width:390px!important;right:-105px!important;bottom:-12px!important;opacity:.55!important;}
}


/* V66 — potrawa po lewej, wypełnia pustą część Hero */
.hero-dish{
  justify-self:start!important;
  margin:0 0 -58px -5vw!important;
  transform:translateX(-2%)!important;
}
@media(max-width:900px){
  .hero-dish{
    left:-80px!important;
    right:auto!important;
    bottom:-18px!important;
    margin:0!important;
    transform:none!important;
  }
}
@media(max-width:600px){
  .hero-dish{
    left:-105px!important;
    right:auto!important;
    bottom:-12px!important;
  }
}


/* V67 — dłuższe, miękkie przejście Hero -> Specjały */
.hero{
  margin-bottom:-1px!important;
}
.hero::before{
  background:
    radial-gradient(ellipse at 78% 53%,rgba(224,151,48,.14),transparent 30%),
    linear-gradient(to bottom,
      transparent 0%,
      transparent 62%,
      rgba(68,4,8,.08) 72%,
      rgba(70,5,9,.22) 82%,
      rgba(72,6,9,.48) 92%,
      #4a0709 100%
    )!important;
}
#specjaly{
  padding-top:205px!important;
  background:#f3e6ca!important;
}
#specjaly::after{
  top:-2px!important;
  height:205px!important;
  background:linear-gradient(to bottom,
    #4a0709 0%,
    rgba(76,8,10,.96) 8%,
    rgba(88,18,16,.86) 20%,
    rgba(111,39,27,.69) 36%,
    rgba(145,72,44,.50) 52%,
    rgba(180,111,67,.33) 67%,
    rgba(215,166,111,.16) 82%,
    rgba(243,230,202,.05) 94%,
    rgba(243,230,202,0) 100%
  )!important;
}
@media(max-width:900px){
  #specjaly{padding-top:185px!important;}
  #specjaly::after{height:185px!important;}
}


/* V68 — faktycznie zamień kolumny Hero: danie lewo, treść prawo */
.hero{
  grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr)!important;
  column-gap:clamp(20px,4vw,70px)!important;
}
.hero-dish{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
  align-self:end!important;
  width:min(620px,46vw)!important;
  margin:0 0 -58px -5vw!important;
  transform:none!important;
}
.hero-content{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:start!important;
  max-width:660px!important;
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr!important;}
  .hero-content{
    grid-column:1!important;
    grid-row:1!important;
  }
  .hero-dish{
    grid-column:1!important;
    grid-row:1!important;
    left:-80px!important;
    right:auto!important;
  }
}


/* V69 — tekst wraca na lewo; tylko potrawa na prawo i większa */
.hero{
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr)!important;
  column-gap:clamp(10px,2vw,36px)!important;
}
.hero-content{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
  max-width:660px!important;
}
.hero-dish{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
  align-self:end!important;
  width:min(760px,54vw)!important;
  margin:0 -7vw -72px 0!important;
  transform:none!important;
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr!important;}
  .hero-content{
    grid-column:1!important;
    grid-row:1!important;
    position:relative!important;
    z-index:2!important;
  }
  .hero-dish{
    grid-column:1!important;
    grid-row:1!important;
    position:absolute!important;
    width:min(590px,82vw)!important;
    left:auto!important;
    right:-105px!important;
    bottom:-28px!important;
    margin:0!important;
    opacity:.64!important;
    z-index:1!important;
  }
}
@media(max-width:600px){
  .hero-dish{
    width:450px!important;
    left:auto!important;
    right:-135px!important;
    bottom:-20px!important;
    opacity:.52!important;
  }
}


/* V70 — poprawna struktura Hero: dish jest rodzeństwem tekstu */
.hero{
  grid-template-columns:minmax(0,1fr) minmax(430px,1fr)!important;
}
.hero-content{
  grid-column:1!important;
  grid-row:1!important;
}
.hero > .hero-dish{
  grid-column:2!important;
  grid-row:1!important;
  position:relative!important;
  justify-self:end!important;
  align-self:center!important;
  width:min(820px,57vw)!important;
  margin:30px -9vw -55px -2vw!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  opacity:1!important;
  z-index:2!important;
}
@media(max-width:900px){
  .hero{grid-template-columns:1fr!important;}
  .hero > .hero-dish{
    grid-column:1!important;
    grid-row:1!important;
    position:absolute!important;
    width:min(620px,86vw)!important;
    right:-125px!important;
    bottom:-30px!important;
    margin:0!important;
    opacity:.62!important;
    z-index:1!important;
  }
}


/* V71 — odsuń potrawę od prawej krawędzi */
.hero > .hero-dish{
  margin:30px -2vw -55px -2vw!important;
}
@media(max-width:900px){
  .hero > .hero-dish{
    right:-55px!important;
  }
}
@media(max-width:600px){
  .hero > .hero-dish{
    right:-70px!important;
  }
}


/* V72 — wyprostuj pędzlowy napis SONG LAM */
.hero h1 em{
  transform:scaleX(1.06)!important;
  transform-origin:left center!important;
}


/* V73 — organiczne przejście Hero -> Specjały, jak tusz/pędzel */
.hero::before{
  background:
    radial-gradient(ellipse at 78% 53%,rgba(224,151,48,.14),transparent 30%),
    linear-gradient(to bottom,
      transparent 0%,
      transparent 68%,
      rgba(69,5,9,.10) 78%,
      rgba(72,6,9,.42) 91%,
      #4a0709 100%
    )!important;
}
#specjaly::after{
  top:-3px!important;
  height:225px!important;
  background:
    radial-gradient(ellipse 34% 48% at 8% 0%, #4a0709 0 42%, rgba(74,7,9,.72) 58%, transparent 76%),
    radial-gradient(ellipse 28% 58% at 34% -5%, #4a0709 0 38%, rgba(91,18,16,.65) 58%, transparent 77%),
    radial-gradient(ellipse 42% 50% at 67% 0%, #4a0709 0 40%, rgba(99,27,20,.58) 59%, transparent 78%),
    radial-gradient(ellipse 31% 62% at 96% -7%, #4a0709 0 39%, rgba(83,13,14,.67) 57%, transparent 76%),
    linear-gradient(to bottom,
      rgba(74,7,9,.96) 0%,
      rgba(91,19,16,.72) 24%,
      rgba(133,58,36,.40) 48%,
      rgba(188,121,75,.19) 69%,
      rgba(243,230,202,.04) 88%,
      transparent 100%
    )!important;
  filter:none!important;
  opacity:1!important;
}
#specjaly::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:-4%!important;
  right:-4%!important;
  top:38px!important;
  height:145px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse 16% 26% at 13% 22%, rgba(118,42,28,.28), transparent 72%),
    radial-gradient(ellipse 22% 22% at 45% 48%, rgba(125,48,29,.22), transparent 74%),
    radial-gradient(ellipse 18% 30% at 78% 25%, rgba(107,31,23,.25), transparent 72%),
    radial-gradient(ellipse 12% 24% at 93% 58%, rgba(151,72,42,.18), transparent 75%)!important;
  transform:rotate(-1deg)!important;
  filter:blur(7px)!important;
}
#specjaly > *{
  position:relative!important;
  z-index:1!important;
}
@media(max-width:900px){
  #specjaly::after{height:205px!important;}
  #specjaly::before{height:125px!important;top:32px!important;}
}


/* V74 — Specjały: elegancka sekcja Hunan */
#specjaly{
  padding-bottom:clamp(85px,9vw,135px)!important;
}
.specials-heading{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:18px!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:4px!important;
  padding-right:4px!important;
}
.specials-heading h2{
  margin-bottom:4px!important;
}
.specials-subtitle{
  margin:0!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(15px,1.25vw,18px)!important;
  font-style:italic!important;
  color:#805d43!important;
}
.chinese-seal{
  display:grid!important;
  place-items:center!important;
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  margin:0 0 6px 2px!important;
  border:2px solid #8d171d!important;
  color:#8d171d!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:30px!important;
  font-weight:700!important;
  line-height:1!important;
  transform:rotate(-3deg)!important;
  box-shadow:inset 0 0 0 3px rgba(141,23,29,.08)!important;
}
.special-grid{
  max-width:1180px!important;
  margin:38px auto 0!important;
  gap:clamp(20px,2.4vw,32px)!important;
  align-items:stretch!important;
}
.special-card{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(137,91,43,.32)!important;
  border-radius:3px!important;
  background:
    linear-gradient(145deg,rgba(255,251,237,.97),rgba(238,217,177,.91))!important;
  box-shadow:0 18px 42px rgba(76,31,18,.10)!important;
  transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease!important;
}
.special-card::before,
.special-card::after{
  content:""!important;
  position:absolute!important;
  width:48px!important;
  height:48px!important;
  z-index:3!important;
  pointer-events:none!important;
  opacity:.62!important;
  transition:opacity .3s ease,transform .3s ease!important;
}
.special-card::before{
  top:12px!important;
  left:12px!important;
  border-top:2px solid #b48635!important;
  border-left:2px solid #b48635!important;
  box-shadow:-6px -6px 0 -5px rgba(180,134,53,.72)!important;
}
.special-card::after{
  right:12px!important;
  bottom:12px!important;
  border-right:2px solid #b48635!important;
  border-bottom:2px solid #b48635!important;
  box-shadow:6px 6px 0 -5px rgba(180,134,53,.72)!important;
}
.special-card:hover{
  transform:translateY(-7px)!important;
  border-color:rgba(157,108,43,.60)!important;
  box-shadow:0 27px 56px rgba(74,25,14,.16)!important;
}
.special-card:hover::before,
.special-card:hover::after{
  opacity:1!important;
}
.special-card:hover::before{transform:translate(-2px,-2px)!important;}
.special-card:hover::after{transform:translate(2px,2px)!important;}
.special-card .dish-art{
  min-height:235px!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:0!important;
  transition:transform .4s ease,filter .4s ease!important;
}
.special-card:hover .dish-art{
  transform:scale(1.025)!important;
  filter:saturate(1.06) contrast(1.02)!important;
}
.special-card .dish-art::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0!important;
  height:46%!important;
  background:linear-gradient(to top,rgba(49,5,7,.72),transparent)!important;
  pointer-events:none!important;
}
.special-card .dish-art span{
  position:absolute!important;
  left:22px!important;
  bottom:17px!important;
  z-index:2!important;
  padding:0!important;
  background:none!important;
  border:none!important;
  color:#f1d28c!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.19em!important;
  text-shadow:0 2px 12px rgba(0,0,0,.45)!important;
}
.special-card .card-copy{
  position:relative!important;
  padding:30px 28px 28px!important;
}
.special-card .card-kicker{
  position:absolute!important;
  top:-26px!important;
  right:22px!important;
  margin:0!important;
  color:#d1a34a!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:68px!important;
  font-weight:700!important;
  line-height:1!important;
  opacity:.95!important;
  text-shadow:0 2px 0 rgba(255,248,226,.55)!important;
}
.special-card h3{
  position:relative!important;
  z-index:1!important;
  max-width:82%!important;
  margin:0 0 12px!important;
  color:#591016!important;
  font-size:clamp(23px,2vw,30px)!important;
  line-height:1.05!important;
}
.special-card .card-copy > p:not(.card-kicker){
  min-height:48px!important;
  margin:0!important;
  color:#765d4d!important;
  line-height:1.55!important;
}
.special-order{
  margin-top:25px!important;
  padding-top:19px!important;
  border-top:1px solid rgba(140,98,50,.24)!important;
}
.special-order strong{
  color:#651117!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:23px!important;
}
.special-add{
  min-height:42px!important;
  padding:0 18px!important;
  border:1px solid #8d171d!important;
  border-radius:2px!important;
  background:#761319!important;
  color:#f7e6b8!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
  box-shadow:0 7px 17px rgba(91,12,18,.14)!important;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease!important;
}
.special-add:hover{
  transform:translateY(-2px)!important;
  background:#941d22!important;
  box-shadow:0 10px 22px rgba(91,12,18,.20)!important;
}
.special-add:active{transform:translateY(0)!important;}
.special-add:focus-visible{
  outline:3px solid rgba(184,137,48,.42)!important;
  outline-offset:3px!important;
}
@media(max-width:900px){
  .special-grid{margin-top:30px!important;}
  .special-card .dish-art{min-height:215px!important;}
}
@media(max-width:600px){
  .specials-heading{align-items:center!important;}
  .chinese-seal{width:46px!important;height:46px!important;flex-basis:46px!important;font-size:25px!important;}
  .special-card .card-copy{padding:27px 22px 24px!important;}
  .special-card .card-kicker{font-size:58px!important;}
}
@media(prefers-reduced-motion:reduce){
  .special-card,.special-card::before,.special-card::after,.special-card .dish-art,.special-add{transition:none!important;}
}


/* V75 — Specjały: mniej modernizmu, więcej tradycyjnej estetyki chińskiej */
.specials-heading{
  position:relative!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
  border-top:1px solid rgba(151,104,43,.46)!important;
  border-bottom:1px solid rgba(151,104,43,.46)!important;
}
.specials-heading::before,
.specials-heading::after{
  content:"◆"!important;
  position:absolute!important;
  top:50%!important;
  transform:translateY(-50%) rotate(45deg)!important;
  color:#a4772e!important;
  font-size:10px!important;
  opacity:.8!important;
}
.specials-heading::before{left:-22px!important;}
.specials-heading::after{right:-22px!important;}
.specials-heading h2{
  font-family:Georgia,"Times New Roman",serif!important;
  letter-spacing:.015em!important;
  color:#541016!important;
}
.chinese-seal{
  border-radius:1px!important;
  background:#8c171c!important;
  color:#efd493!important;
  border:2px solid #8c171c!important;
  box-shadow:
    inset 0 0 0 3px #efd493,
    inset 0 0 0 5px #8c171c!important;
}

/* podwójna rama przypominająca tradycyjne menu */
.special-card{
  border:1px solid #a77a32!important;
  outline:1px solid rgba(135,28,28,.42)!important;
  outline-offset:-8px!important;
  border-radius:0!important;
  background:
    linear-gradient(rgba(250,240,211,.94),rgba(239,218,176,.94)),
    repeating-linear-gradient(0deg,rgba(113,65,31,.025) 0 1px,transparent 1px 5px)!important;
}
.special-card::before,
.special-card::after{
  width:58px!important;
  height:58px!important;
  opacity:.88!important;
}
.special-card::before{
  top:13px!important;
  left:13px!important;
  border-top:3px double #a77a32!important;
  border-left:3px double #a77a32!important;
  box-shadow:none!important;
}
.special-card::after{
  right:13px!important;
  bottom:13px!important;
  border-right:3px double #a77a32!important;
  border-bottom:3px double #a77a32!important;
  box-shadow:none!important;
}
.special-card .dish-art{
  border-bottom:3px double rgba(159,111,43,.70)!important;
}
.special-card .card-copy{
  padding-top:34px!important;
}
.special-card .card-copy::before{
  content:""!important;
  position:absolute!important;
  top:13px!important;
  left:28px!important;
  width:72px!important;
  height:9px!important;
  border-top:1px solid #a77a32!important;
  border-bottom:1px solid #a77a32!important;
  opacity:.68!important;
}
.special-card .card-kicker{
  top:18px!important;
  right:29px!important;
  font-size:31px!important;
  color:#8c171c!important;
  opacity:.88!important;
  letter-spacing:.06em!important;
}
.special-card h3{
  max-width:88%!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(24px,2vw,31px)!important;
  color:#561016!important;
}
.special-order{
  position:relative!important;
  border-top:1px solid rgba(148,100,39,.43)!important;
}
.special-order::before{
  content:"◇"!important;
  position:absolute!important;
  top:-10px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  padding:0 8px!important;
  background:#efe0bd!important;
  color:#9a6d29!important;
  font-size:13px!important;
}
.special-add{
  border-radius:0!important;
  border:1px solid #9f762f!important;
  background:#741217!important;
  color:#f0d493!important;
  box-shadow:inset 0 0 0 2px #741217, inset 0 0 0 3px rgba(218,177,91,.38)!important;
}
.special-add:hover{
  background:#8a181d!important;
}
@media(max-width:600px){
  .specials-heading::before,.specials-heading::after{display:none!important;}
  .special-card .card-kicker{font-size:28px!important;}
}


/* V76 — Hero bez prześwitów + spokojniejsze Specjały */

/* zakrywa prostokątne prześwity starego tła przy dole Hero */
.hero{
  isolation:isolate!important;
  background-color:#4a0709!important;
}
.hero::before{
  z-index:0!important;
  background:
    linear-gradient(to bottom,
      rgba(67,4,8,.06) 0%,
      rgba(68,4,8,.16) 48%,
      rgba(70,5,9,.48) 72%,
      rgba(73,6,9,.88) 90%,
      #4a0709 100%
    ),
    linear-gradient(90deg,
      rgba(66,4,8,.20) 0%,
      rgba(66,4,8,.10) 55%,
      rgba(66,4,8,.16) 100%
    )!important;
}
.hero-content,
.hero > .hero-dish{
  z-index:2!important;
}

/* Specjały: zachowaj chiński charakter, ale mniej ciężkich ramek i ozdobników */
.specials-heading{
  border-top:none!important;
  border-bottom:1px solid rgba(151,104,43,.28)!important;
  padding-top:8px!important;
  padding-bottom:14px!important;
}
.specials-heading::before,
.specials-heading::after{
  content:none!important;
  display:none!important;
}
.special-card{
  border:1px solid rgba(151,108,48,.30)!important;
  outline:none!important;
  background:linear-gradient(145deg,rgba(255,249,231,.96),rgba(241,223,187,.90))!important;
  box-shadow:0 16px 38px rgba(76,31,18,.09)!important;
}
.special-card::before,
.special-card::after{
  width:35px!important;
  height:35px!important;
  opacity:.48!important;
}
.special-card::before{
  top:13px!important;
  left:13px!important;
  border-top:1px solid #aa7b32!important;
  border-left:1px solid #aa7b32!important;
}
.special-card::after{
  right:13px!important;
  bottom:13px!important;
  border-right:1px solid #aa7b32!important;
  border-bottom:1px solid #aa7b32!important;
}
.special-card .dish-art{
  border-bottom:1px solid rgba(159,111,43,.38)!important;
}
.special-card .card-copy::before{
  width:48px!important;
  opacity:.42!important;
}
.special-card .card-kicker{
  color:#a27838!important;
  opacity:.72!important;
  font-size:29px!important;
}
.special-order::before{
  content:none!important;
  display:none!important;
}
.special-add{
  border:1px solid rgba(142,94,34,.65)!important;
  box-shadow:none!important;
}
.special-card:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 22px 46px rgba(74,25,14,.13)!important;
}


/* V77 — wyrównanie dolnej części Hero bez plam i prostokątnych różnic */
.hero::before{
  background:
    linear-gradient(to bottom,
      rgba(68,4,8,.08) 0%,
      rgba(68,4,8,.14) 46%,
      rgba(70,5,9,.34) 64%,
      rgba(72,6,9,.70) 78%,
      rgba(74,7,9,.94) 90%,
      #4a0709 100%
    )!important;
}


/* V78 — usuń poziomy uskok na dole Hero */
.hero{
  overflow:hidden!important;
}
.hero::before{
  inset:0!important;
  height:auto!important;
  background:linear-gradient(to bottom,
    rgba(68,4,8,.08) 0%,
    rgba(68,4,8,.14) 48%,
    rgba(70,5,9,.34) 64%,
    rgba(72,6,9,.70) 78%,
    rgba(74,7,9,.94) 90%,
    #4a0709 100%
  )!important;
}
.hero::after{
  content:none!important;
  display:none!important;
}


/* V79 — Mobile Menu: poziome, sticky kategorie + podgląd cały czas pod ręką */
@media(max-width:700px){
  #menu.menu-section{
    padding-left:0!important;
    padding-right:0!important;
  }
  #menu .section-heading{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  #menu .menu-explorer{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
  }
  #menu .menu-categories{
    position:sticky!important;
    top:0!important;
    z-index:20!important;
    display:flex!important;
    flex-direction:row!important;
    gap:8px!important;
    width:100%!important;
    padding:10px 16px 11px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    background:rgba(82,13,14,.96)!important;
    border-top:1px solid rgba(220,177,87,.32)!important;
    border-bottom:1px solid rgba(220,177,87,.42)!important;
    box-shadow:0 8px 22px rgba(39,7,7,.18)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
  #menu .menu-categories::-webkit-scrollbar{display:none!important;}
  #menu .menu-category{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    min-height:43px!important;
    padding:0 15px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:0!important;
    scroll-snap-align:start!important;
    border:1px solid rgba(218,177,88,.28)!important;
    border-radius:2px!important;
    background:rgba(102,20,21,.68)!important;
    color:#f1d79b!important;
    white-space:nowrap!important;
    box-shadow:none!important;
  }
  #menu .menu-category span,
  #menu .menu-category b{
    display:none!important;
  }
  #menu .menu-category strong{
    font-size:13px!important;
    line-height:1!important;
    letter-spacing:.015em!important;
    color:inherit!important;
  }
  #menu .menu-category.active{
    background:#e3bc67!important;
    border-color:#efd28d!important;
    color:#5c1013!important;
    box-shadow:0 4px 12px rgba(48,7,8,.20)!important;
  }
  #menu .menu-preview{
    width:calc(100% - 24px)!important;
    min-height:0!important;
    margin:12px auto 0!important;
    border-radius:3px!important;
  }
  #menu .preview-content{
    padding:25px 18px 24px!important;
  }
  #menu .preview-content h3{
    font-size:clamp(29px,9vw,42px)!important;
    line-height:1!important;
    margin-bottom:8px!important;
  }
  #menu .preview-decoration{
    opacity:.14!important;
  }
  #menu .order-items{
    margin-top:18px!important;
  }
}


/* V80 — mobile polish: jednolita typografia, łagodniejszy panel, Hero w ekranie */
@media(max-width:700px){
  /* wszystkie kategorie dokładnie tą samą typografią, także długie nazwy */
  #menu .menu-category strong,
  #menu .menu-category[data-category="Ryby i owoce morza"] strong,
  #menu .menu-category[data-category="Dania polskie i inne"] strong{
    font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif!important;
    font-size:13px!important;
    font-weight:700!important;
    font-style:normal!important;
    line-height:1!important;
    letter-spacing:.015em!important;
  }

  /* bordowy panel pod kategoriami mniej kanciasty */
  #menu .menu-preview{
    border-radius:18px!important;
    overflow:hidden!important;
  }
  #menu .preview-content{
    border-radius:18px!important;
  }

  /* Hero: potrawa nie może wychodzić poza viewport */
  .hero{
    overflow:hidden!important;
    min-height:650px!important;
    padding:62px 20px 150px!important;
  }
  .hero-content{
    max-width:100%!important;
  }
  .hero > .hero-dish{
    width:min(430px,92vw)!important;
    max-width:92vw!important;
    right:-4vw!important;
    left:auto!important;
    bottom:-6px!important;
    margin:0!important;
    opacity:.58!important;
    transform:none!important;
  }
}
@media(max-width:430px){
  .hero > .hero-dish{
    width:88vw!important;
    max-width:88vw!important;
    right:-2vw!important;
    bottom:0!important;
  }
}


/* V81 — jeden stały skrót do koszyka na telefonie */
.mobile-cart-fab{display:none;}
@media(max-width:700px){
  .mobile-cart-fab{
    position:fixed!important;
    right:16px!important;
    bottom:16px!important;
    z-index:1000!important;
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    min-height:48px!important;
    padding:0 14px 0 18px!important;
    border:1px solid rgba(231,194,111,.72)!important;
    border-radius:999px!important;
    background:rgba(102,17,21,.96)!important;
    color:#f5dfaa!important;
    font:800 14px/1 Inter,system-ui,sans-serif!important;
    box-shadow:0 10px 28px rgba(38,4,7,.28)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    cursor:pointer!important;
  }
  .mobile-cart-fab span{
    display:grid!important;
    place-items:center!important;
    min-width:25px!important;
    height:25px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:#e5bd67!important;
    color:#5d1014!important;
    font-size:12px!important;
  }
  .mobile-cart-fab:active{transform:translateY(1px)!important;}
  .mobile-cart-fab.is-hidden{display:none!important;}
}


/* V82 — mobile Hero: osobne miejsce na danie + płynne przejście bez bordowej kreski */
@media(max-width:700px){
  .hero{
    min-height:0!important;
    padding:58px 20px 0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    background:#4a0709!important;
  }
  .hero-content{
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    padding-bottom:20px!important;
  }
  .hero-actions{
    position:relative!important;
    z-index:4!important;
    margin-bottom:0!important;
  }
  .hero > .hero-dish{
    position:relative!important;
    z-index:2!important;
    order:2!important;
    align-self:flex-end!important;
    width:min(430px,94vw)!important;
    max-width:94vw!important;
    height:auto!important;
    right:-3vw!important;
    left:auto!important;
    bottom:auto!important;
    margin:-2px 0 -8vw!important;
    opacity:.72!important;
    transform:none!important;
    pointer-events:none!important;
  }

  /* na telefonie przejście zaczyna się jeszcze w Hero, bez jednolitego bordowego pasa */
  .hero::before{
    inset:0!important;
    height:auto!important;
    background:
      linear-gradient(to bottom,
        rgba(68,4,8,.10) 0%,
        rgba(68,4,8,.16) 54%,
        rgba(70,5,9,.34) 72%,
        rgba(74,7,9,.68) 88%,
        rgba(74,7,9,.78) 100%
      )!important;
  }
  #specjaly{
    margin-top:0!important;
    padding-top:150px!important;
  }
  #specjaly::after{
    top:-1px!important;
    height:175px!important;
    background:
      linear-gradient(to bottom,
        rgba(74,7,9,.78) 0%,
        rgba(91,19,16,.58) 18%,
        rgba(133,58,36,.32) 42%,
        rgba(188,121,75,.14) 68%,
        rgba(243,230,202,.03) 88%,
        transparent 100%
      )!important;
  }
  #specjaly::before{
    top:22px!important;
    height:105px!important;
    opacity:.58!important;
  }
}
@media(max-width:430px){
  .hero > .hero-dish{
    width:91vw!important;
    max-width:91vw!important;
    right:-1vw!important;
    margin-top:4px!important;
    margin-bottom:-7vw!important;
  }
}


/* V83 — mobile Menu: delikatny oddech po bokach paska kategorii */
@media(max-width:700px){
  #menu .menu-categories{
    width:calc(100% - 20px)!important;
    margin-left:10px!important;
    margin-right:10px!important;
    border-radius:10px!important;
  }
}


/* V84 — mobile: węższy slider + przywrócone danie i pędzlowe przejście */
@media(max-width:700px){
  #menu .menu-categories{
    width:calc(100% - 40px)!important;
    margin-left:20px!important;
    margin-right:20px!important;
  }

  .hero > .hero-dish{
    display:block!important;
    visibility:visible!important;
    position:relative!important;
    z-index:2!important;
    flex:0 0 auto!important;
    align-self:flex-end!important;
    width:min(420px,91vw)!important;
    max-width:91vw!important;
    height:auto!important;
    right:-2vw!important;
    left:auto!important;
    bottom:auto!important;
    margin:6px 0 -6vw!important;
    opacity:.82!important;
  }

  /* przywrócenie organicznego, pędzlowego przejścia na mobile */
  #specjaly::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-5%!important;
    right:-5%!important;
    top:-2px!important;
    height:185px!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse 34% 43% at 7% 0%, rgba(74,7,9,.82) 0 40%, rgba(74,7,9,.48) 58%, transparent 77%),
      radial-gradient(ellipse 29% 55% at 34% -8%, rgba(74,7,9,.78) 0 36%, rgba(102,27,22,.40) 58%, transparent 78%),
      radial-gradient(ellipse 41% 46% at 68% -2%, rgba(74,7,9,.78) 0 38%, rgba(113,39,27,.36) 59%, transparent 79%),
      radial-gradient(ellipse 30% 57% at 97% -8%, rgba(74,7,9,.78) 0 37%, rgba(91,20,18,.42) 58%, transparent 77%),
      linear-gradient(to bottom,rgba(74,7,9,.72),rgba(127,51,32,.27) 48%,rgba(205,148,94,.08) 76%,transparent 100%)!important;
    opacity:1!important;
    filter:none!important;
  }
}
@media(max-width:430px){
  .hero > .hero-dish{
    width:89vw!important;
    max-width:89vw!important;
    right:-1vw!important;
    margin-bottom:-5vw!important;
  }
}


/* V85 — mobile Hero: jawnie przywrócone wnętrze + miękkie pędzlowe przenikanie */
@media(max-width:700px){
  .hero{
    background-color:#4a0709!important;
    background-image:
      linear-gradient(90deg,
        rgba(62,3,8,.90) 0%,
        rgba(70,4,9,.74) 42%,
        rgba(70,4,9,.52) 100%
      ),
      linear-gradient(to bottom,
        rgba(52,2,6,.18) 0%,
        rgba(52,2,6,.25) 64%,
        rgba(74,7,9,.62) 100%
      ),
      url("images/song-lam-interior.png")!important;
    background-size:cover!important;
    background-position:58% center!important;
    background-repeat:no-repeat!important;
  }

  /* końcówka Hero nie zamyka się już jednolitym bordowym kolorem */
  .hero::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:linear-gradient(to bottom,
      rgba(74,7,9,0) 0%,
      rgba(74,7,9,0) 68%,
      rgba(74,7,9,.10) 79%,
      rgba(74,7,9,.30) 91%,
      rgba(74,7,9,.46) 100%
    )!important;
  }

  #specjaly{
    margin-top:-2px!important;
    padding-top:190px!important;
  }
  #specjaly::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-8%!important;
    right:-8%!important;
    top:-2px!important;
    height:210px!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse 31% 34% at 5% -2%, rgba(74,7,9,.46) 0 32%, rgba(91,20,17,.25) 53%, transparent 76%),
      radial-gradient(ellipse 25% 42% at 29% -7%, rgba(74,7,9,.43) 0 29%, rgba(106,34,24,.22) 53%, transparent 77%),
      radial-gradient(ellipse 34% 36% at 58% -3%, rgba(74,7,9,.45) 0 31%, rgba(116,43,28,.21) 54%, transparent 78%),
      radial-gradient(ellipse 28% 43% at 86% -8%, rgba(74,7,9,.44) 0 30%, rgba(101,29,22,.23) 53%, transparent 77%),
      radial-gradient(ellipse 18% 31% at 103% 0%, rgba(74,7,9,.43) 0 29%, rgba(111,38,25,.20) 54%, transparent 78%),
      linear-gradient(to bottom,
        rgba(74,7,9,.46) 0%,
        rgba(91,19,16,.35) 13%,
        rgba(122,48,31,.25) 30%,
        rgba(158,80,45,.16) 49%,
        rgba(195,129,79,.09) 68%,
        rgba(229,193,143,.035) 84%,
        transparent 100%
      )!important;
    filter:blur(2px)!important;
    transform:none!important;
    opacity:1!important;
  }
  #specjaly::before{
    top:30px!important;
    height:130px!important;
    opacity:.32!important;
    filter:blur(11px)!important;
  }
}


/* V86 — mobile: prawdziwa nieregularna krawędź tuszu, bez prostej linii */
@media(max-width:700px){
  /* Hero i Specjały nachodzą na siebie, więc nie ma geometrycznego styku sekcji */
  .hero{
    z-index:2!important;
    margin-bottom:-34px!important;
    padding-bottom:34px!important;
  }
  #specjaly{
    z-index:1!important;
    margin-top:0!important;
    padding-top:220px!important;
  }

  /* wyłącz poprzednią prostą warstwę przejścia */
  #specjaly::before{
    content:none!important;
    display:none!important;
  }

  /* bordowy tusz schodzi w krem nieregularnymi językami/pociągnięciami */
  #specjaly::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-10%!important;
    right:-10%!important;
    top:-38px!important;
    height:245px!important;
    z-index:0!important;
    pointer-events:none!important;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    background:
      radial-gradient(ellipse 22% 54% at 2% 0%, #4a0709 0 28%, rgba(74,7,9,.72) 43%, rgba(103,29,21,.30) 61%, transparent 78%),
      radial-gradient(ellipse 17% 39% at 18% -1%, #4a0709 0 31%, rgba(74,7,9,.66) 47%, rgba(122,48,31,.24) 65%, transparent 80%),
      radial-gradient(ellipse 26% 63% at 38% -7%, #4a0709 0 27%, rgba(74,7,9,.70) 43%, rgba(116,43,28,.27) 62%, transparent 79%),
      radial-gradient(ellipse 19% 43% at 57% 0%, #4a0709 0 30%, rgba(74,7,9,.67) 46%, rgba(133,58,36,.22) 64%, transparent 81%),
      radial-gradient(ellipse 29% 58% at 77% -5%, #4a0709 0 28%, rgba(74,7,9,.69) 44%, rgba(112,37,27,.25) 62%, transparent 80%),
      radial-gradient(ellipse 20% 48% at 96% -2%, #4a0709 0 30%, rgba(74,7,9,.68) 45%, rgba(127,50,31,.23) 64%, transparent 81%)!important;
  }
}


/* V87 — mobile: usuń fizyczny prosty styk Hero/Specjały */
@media(max-width:700px){
  .hero{
    margin-bottom:0!important;
    padding-bottom:70px!important;
    overflow:visible!important;
    z-index:2!important;
  }

  /* nieregularny bordowy „papier/tusz” wystaje z Hero nad krem */
  .hero::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-6%!important;
    width:112%!important;
    height:125px!important;
    bottom:-82px!important;
    z-index:1!important;
    pointer-events:none!important;
    background:#4a0709!important;
    clip-path:polygon(
      0 0,100% 0,
      100% 31%,96% 38%,91% 30%,86% 46%,81% 35%,76% 54%,
      71% 40%,66% 58%,61% 43%,56% 63%,51% 46%,46% 57%,
      41% 39%,36% 53%,31% 36%,26% 49%,21% 31%,16% 44%,
      11% 28%,6% 39%,0 30%
    )!important;
    opacity:.96!important;
  }

  #specjaly{
    margin-top:0!important;
    padding-top:225px!important;
    background:#f3e6ca!important;
  }

  /* miękkie ślady pod poszarpaną krawędzią; bez pełnej warstwy na całą szerokość */
  #specjaly::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:165px!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse 20% 55% at 9% 0%,rgba(92,20,17,.34),transparent 72%),
      radial-gradient(ellipse 17% 64% at 29% 0%,rgba(111,37,25,.29),transparent 73%),
      radial-gradient(ellipse 21% 52% at 51% 0%,rgba(101,28,21,.31),transparent 72%),
      radial-gradient(ellipse 18% 66% at 72% 0%,rgba(123,48,29,.27),transparent 74%),
      radial-gradient(ellipse 20% 54% at 93% 0%,rgba(96,24,19,.31),transparent 72%)!important;
    filter:blur(8px)!important;
    opacity:.72!important;
    transform:none!important;
  }
  #specjaly::before{
    content:none!important;
    display:none!important;
  }
}


/* V88 — mobile: przejście wykonane na jednej warstwie nad stykiem sekcji */
@media(max-width:700px){
  .hero{
    position:relative!important;
    overflow:visible!important;
    margin-bottom:-96px!important;
    padding-bottom:166px!important;
    z-index:2!important;
  }

  /* maskujemy prosty dół samego Hero */
  .hero::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:0!important;
    height:180px!important;
    z-index:1!important;
    pointer-events:none!important;
    background:linear-gradient(to bottom,
      rgba(74,7,9,0) 0%,
      rgba(74,7,9,.12) 22%,
      rgba(74,7,9,.46) 52%,
      #4a0709 78%,
      #4a0709 100%
    )!important;
  }

  /* jedna duża warstwa wychodząca z Hero — jej DOLNA krawędź jest nieregularna */
  .hero::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-5%!important;
    width:110%!important;
    height:155px!important;
    bottom:-38px!important;
    z-index:2!important;
    pointer-events:none!important;
    opacity:1!important;
    background:
      radial-gradient(ellipse 18% 38% at 10% 76%,rgba(122,47,30,.38),transparent 70%),
      radial-gradient(ellipse 23% 45% at 34% 82%,rgba(105,30,23,.43),transparent 72%),
      radial-gradient(ellipse 17% 35% at 57% 72%,rgba(133,57,35,.32),transparent 70%),
      radial-gradient(ellipse 24% 44% at 80% 80%,rgba(109,34,24,.39),transparent 72%),
      #4a0709!important;
    clip-path:polygon(
      0 0,100% 0,100% 54%,
      96% 57%,93% 66%,89% 60%,86% 73%,82% 63%,78% 78%,
      74% 67%,70% 82%,66% 70%,62% 88%,58% 72%,54% 84%,
      50% 69%,46% 91%,42% 74%,38% 85%,34% 67%,30% 80%,
      26% 64%,22% 76%,18% 61%,14% 72%,10% 58%,6% 68%,3% 55%,0 61%
    )!important;
  }

  #specjaly{
    position:relative!important;
    z-index:1!important;
    margin-top:0!important;
    padding-top:255px!important;
    background:#f3e6ca!important;
  }

  /* żadna pełnoszeroka warstwa nie zaczyna się już prostą linią w Specjałach */
  #specjaly::before{
    content:none!important;
    display:none!important;
  }
  #specjaly::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-8%!important;
    width:116%!important;
    right:auto!important;
    top:0!important;
    height:155px!important;
    z-index:0!important;
    pointer-events:none!important;
    opacity:.62!important;
    filter:blur(12px)!important;
    background:
      radial-gradient(ellipse 18% 62% at 8% 0%,rgba(102,27,21,.30),transparent 72%),
      radial-gradient(ellipse 23% 72% at 31% 0%,rgba(123,48,29,.27),transparent 73%),
      radial-gradient(ellipse 19% 58% at 55% 0%,rgba(107,31,23,.27),transparent 72%),
      radial-gradient(ellipse 25% 70% at 79% 0%,rgba(126,50,31,.24),transparent 73%),
      radial-gradient(ellipse 18% 57% at 98% 0%,rgba(99,25,20,.27),transparent 72%)!important;
    transform:none!important;
  }
}


/* V89 — mobile: efekt tylko OD DOŁU Hero */
@media(max-width:700px){
  .hero{
    overflow:visible!important;
    margin-bottom:-92px!important;
    padding-bottom:162px!important;
    z-index:2!important;
  }

  /* usuń efekt nakładany na górę/wnętrze Hero */
  .hero::before{
    content:none!important;
    display:none!important;
  }

  /* pędzel zaczyna się dopiero przy DOLNEJ krawędzi Hero i schodzi w dół */
  .hero::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-5%!important;
    width:110%!important;
    height:128px!important;
    top:auto!important;
    bottom:-70px!important;
    z-index:3!important;
    pointer-events:none!important;
    opacity:1!important;
    background:#4a0709!important;
    clip-path:polygon(
      0 0,100% 0,
      100% 38%,97% 45%,94% 39%,91% 57%,88% 46%,85% 66%,
      82% 51%,79% 72%,76% 55%,73% 63%,70% 48%,67% 76%,
      64% 58%,61% 69%,58% 50%,55% 81%,52% 61%,49% 72%,
      46% 53%,43% 77%,40% 59%,37% 68%,34% 49%,31% 73%,
      28% 55%,25% 64%,22% 46%,19% 69%,16% 52%,13% 61%,
      10% 43%,7% 58%,4% 47%,0 54%
    )!important;
    filter:none!important;
    transform:none!important;
  }

  #specjaly{
    margin-top:0!important;
    padding-top:245px!important;
  }

  /* delikatne rozmycie tylko POD pędzlem */
  #specjaly::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-5%!important;
    width:110%!important;
    height:120px!important;
    top:0!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse 20% 75% at 12% 0%,rgba(95,23,19,.25),transparent 72%),
      radial-gradient(ellipse 25% 85% at 38% 0%,rgba(119,43,28,.22),transparent 73%),
      radial-gradient(ellipse 22% 72% at 63% 0%,rgba(105,30,23,.23),transparent 72%),
      radial-gradient(ellipse 25% 82% at 88% 0%,rgba(122,46,29,.20),transparent 73%)!important;
    opacity:.7!important;
    filter:blur(10px)!important;
  }
  #specjaly::after{
    content:none!important;
    display:none!important;
  }
}


/* V90 — mobile: dokładnie ten sam typ przejścia Hero -> Specjały co na desktopie */
@media(max-width:700px){
  .hero{
    margin-bottom:0!important;
    padding-bottom:105px!important;
    overflow:hidden!important;
    z-index:2!important;
  }

  .hero::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:linear-gradient(90deg,
      rgba(70,4,9,.48) 0%,
      rgba(70,4,9,.30) 28%,
      rgba(70,4,9,.10) 55%,
      rgba(70,4,9,.04) 100%
    )!important;
  }
  .hero::after{
    content:none!important;
    display:none!important;
  }

  #specjaly{
    margin-top:0!important;
    padding-top:175px!important;
    background:#f3e6ca!important;
  }
  #specjaly::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:125px!important;
    z-index:0!important;
    pointer-events:none!important;
    background:linear-gradient(to bottom,
      rgba(74,7,9,.90) 0%,
      rgba(103,29,21,.69) 24%,
      rgba(150,73,43,.43) 49%,
      rgba(202,139,87,.20) 72%,
      rgba(243,230,202,0) 100%
    )!important;
    opacity:1!important;
    filter:none!important;
    transform:none!important;
  }
  #specjaly::before{
    content:none!important;
    display:none!important;
  }
}


/* V91 — mobile: 1:1 przejście V73 z desktopu */
@media(max-width:700px){
  .hero{
    margin-bottom:0!important;
    overflow:hidden!important;
    padding-bottom:105px!important;
  }
  .hero::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    inset:0!important;
    z-index:1!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse at 78% 53%,rgba(224,151,48,.14),transparent 30%),
      linear-gradient(to bottom,
        transparent 0%,
        transparent 68%,
        rgba(69,5,9,.10) 78%,
        rgba(72,6,9,.42) 91%,
        #4a0709 100%
      )!important;
  }
  .hero::after{
    content:none!important;
    display:none!important;
  }

  #specjaly{
    margin-top:0!important;
    padding-top:225px!important;
  }
  #specjaly::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:-3px!important;
    height:225px!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse 34% 48% at 8% 0%, #4a0709 0 42%, rgba(74,7,9,.72) 58%, transparent 76%),
      radial-gradient(ellipse 28% 58% at 34% -5%, #4a0709 0 38%, rgba(91,18,16,.65) 58%, transparent 77%),
      radial-gradient(ellipse 42% 50% at 67% 0%, #4a0709 0 40%, rgba(99,27,20,.58) 59%, transparent 78%),
      radial-gradient(ellipse 31% 62% at 96% -7%, #4a0709 0 39%, rgba(83,13,14,.67) 57%, transparent 76%),
      linear-gradient(to bottom,
        rgba(74,7,9,.96) 0%,
        rgba(91,19,16,.72) 24%,
        rgba(133,58,36,.40) 48%,
        rgba(188,121,75,.19) 69%,
        rgba(243,230,202,.04) 88%,
        transparent 100%
      )!important;
    filter:none!important;
    opacity:1!important;
    transform:none!important;
  }
  #specjaly::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:-4%!important;
    right:-4%!important;
    top:38px!important;
    height:145px!important;
    z-index:0!important;
    pointer-events:none!important;
    background:
      radial-gradient(ellipse 16% 26% at 13% 22%, rgba(118,42,28,.28), transparent 72%),
      radial-gradient(ellipse 22% 22% at 45% 48%, rgba(125,48,29,.22), transparent 74%),
      radial-gradient(ellipse 18% 30% at 78% 25%, rgba(107,31,23,.25), transparent 72%),
      radial-gradient(ellipse 12% 24% at 93% 58%, rgba(151,72,42,.18), transparent 75%)!important;
    transform:rotate(-1deg)!important;
    filter:blur(7px)!important;
    opacity:1!important;
  }
}


/* V92 — usuń dwa jasne prześwity w dolnym przejściu Hero */
.hero::before{
  background:
    linear-gradient(to bottom,
      transparent 0%,
      transparent 68%,
      rgba(69,5,9,.10) 78%,
      rgba(72,6,9,.42) 91%,
      #4a0709 100%
    )!important;
}


/* V93 — sekcje jako osobne zaokrąglone panele; bez przejść między nimi */
body{
  background:#ead7b7!important;
}
.hero,
#specjaly,
#menu,
.visit-section{
  position:relative!important;
  width:calc(100% - 32px)!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:28px!important;
  overflow:hidden!important;
}
.hero{
  margin-top:16px!important;
  margin-bottom:16px!important;
}
#specjaly,
#menu,
.visit-section{
  margin-top:16px!important;
  margin-bottom:16px!important;
}

/* wyłącz wszystkie stare warstwy przejścia Hero -> Specjały */
.hero::after,
#specjaly::before,
#specjaly::after{
  content:none!important;
  display:none!important;
}

/* zachowaj przyciemnienie tła Hero, ale bez dolnego gradientu przejścia */
.hero::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    rgba(62,3,8,.78) 0%,
    rgba(70,4,9,.55) 42%,
    rgba(70,4,9,.24) 100%
  )!important;
}

@media(max-width:700px){
  .hero,
  #specjaly,
  #menu,
  .visit-section{
    width:calc(100% - 20px)!important;
    border-radius:20px!important;
  }
  .hero{
    margin-top:10px!important;
    margin-bottom:10px!important;
    padding-bottom:105px!important;
  }
  #specjaly{
    margin-top:10px!important;
    margin-bottom:10px!important;
    padding-top:110px!important;
  }
  #menu,
  .visit-section{
    margin-top:10px!important;
    margin-bottom:10px!important;
  }
}


/* V94 — subtelne dekoracje na pustych bokach desktopu */
@media(min-width:1100px){
  body{
    background-color:#ead7b7!important;
    background-image:
      linear-gradient(rgba(234,215,183,.89),rgba(234,215,183,.89)),
      url("images/menu-landscape-sepia.png")!important;
    background-size:auto,cover!important;
    background-position:center,center top!important;
    background-attachment:scroll,fixed!important;
    background-repeat:no-repeat!important;
  }
}

/* Symbol kategorii ma pojawiać się od razu — bez rozjaśniania/fade */
#menu .menu-preview.category-changing .preview-decoration span{
  animation:none!important;
}
#menu .preview-decoration span{
  transition:none!important;
  opacity:1;
}


/* V95 — linki nawigacji centrują docelową sekcję w oknie */
#specjaly,
#menu,
#kontakt{
  scroll-margin-top:0!important;
}
