/* MIĘDZYCZASIE — motyw WordPress */
:root{
  --green-900:#15351E;
  --green-800:#1F4F2C;
  --green-700:#2C6A3D;
  --green-600:#3D854F;
  --green-500:#5BA56C;
  --green-50:#E8F0E5;
  --orange-700:#C97826;
  --orange-600:#E89B3C;
  --orange-500:#F2B45D;
  --orange-200:#F7D9A6;
  --cream-100:#FBF6E9;
  --cream-200:#F7EBC6;
  --cream-300:#F0E0AE;
  --paper:#FDF9EE;
  --ink:#2C2418;
  --ink-soft:#5C4F3D;
  --line:#D9C896;
  --shadow: 0 1px 2px rgba(44,36,24,.06), 0 8px 24px rgba(44,36,24,.08);
  --shadow-lg: 0 2px 4px rgba(44,36,24,.06), 0 24px 48px rgba(44,36,24,.14);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter', system-ui, sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

.serif{font-family:'Fraunces', Georgia, serif; font-optical-sizing:auto; letter-spacing:-0.01em}
.handwritten{font-family:'Caveat', cursive; font-weight:700}

/* ─────────── Layout ─────────── */
.container{ max-width:1240px; margin:0 auto; padding: 0 32px }

.paper-bg{
  background-color:var(--cream-100);
  background-image:
    radial-gradient(rgba(44,36,24,.04) 1px, transparent 1px),
    radial-gradient(rgba(44,36,24,.025) 1px, transparent 1px);
  background-size: 32px 32px, 17px 17px;
  background-position: 0 0, 8px 8px;
}
.green-bg{ background:var(--green-800); color:var(--cream-100) }

/* ─────────── Header / Nav ─────────── */
.topbar{
  background:var(--green-900);
  color:var(--cream-200);
  font-size:13px;
  letter-spacing:.04em;
}
.topbar-inner{
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 32px; max-width:1240px; margin:0 auto;
}
.topbar a{ display:inline-flex; gap:6px; align-items:center; opacity:.9 }
.topbar a:hover{ opacity:1 }
.topbar-links{ display:flex; gap:20px; align-items:center }

.nav{
  position:sticky; top:0; z-index:50;
  background:rgba(253,249,238,.92);
  backdrop-filter: blur(10px);
  border-bottom:1px solid rgba(31,79,44,.10);
}
.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 32px; max-width:1240px; margin:0 auto;
}
.brand{ display:flex; align-items:center; gap:14px }
.brand img{ width:54px; height:54px; border-radius:50%; box-shadow:var(--shadow) }
.brand-name{
  font-family:'Fraunces', serif; font-weight:700; font-size:20px;
  color:var(--green-800); line-height:1; letter-spacing:.02em;
}
.brand-tag{ font-family:'Caveat', cursive; font-weight:700; font-size:18px; color:var(--orange-700); margin-top:2px }

.nav-links{ display:flex; gap:8px; align-items:center }

/* Mobile menu (hidden on desktop) */
.nav-mobile-toggle{ display:none }
.nav-mobile-menu{ display:none }
.nav-links a{
  padding:10px 14px; border-radius:999px; font-weight:500; font-size:14.5px;
  color:var(--ink); transition:all .2s;
}
.nav-links a:hover{ background:var(--cream-200); color:var(--green-800) }
.nav-links a.active{ color:var(--green-800) }
.nav-links a.btn-primary,
.nav-links a.btn-primary:hover { color:#fff !important }

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 22px; border-radius:999px;
  font-weight:600; font-size:14.5px; letter-spacing:.01em;
  transition:transform .15s ease, background .2s, box-shadow .2s;
}
.btn:hover{ transform:translateY(-1px) }
.btn-primary{ background:var(--green-800); color:#fff !important; box-shadow:var(--shadow) }
.btn-primary:hover{ background:var(--green-600); box-shadow:var(--shadow-lg) }
.btn-primary svg{ stroke:#fff !important }
.btn-orange{ background:var(--orange-600); color:#fff; box-shadow:var(--shadow) }
.btn-orange:hover{ background:var(--orange-700) }
.btn-ghost{ background:transparent; color:var(--green-800); border:1.5px solid var(--green-800) }
.btn-ghost:hover{ background:var(--green-800); color:var(--cream-100) }
.btn-white{ background:#fff; color:var(--green-800); border:1.5px solid var(--green-800); box-shadow:var(--shadow) }
.btn-white:hover{ background:var(--cream-100); box-shadow:var(--shadow-lg) }

/* ─────────── Hero ─────────── */
.hero{
  position:relative; overflow:hidden;
  padding: 56px 0 32px;
}
.hero-grid{
  display:grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items:center;
}
.hero-eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  padding:6px 14px; border-radius:999px;
  background:var(--cream-200); color:var(--green-800);
  font-weight:600; font-size:13px; letter-spacing:.06em;
  text-transform:uppercase;
}
.hero-eyebrow .dot{ width:6px;height:6px;border-radius:50%; background:var(--orange-600); animation:pulse 2s infinite }
@keyframes pulse{ 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.6);opacity:.5} }

/* Zamknięte */
.hero-eyebrow--closed{ background:rgba(44,36,24,.08); color:var(--ink-soft) }
.hero-eyebrow--closed .dot--closed{ background:#9e9e9e; animation:none }
.eyebrow-next{ font-weight:400; margin-left:6px; opacity:.75; font-size:12px }

.hero h1{
  font-family:'Fraunces', serif;
  font-size: clamp(48px, 6.4vw, 92px);
  line-height: .98; letter-spacing:-0.025em;
  margin: 22px 0 14px; font-weight:700;
  color:var(--green-900);
}
.hero h1 em{
  font-style:italic; font-weight:500;
  color:var(--orange-700);
}
.hero h1 .scribble{
  position:relative; white-space:nowrap;
}
.hero h1 .scribble::after{
  content:""; position:absolute; left:-4px; right:-4px; bottom:-2px; height:14px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 14'><path d='M2 8 Q 50 0, 100 6 T 198 7' stroke='%23E89B3C' stroke-width='3' fill='none' stroke-linecap='round'/></svg>") no-repeat center/100% 100%;
  z-index:-1;
}

.hero-lead{
  font-size:18px; color:var(--ink-soft); max-width:520px; margin-bottom:28px;
}
.hero-cta{ display:flex; gap:12px; flex-wrap:wrap }

.hero-meta{
  display:flex; gap:28px; margin-top:40px; padding-top:28px;
  border-top:1px dashed var(--line);
}
.hero-meta div{ display:flex; flex-direction:column }
.hero-meta .num{ font-family:'Fraunces', serif; font-size:28px; font-weight:600; color:var(--green-800) }
.hero-meta .lbl{ font-size:13px; color:var(--ink-soft) }

.hero-collage{
  position:relative; height: 560px;
}
.hero-collage .photo{
  position:absolute; border-radius:24px; overflow:hidden; box-shadow:var(--shadow-lg);
  background:var(--cream-200);
}
.hero-collage .photo img{ width:100%; height:100%; object-fit:cover }
.hero-collage .p1{ inset: 0 12% 28% 0; transform:rotate(-2deg) }
.hero-collage .p2{ width: 56%; height:46%; right:0; top:8%; transform:rotate(3deg) }
.hero-collage .p3{ width:44%; height:42%; left:8%; bottom:0; transform:rotate(-4deg) }

.hero-stamp{
  position:absolute; right:-18px; top:46%;
  width:148px; height:148px; border-radius:50%;
  background:var(--orange-600); color:#fff;
  display:grid; place-items:center; text-align:center;
  font-family:'Fraunces', serif; font-weight:700; font-size:15px;
  line-height:1.2;
  transform: rotate(-12deg);
  box-shadow: 0 12px 32px rgba(232,155,60,.4);
  z-index:3;
}
.hero-stamp::before{
  content:""; position:absolute; inset:8px;
  border:2px dashed rgba(255,255,255,.7); border-radius:50%;
}
.hero-stamp span{ display:block; font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; opacity:.9 }
.hero-stamp strong{ display:block; font-size:32px; line-height:1; margin:4px 0 2px }

/* ─────────── Section heads ─────────── */
.section{ padding: 96px 0 }
#dania-dnia{ padding-top: 32px }
.section-eyebrow{
  font-family:'Caveat', cursive; font-weight:700;
  color:var(--orange-700); font-size:28px; line-height:1;
  margin-bottom:8px;
}
.section-title{
  font-family:'Fraunces', serif; font-weight:700;
  font-size: clamp(34px, 4.4vw, 56px); line-height:1.05;
  letter-spacing:-0.02em; color:var(--green-900);
  margin: 0 0 16px;
}
.section-title em{ font-style:italic; font-weight:500; color:var(--orange-700) }
.section-lead{ font-size:17px; color:var(--ink-soft); max-width:620px }

.section-head{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:24px; margin-bottom:48px }

/* ─────────── Highlights row ─────────── */
.highlights{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:12px;
  background:var(--cream-200);
  border-radius:24px; padding:18px;
  margin-top: 56px; position:relative; z-index:2;
}
.highlight{
  display:flex; gap:14px; align-items:center;
  padding:14px 16px; border-radius:16px;
  background:var(--paper);
}
.highlight .ic{
  width:44px;height:44px;border-radius:50%;
  background:var(--green-50); display:grid; place-items:center;
  color:var(--green-800);
}
.highlight .t{ font-weight:600; font-size:14.5px; line-height:1.2 }
.highlight .s{ font-size:12.5px; color:var(--ink-soft); margin-top:2px }

/* ─────────── Dania dnia (weekly) ─────────── */
.weekly{
  background: var(--green-800);
  color:var(--cream-100);
  border-radius:32px;
  padding: 56px;
  position:relative; overflow:hidden;
}
.weekly::before{
  content:""; position:absolute; top:-80px; right:-80px; width:280px; height:280px;
  border-radius:50%; background:var(--green-700); opacity:.5;
}
.weekly::after{
  content:""; position:absolute; bottom:-100px; left:-60px; width:240px; height:240px;
  border-radius:50%; background:var(--orange-600); opacity:.18;
}
.weekly > *{ position:relative; z-index:1 }
.weekly .section-eyebrow{ color:var(--orange-500) }
.weekly .section-title{ color:var(--cream-100) }
.weekly .section-title em{ color:var(--orange-500) }
.weekly .section-lead{ color:rgba(251,246,233,.75) }

.day-tabs{
  display:flex; gap:8px; flex-wrap:wrap;
  margin: 32px 0 28px;
}
.day-tab{
  padding:14px 20px; border-radius:999px;
  background: rgba(255,255,255,.06);
  color: var(--cream-200);
  font-weight:600; font-size:14px;
  transition: all .2s;
  display:flex; flex-direction:column; align-items:center; gap:2px;
  min-width:96px;
}
.day-tab:hover{ background:rgba(255,255,255,.12) }
.day-tab.active{ background: var(--orange-600); color:#fff; box-shadow: 0 8px 24px rgba(232,155,60,.4) }
.day-tab .dnum{ font-family:'Fraunces', serif; font-size:22px; font-weight:700; line-height:1 }
.day-tab .dnam{ font-size:11px; opacity:.85; letter-spacing:.06em; text-transform:uppercase }
.day-tab.today::after{
  content:"DZIŚ"; display:inline-block; margin-top:4px;
  font-size:10px; padding:2px 8px; border-radius:999px;
  background: var(--cream-100); color: var(--green-800); letter-spacing:.06em;
}

.day-card{
  background:var(--cream-100); color:var(--ink);
  border-radius:24px; padding:36px;
  display:grid; grid-template-columns: 1fr 1fr 1fr; gap:24px;
}
.day-card.js-hidden{ display:none }
.day-dish{
  border-radius:16px; padding:24px;
  background:var(--paper);
  display:flex; flex-direction:column; gap:10px;
  border: 1px dashed var(--line);
  position:relative;
}
.day-dish .badge{
  display:inline-block; align-self:flex-start;
  font-family:'Caveat', cursive; font-weight:700;
  color:var(--orange-700); font-size:18px; line-height:1;
}
.day-dish h4{
  font-family:'Fraunces', serif; font-weight:600;
  margin:0; font-size:21px; line-height:1.15; color:var(--green-900);
}
.day-dish p{ margin:0; color:var(--ink-soft); font-size:14px }
.day-dish .num{
  position:absolute; right:20px; top:18px;
  font-family:'Fraunces', serif; font-size:42px; font-weight:700;
  color:var(--cream-300); line-height:1;
}

.weekly-foot{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:28px; flex-wrap:wrap; gap:16px;
}
.weekly-foot .price{
  font-family:'Fraunces', serif; font-size:28px;
}
.weekly-foot .price strong{ color:var(--orange-500) }

/* ─────────── Menu ─────────── */
.menu-section{ background: var(--cream-100) }
.menu-filters{
  display:flex; gap:8px; flex-wrap:wrap; margin-bottom:32px;
}
.chip{
  padding:10px 18px; border-radius:999px;
  background:var(--paper); border:1.5px solid transparent;
  color:var(--ink); font-weight:500; font-size:14px;
  transition:all .15s;
  display:inline-flex; align-items:center; gap:8px;
}
.chip:hover{ border-color:var(--green-800) }
.chip.active{ background:var(--green-800); color:var(--cream-100); border-color:var(--green-800) }
.chip .count{
  font-size:11px; padding:2px 7px; border-radius:999px;
  background: rgba(0,0,0,.06); color:inherit; font-weight:600;
}
.chip.active .count{ background: rgba(255,255,255,.18) }

.menu-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.dish-card{
  background:var(--paper); border-radius:20px; overflow:hidden;
  box-shadow: 0 1px 0 rgba(44,36,24,.04), 0 8px 18px rgba(44,36,24,.05);
  display:flex; flex-direction:column;
  transition:transform .2s, box-shadow .2s;
  position:relative;
  border:1px solid rgba(217,200,150,.4);
}
.dish-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg) }
.dish-photo{
  aspect-ratio: 5/4; background: var(--cream-200);
  position:relative; overflow:hidden; isolation:isolate;
}
.dish-photo img{ width:100%; height:100%; object-fit:cover; transition: transform .5s }
.dish-card:hover .dish-photo img{ transform: scale(1.04) }
.dish-tag{
  position:absolute; top:12px; left:12px;
  background:var(--paper); color:var(--green-800);
  padding:4px 10px; border-radius:999px;
  font-size:11px; font-weight:600; letter-spacing:.04em;
  text-transform:uppercase; z-index:1; transform:translateZ(0);
}
.dish-tag.hot{ background: var(--orange-600); color:#fff }

.dish-body{ padding:20px 22px 22px; display:flex; flex-direction:column; gap:8px; flex:1 }
.dish-row{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px }
.dish-name{ font-family:'Fraunces', serif; font-weight:600; font-size:20px; line-height:1.2; color:var(--green-900) }
.dish-price{
  font-family:'Fraunces', serif; font-weight:700; font-size:20px;
  color:var(--orange-700); white-space:nowrap;
}
.dish-desc{ font-size:13.5px; color:var(--ink-soft); line-height:1.5; flex:1 }
.dish-meta{
  display:flex; gap:8px; flex-wrap:wrap; margin-top:6px;
  font-size:11.5px; color:var(--ink-soft);
}
.dish-meta span{
  display:inline-block; padding:2px 8px; border-radius:6px;
  background:var(--cream-200);
}

/* ─────────── Katering ─────────── */
.catering{
  display:grid; grid-template-columns: 1.05fr 1fr; gap:64px; align-items:center;
}
.catering-img{
  position:relative; border-radius:32px; overflow:hidden; aspect-ratio:4/5;
  box-shadow:var(--shadow-lg);
}
.catering-img img{ width:100%; height:100%; object-fit:cover }
.catering-img .badge{
  position:absolute; left:24px; top:24px;
  background:var(--cream-100); color:var(--green-900);
  padding:8px 16px; border-radius:999px;
  font-family:'Caveat', cursive; font-weight:700; font-size:22px;
}
.catering ul.feats{ list-style:none; padding:0; margin:24px 0 }
.catering ul.feats li{
  display:flex; gap:14px; padding:14px 0; align-items:flex-start;
  border-bottom: 1px dashed var(--line);
}
.catering ul.feats li:last-child{ border-bottom:none }
.catering .check{
  width:32px;height:32px;border-radius:50%; flex-shrink:0;
  background:var(--green-50); color:var(--green-800);
  display:grid;place-items:center;
}
.catering li b{ display:block; font-family:'Fraunces', serif; font-size:18px; color:var(--green-900) }
.catering li span{ font-size:14px; color:var(--ink-soft) }

/* ─────────── About ─────────── */
.about{
  background: var(--green-800); color:var(--cream-100);
  border-radius:32px; padding:80px 56px; position:relative; overflow:hidden;
  display:grid; grid-template-columns: 1.1fr .9fr; gap:48px; align-items:center;
}
.about .section-title{ color:var(--cream-100) }
.about .section-title em{ color:var(--orange-500) }
.about-quote{
  font-family:'Fraunces', serif; font-style:italic; font-weight:500;
  font-size:24px; line-height:1.4;
  border-left: 3px solid var(--orange-500);
  padding: 8px 0 8px 22px; margin: 24px 0;
  color:var(--cream-100);
}
.about-sig{
  font-family:'Caveat', cursive; font-weight:700;
  color:var(--orange-500); font-size:30px; line-height:1;
}
.about-stats{
  display:grid; grid-template-columns: 1fr 1fr; gap:20px;
  margin-top:32px;
}
.about-stat{
  background: rgba(255,255,255,.06); border-radius:16px;
  padding:20px;
}
.about-stat .n{ font-family:'Fraunces', serif; font-size:42px; line-height:1; color:var(--orange-500); font-weight:700 }
.about-stat .l{ font-size:13px; color:rgba(251,246,233,.75); margin-top:6px }

.about-collage{
  position:relative; aspect-ratio: 4/5;
}
.about-collage .ph{
  position:absolute; border-radius:20px; overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.about-collage .ph img{ width:100%; height:100%; object-fit:cover }
.about-collage .a1{ inset: 0 30% 35% 0; transform:rotate(-3deg) }
.about-collage .a2{ width:60%; height:55%; right:0; bottom:0; transform:rotate(4deg) }

/* ─────────── Contact ─────────── */
.contact{
  display:grid; grid-template-columns: 1fr 1fr; gap:0;
  border-radius:32px; overflow:hidden;
  background:var(--paper); box-shadow:var(--shadow-lg);
  border: 1px solid rgba(217,200,150,.5);
}
.contact-info{ padding: 56px 48px }
.contact-info h2{
  font-family:'Fraunces', serif; font-weight:700;
  font-size:42px; line-height:1.05; margin:0 0 12px;
  color:var(--green-900);
}
.contact-info .lead{ color:var(--ink-soft); margin-bottom:32px }

.info-list{ list-style:none; padding:0; margin:0 0 32px }
.info-list li{
  display:flex; gap:16px; align-items:flex-start;
  padding: 16px 0; border-bottom: 1px dashed var(--line);
}
.info-list li:last-child{ border-bottom:none }
.info-list .ic{
  width:40px;height:40px;border-radius:10px;
  background: var(--cream-200); color:var(--green-800);
  display:grid;place-items:center; flex-shrink:0;
}
.info-list b{ display:block; font-family:'Fraunces', serif; font-size:17px; color:var(--green-900); margin-bottom:2px }
.info-list span{ font-size:14px; color:var(--ink-soft) }

.hours{
  background:var(--cream-200); border-radius:16px; padding: 18px 22px;
  font-size:14px;
}
.hours-row{ display:flex; justify-content:space-between; align-items:center; padding:6px 0; gap:8px }
.hours-row.today{ color:var(--green-800); font-weight:700 }
.hours-row.today::after{
  content:"otwarte"; margin-left:auto; padding:4px 10px; flex-shrink:0;
  background:var(--green-800); color:var(--cream-100);
  border-radius:6px; font-size:11px; letter-spacing:.06em;
  display:inline-flex; align-items:center; line-height:1;
}

.contact-map{
  position:relative; min-height: 540px;
  background:var(--cream-200);
}
.contact-map img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0 }
.map-pin{
  position:absolute; left:50%; top:48%; transform:translate(-50%,-100%);
  background:var(--green-800); color:var(--cream-100);
  padding:12px 18px; border-radius:14px;
  font-family:'Fraunces',serif; font-weight:600; font-size:15px;
  box-shadow: 0 12px 24px rgba(31,79,44,.4);
  display:flex; align-items:center; gap:10px;
}
.map-pin::after{
  content:""; position:absolute; left:50%; bottom:-8px; transform:translateX(-50%);
  border:8px solid transparent; border-top-color: var(--green-800);
}
.map-cta{
  position:absolute; right:20px; bottom:20px;
}

/* ─────────── Footer ─────────── */
footer{
  background: var(--green-900); color: var(--cream-200);
  padding: 64px 0 32px; margin-top:64px;
}
.foot-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:48px }
.foot-brand{ display:flex; gap:14px; align-items:center }
.foot-brand img{ width:62px;height:62px; border-radius:50% }
.foot-brand .n{ font-family:'Fraunces', serif; font-weight:700; color:var(--cream-100); font-size:22px; line-height:1.05 }
.foot-brand .t{ font-family:'Caveat', cursive; color:var(--orange-500); font-size:18px }
.foot-blurb{ margin-top:18px; font-size:14px; color: rgba(251,246,233,.65); max-width: 320px; line-height:1.6 }
footer h5{ font-family:'Fraunces', serif; font-size:16px; margin:0 0 14px; color:var(--cream-100); font-weight:600 }
footer ul{ list-style:none; padding:0; margin:0 }
footer ul li{ padding:5px 0; font-size:14px; display:flex; align-items:center; gap:6px }
footer ul li a{ color:rgba(251,246,233,.7) }
footer ul li a:hover{ color:var(--orange-500) }
.foot-bottom{
  margin-top:48px; padding-top:24px; border-top: 1px solid rgba(251,246,233,.12);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-size:12.5px; color:rgba(251,246,233,.55);
}

/* ─────────── Reveal ─────────── */
.reveal{ opacity:0; transform: translateY(14px); transition: opacity .6s ease, transform .6s ease }
.reveal.in{ opacity:1; transform:none }

/* ─────────── Responsive ─────────── */
@media (max-width: 1024px){
  .hero-grid, .about, .contact, .catering{ grid-template-columns:1fr; gap:32px }
  .menu-grid{ grid-template-columns: repeat(2, 1fr) }
  .day-card{ grid-template-columns:1fr }
  .highlights{ grid-template-columns: repeat(2, 1fr); margin-top:32px }
  .foot-grid{ grid-template-columns: 1fr 1fr; gap:32px }
  .about, .weekly{ padding: 48px 28px }
}
@media (max-width: 640px){
  .container{ padding: 0 18px }
  .menu-grid{ grid-template-columns: 1fr }
  .nav-links{ display:none }

  /* Hamburger toggle */
  .nav-mobile-toggle{
    display:inline-flex; flex-direction:column; justify-content:space-between;
    width:40px; height:32px; padding:6px 4px;
    background:transparent; border:0; cursor:pointer;
  }
  .nav-mobile-toggle span{
    display:block; height:3px; width:100%;
    background:var(--green-800); border-radius:2px;
    transition:transform .25s ease, opacity .2s ease;
  }
  .nav-mobile-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg) }
  .nav-mobile-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0 }
  .nav-mobile-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg) }

  /* Drop-down panel */
  .nav-mobile-menu{
    display:flex; flex-direction:column; gap:4px;
    padding:14px 18px 18px;
    background:rgba(253,249,238,.98);
    border-top:1px solid rgba(31,79,44,.08);
    box-shadow:0 10px 24px rgba(31,79,44,.10);
  }
  .nav-mobile-menu[hidden]{ display:none }
  .nav-mobile-menu a{
    padding:12px 14px; border-radius:12px;
    font-weight:500; font-size:16px; color:var(--ink);
  }
  .nav-mobile-menu a:hover{ background:var(--cream-200); color:var(--green-800) }
  .nav-mobile-biz{
    font-weight:600 !important;
  }
  .nav-mobile-cta{ margin-top:6px; justify-content:center }
  .nav-mobile-cta, .nav-mobile-cta:hover{ color:#fff !important }
  .hero{ padding: 32px 0 56px }
  .hero-collage{ height: 420px }
  .section{ padding: 64px 0 }
  .contact-info{ padding: 36px 28px }
  .topbar-links:last-child{ display:none }
  .highlights{ grid-template-columns:1fr 1fr; gap:8px; padding:10px; margin-top:24px }
  .highlight{ padding:10px 10px; gap:8px }
  .highlight .ic{ width:36px; height:36px; flex-shrink:0 }
  .highlight .t{ font-size:13px }
  .highlight .s{ font-size:11px }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:20px }
  .foot-grid > div:first-child{ grid-column:1/-1 }

  /* Menu dnia */
  .weekly{ padding:32px 20px }
  .day-tabs{ display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin:20px 0 16px }
  .day-tab{ min-width:0; padding:10px 4px; font-size:12px }
  .day-tab .dnum{ font-size:18px }
  .day-tab .dnam{ font-size:10px }
  .day-tab.today::after{ font-size:9px; padding:1px 5px; margin-top:2px }
  .day-card{ padding:20px 16px; gap:14px }
  .day-dish{ padding:16px }
  .day-dish h4{ font-size:17px }
  .day-dish .num{ font-size:32px; right:14px; top:12px }
  .weekly-foot{ flex-direction:column; align-items:flex-start; gap:12px }
  .weekly-foot .price{ font-size:22px }
}
@media (max-width:400px){
  .highlights{ grid-template-columns:1fr }
}

/* ─────────── Oferta biznesowa – mobile hero ─────────── */
@media (max-width: 640px){
  .biz-hero h1{
    font-size: clamp(30px, 8vw, 42px);
    line-height: 1.08;
    letter-spacing: -.018em;
    margin: 16px 0 12px;
  }
  .biz-hero .hero-lead{
    font-size: 16px;
    margin-bottom: 22px;
  }
  .biz-hero{
    padding: 24px 0 40px;
  }
}
