/* Coffee Original: menu pages */
.mhero{position:relative;padding:150px 0 70px;overflow:hidden}
.mhero .crumb{display:flex;gap:10px;align-items:baseline;color:var(--text-secondary);margin-bottom:22px}
.mhero .crumb a{text-decoration:none;color:var(--text-secondary);transition:color .3s}
.mhero .crumb a:hover{color:var(--text-primary)}
.mhero .tag{display:block;font-family:var(--f-script);font-size:clamp(1.6rem,3vw,2.4rem);color:var(--tag,var(--text-secondary));line-height:1;margin-bottom:6px}
.mhero h1{font-size:clamp(3rem,8vw,7.4rem);font-weight:900;line-height:.98;max-width:12ch}
.mhero .lede{margin-top:24px;font-size:1.15rem;color:var(--text-secondary);max-width:46ch}
.mhero .meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;color:var(--text-secondary)}
.mhero-art{position:absolute;right:max(var(--gutter),calc(50% - 620px));top:120px;width:min(34vw,380px);color:var(--art,rgba(243,231,214,.12));pointer-events:none}
.mhero-art.alive{animation:artFloat 12s var(--ease-io) -3s infinite alternate}
@keyframes artFloat{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(18px) rotate(3deg)}}
@media (max-width:860px){.mhero{padding:120px 0 50px}.mhero-art{opacity:.45;width:200px;top:90px;right:-30px}}

/* sticky category pills */
.mtabs{position:sticky;top:72px;z-index:20;background:rgba(27,12,13,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-block:1px solid var(--line)}
.mtabs ul{display:flex;gap:6px;list-style:none;margin:0 auto;padding:10px 0;overflow-x:auto;scrollbar-width:none;width:min(var(--maxw),100% - 2*var(--gutter))}
.mtabs ul::-webkit-scrollbar{display:none}
.mtabs a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;white-space:nowrap;text-decoration:none;font-size:.92rem;color:var(--text-secondary);border:1px solid transparent;transition:color .3s var(--ease-out),border-color .3s var(--ease-out),background-color .3s var(--ease-out)}
.mtabs a:hover{color:var(--text-primary);border-color:var(--line-strong)}
.mtabs a.active{color:var(--brand);background:var(--accent);border-color:var(--accent)}
@media (pointer:coarse){.mtabs a{min-height:44px}}

/* categories */
.mcat{padding:90px 0 20px;scroll-margin-top:140px}
.mcat-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-bottom:28px}
.mcat-head h2{font-size:clamp(2rem,4vw,3.2rem)}
.mcat-head .hint{color:var(--text-secondary);font-size:.95rem;max-width:44ch}
.sizes{display:grid;grid-auto-flow:column;grid-auto-columns:var(--pc,6.4em);text-align:right;color:var(--text-secondary)}
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.rows li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);transition:background-color .3s var(--ease-out)}
.rows li:hover{background:rgba(243,231,214,.03)}
.rows .nm{display:flex;align-items:baseline;min-width:0;font-weight:500;font-size:1.08rem}
.rows .nm::after{content:"";flex:1;min-width:20px;margin:0 0 0 14px;border-bottom:2px dotted rgba(243,231,214,.32);transform:translateY(-.3em)}
.fcard.wide{flex-direction:row}
.fcard.wide .ph{flex:0 0 52%;aspect-ratio:auto;min-height:340px}
.fcard.wide .fbody{padding:36px 40px}
.fcard.wide h3{font-size:2rem}
@media (max-width:760px){.fcard.wide{flex-direction:column}.fcard.wide .ph{aspect-ratio:4/3;min-height:0}.fcard.wide .fbody{padding:22px 24px 24px}.fcard.wide h3{font-size:1.4rem}}
.rows.plain .nm::after{display:none}
.rows.plain li{grid-template-columns:1fr}
.rows .nm small{display:block;font-size:.86rem;font-weight:400;color:var(--text-secondary);margin-top:3px}
.rows .nm .t{display:block}
.rows .pp{display:grid;grid-auto-flow:column;grid-auto-columns:var(--pc,6.4em);text-align:right}
.rows .pr{font-family:var(--f-mono);font-size:1rem;white-space:nowrap}
.rows .pr:empty::before{content:"·";color:var(--text-secondary);opacity:.6}
.rows .new{display:inline-block;margin-left:10px;padding:2px 8px;border-radius:6px;background:var(--brand);color:var(--accent);font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;transform:translateY(-2px)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:0 64px}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
@media (max-width:520px){
  .sizes,.rows .pp{--pc:4.6em}
  .rows .pr{font-size:.9rem}
  .rows .nm{font-size:1rem}
}

/* featured cards with photo slots */
.feat{display:grid;grid-template-columns:repeat(var(--fc,3),1fr);gap:22px;margin-bottom:34px}
.fcard{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:22px;overflow:hidden;transition:transform .6s var(--ease-out),border-color .5s var(--ease-out)}
.fcard:hover{transform:translateY(-6px);border-color:var(--line-strong)}
.reveal.done .fcard.r{transition:transform .6s var(--ease-out),border-color .5s var(--ease-out),opacity .9s var(--ease-out);transition-delay:0s}
.ph{position:relative;aspect-ratio:4/3;margin:0;overflow:hidden;background:radial-gradient(circle at 50% 60%,var(--ph-glow,rgba(122,3,5,.55)),var(--ph-bg,#200E0E) 70%)}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.fcard:hover .ph img{transform:scale(1.05)}
.ph svg{position:absolute;left:50%;top:50%;width:46%;transform:translate(-50%,-50%);color:var(--ph-ink,rgba(243,231,214,.75))}
.fbody{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.fbody h3{font-size:1.4rem;line-height:1.2;margin-bottom:8px}
.fbody p{color:var(--text-secondary);font-size:.93rem;line-height:1.5}
.fbody .ff{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.fbody .ff .mono{color:var(--text-secondary)}
.fbody .price{font-family:var(--f-mono);font-size:1.15rem;white-space:nowrap}
@media (max-width:980px){.feat{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.feat{grid-template-columns:1fr}}

.mnote{margin:80px auto 0;padding:26px 0 120px;color:var(--text-secondary);font-size:.95rem;display:grid;gap:6px}
.mnext{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.mnext a{display:flex;justify-content:space-between;align-items:baseline;padding:26px 28px;border:1px solid var(--line-strong);border-radius:18px;text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:1.4rem;transition:border-color .4s var(--ease-out),background-color .4s var(--ease-out)}
.mnext a span{font-family:var(--f-body);font-weight:400;font-size:.9rem;color:var(--text-secondary);display:block;margin-bottom:4px}
.mnext a:hover{border-color:var(--accent);background:var(--accent-muted)}
@media (max-width:640px){.mnext{grid-template-columns:1fr}}

/* autumn theme */
body.autumn{--tag:#E08A45;--art:rgba(216,120,47,.22);--ph-glow:rgba(216,120,47,.42);--ph-bg:#22100B}
body.autumn .env::before{background:radial-gradient(circle at 30% 30%,rgba(216,120,47,.2),transparent 45%),radial-gradient(circle at 75% 70%,rgba(122,3,5,.3),transparent 40%)}
body.autumn .new{background:#B8561C}

/* kids theme: light sky, as on the kids menu */
body.kids{--canvas:#EAF3F8;--panel:#FFFFFF;--text-primary:#3B1612;--text-secondary:#6E5049;--line:rgba(59,22,18,.12);--line-strong:rgba(59,22,18,.35);--accent-muted:rgba(122,3,5,.08);--tag:#E46A1F;--ph-glow:rgba(255,255,255,.9);--ph-bg:#BFDDEE;--ph-ink:#E46A1F;--art:rgba(255,255,255,.9);--tshadow:none}
body.kids .env{background:linear-gradient(180deg,#CFE6F3 0%,#EAF3F8 40%,#F3F7F9 100%)}
body.kids .env::before{background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.8),transparent 40%),radial-gradient(circle at 80% 60%,rgba(255,255,255,.7),transparent 40%)}
body.kids .env::after{opacity:.03}
body.kids .nav.solid{background:rgba(234,243,248,.9);box-shadow:0 1px 0 var(--line)}
body.kids .links .btn{color:var(--accent);background:var(--brand)}
body.kids .links .btn:hover{background:var(--brand-deep);color:var(--accent)}
body.kids .burger{color:var(--text-primary)}
body.kids .mtabs{background:rgba(234,243,248,.92)}
body.kids .mtabs a.active{background:var(--brand);color:var(--accent);border-color:var(--brand)}
body.kids .mcat-head h2{color:#E46A1F;text-transform:uppercase;letter-spacing:.02em}
body.kids .rows .nm::after{border-bottom-color:rgba(59,22,18,.25)}
body.kids .rows li:hover{background:rgba(255,255,255,.6)}
body.kids .fcard{box-shadow:0 18px 40px rgba(60,110,140,.12)}
body.kids .mhero h1{color:var(--brand)}
body.kids :focus-visible{outline-color:var(--brand)}
.cloud{position:absolute;z-index:-1;color:#fff;opacity:.9;pointer-events:none}
.cloud.c1{width:220px;left:-90px;top:360px}
.cloud.c2{width:180px;right:6%;top:150px;opacity:.85}
.cloud.c3{width:120px;left:56%;top:340px;opacity:.6}
.mhero.alive .cloud.c1{animation:cloudDrift 60s linear -10s infinite alternate}
.mhero.alive .cloud.c2{animation:cloudDrift 75s linear -30s infinite alternate-reverse}
.mhero.alive .cloud.c3{animation:cloudDrift 90s linear -45s infinite alternate}
@keyframes cloudDrift{from{transform:translateX(0)}to{transform:translateX(120px)}}

/* ---------- 3D coverflow (autumn showcase) ---------- */
.cf{position:relative;overflow:hidden;isolation:isolate;padding:70px 0 60px;background:#120807;user-select:none;-webkit-user-select:none;scroll-margin-top:72px}
.cf-amb{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.cf-amb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.24) blur(32px) saturate(1.2);transform:scale(1.15);transition:opacity 1s ease}
.cf-amb .cf-amb-b{opacity:0}
.cf-amb.flip .cf-amb-a{opacity:0}
.cf-amb.flip .cf-amb-b{opacity:1}
.cf-amb-v{position:absolute;inset:0;background:radial-gradient(circle at center,rgba(18,8,7,.25) 0%,rgba(18,8,7,.92) 100%)}
.cf-in{position:relative;width:min(1180px,100%);margin:0 auto;padding:0 16px;display:flex;flex-direction:column;align-items:center}
.cf-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:30px}
.cf-eyebrow span{width:36px;height:1px;background:linear-gradient(90deg,transparent,#E3A35B)}
.cf-eyebrow span:last-child{background:linear-gradient(90deg,#E3A35B,transparent)}
.cf-eyebrow p{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:#E3A35B}
.cf-stage{--cw:330px;--ch:500px;position:relative;width:100%;height:calc(var(--ch) + 20px);display:flex;justify-content:center;align-items:center;margin-bottom:26px;perspective:1400px;outline:none;touch-action:pan-y}
.cf-stage:focus-visible{outline:2px solid #E3A35B;outline-offset:6px;border-radius:20px}
.cf-card{position:absolute;width:var(--cw);height:var(--ch);border-radius:18px;overflow:hidden;background:#1c0f0c;border:1px solid rgba(255,255,255,.12);transform-origin:center center;transform:translateX(var(--tx,0px)) scale(var(--sc,.4)) rotateY(var(--ry,0deg));opacity:var(--op,0);z-index:var(--z,0);box-shadow:0 15px 35px rgba(0,0,0,.5);transition:transform .8s cubic-bezier(.25,1,.5,1),opacity .8s cubic-bezier(.25,1,.5,1),box-shadow .8s;cursor:pointer;will-change:transform}
.cf-card.is-center{cursor:default;box-shadow:0 25px 60px rgba(0,0,0,.9),0 0 35px rgba(227,163,91,.28)}
.cf-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cf-vig{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,rgba(0,0,0,.1) 25%,rgba(0,0,0,.68) 60%,rgba(0,0,0,.96) 100%)}
.cf-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:#0a0403;opacity:var(--sh,.6);transition:opacity .8s cubic-bezier(.25,1,.5,1)}
.cf-body{position:relative;z-index:3;height:100%;padding:20px 18px 22px;display:flex;flex-direction:column;text-align:center;opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.cf-card.is-center .cf-body{opacity:1;transform:none;pointer-events:auto}
.cf-tag{align-self:flex-end;padding:4px 10px;border-radius:999px;background:rgba(14,5,6,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.78rem;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.92)}
.cf-main{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:4px}
.cf-t1{font-family:var(--f-display);font-weight:900;font-size:1.55rem;line-height:1.08;text-transform:uppercase;letter-spacing:.02em;color:#fff;text-shadow:0 3px 12px rgba(0,0,0,.95)}
.cf-t2{font-family:var(--f-mono);font-size:1.05rem;color:#F6D7AE;text-shadow:0 3px 10px rgba(0,0,0,.9)}
.cf-line{width:34px;height:2px;margin:6px auto 5px;border-radius:2px;background:#E3A35B;box-shadow:0 0 8px rgba(227,163,91,.7)}
.cf-desc{max-width:280px;margin:0 0 12px;font-size:.84rem;font-style:italic;line-height:1.35;color:rgba(255,255,255,.9);text-shadow:0 2px 8px rgba(0,0,0,.9)}
.cf-cta{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 18px;border-radius:999px;background:linear-gradient(135deg,#E3A35B 0%,#C0612A 100%);color:#1a0b06;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.4),0 0 15px rgba(227,163,91,.3);transition:transform .2s ease,box-shadow .2s ease}
.cf-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.45),0 0 22px rgba(227,163,91,.45)}
.cf-arrow{position:absolute;top:calc(50% + 10px);z-index:40;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.4);cursor:pointer;transition:background-color .2s,border-color .2s}
.cf-arrow:hover{background:rgba(227,163,91,.25);border-color:#E3A35B}
.cf-arrow.prev{left:24px}.cf-arrow.next{right:24px}
.cf-dots{display:flex;align-items:center;gap:8px}
.cf-dot{height:8px;width:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.25);cursor:pointer;transition:width .3s ease,background-color .3s ease,box-shadow .3s}
.cf-dot.on{width:28px;background:#E3A35B;box-shadow:0 0 10px rgba(227,163,91,.7)}
@media (pointer:coarse){.cf-dot{position:relative}.cf-dot::after{content:"";position:absolute;inset:-14px -4px}}
@media (max-width:720px){.cf{padding:56px 0 44px}.cf-stage{--cw:260px;--ch:400px}.cf-t1{font-size:1.3rem}.cf-arrow{top:auto;bottom:27px;width:42px;height:42px}.cf-arrow.prev{left:16px}.cf-arrow.next{right:16px}}
@media (prefers-reduced-motion:reduce){.cf-card,.cf-shade,.cf-body,.cf-amb img{transition:none}}
.rows.thumbs li{grid-template-columns:64px 1fr auto;gap:16px;align-items:center}
.rows.thumbs .th{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(243,231,214,.15),0 8px 18px rgba(0,0,0,.4)}
.rows.thumbs .nm{align-items:center}
.rows.thumbs .nm::after{transform:none}
.rows.thumbs .pr::after{content:" ₸";color:var(--text-secondary)}
@media (max-width:520px){.rows.thumbs li{grid-template-columns:52px 1fr auto;gap:12px}.rows.thumbs .th{width:52px;height:52px}}
/* ---------- end coverflow ---------- */
