/* BringMyFood function guides. Loaded after shared/theme.css. */
.g-wrap{ max-width:1120px; margin:0 auto; padding:0 16px; }
.g-head{ position:sticky; top:0; z-index:30; background:color-mix(in srgb, var(--shell) 88%, transparent); backdrop-filter:blur(10px); }
.g-chip{ display:inline-flex; align-items:center; gap:6px; height:32px; padding:0 12px; border-radius:999px; font-size:12px; font-weight:600; white-space:nowrap; flex-shrink:0; background:var(--paper); border:1px solid var(--line); color:var(--mute); text-decoration:none; }
.g-chip:hover{ color:var(--ink); border-color:var(--ink); }
.g-chip.on{ background:var(--ink); color:var(--onink); border-color:var(--ink); }
.g-chip .n{ width:18px; height:18px; border-radius:50%; background:var(--mist); color:var(--ink); font-size:10px; display:grid; place-items:center; flex-shrink:0; }
.g-chip.on .n{ background:var(--onink); color:var(--ink); }
.g-card{ background:var(--paper); border-radius:24px; box-shadow:var(--sh-card); }
.g-step{ scroll-margin-top:132px; }
.g-num{ width:40px; height:40px; border-radius:14px; display:grid; place-items:center; font-family:Fraunces,Georgia,serif; font-weight:700; font-size:18px; flex-shrink:0; background:var(--ink); color:var(--onink); }
.g-h{ font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); white-space:nowrap; }
.g-list{ display:grid; gap:8px; margin:0; padding:0; list-style:none; }
.g-list li{ display:flex; gap:10px; align-items:flex-start; font-size:14px; line-height:1.5; color:var(--ink); }
.g-list li .lucide{ margin-top:3px; color:var(--accd); flex-shrink:0; }
.g-list li b{ font-weight:600; }
.g-next{ border-radius:16px; background:var(--mist); padding:12px 14px; font-size:13px; line-height:1.5; color:var(--mute); display:flex; gap:10px; align-items:flex-start; }
.g-next .lucide{ margin-top:2px; color:var(--leaf); flex-shrink:0; }
/* device frames */
.phone{ width:100%; max-width:300px; margin:0 auto; border-radius:40px; background:#15161B; padding:9px; box-shadow:0 30px 60px -28px rgba(0,0,0,.6), 0 0 0 2px #34353f; }
.phone > div{ border-radius:32px; overflow:hidden; background:#fff; aspect-ratio:393/852; }
.phone img{ display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
.browser{ border-radius:18px; overflow:hidden; background:#15161B; box-shadow:0 30px 60px -28px rgba(0,0,0,.55); }
.browser .bar{ height:30px; display:flex; align-items:center; gap:6px; padding:0 14px; }
.browser .bar i{ width:9px; height:9px; border-radius:50%; background:#3a3b45; display:block; }
.browser .bar i:first-child{ background:#ff5f57 } .browser .bar i:nth-child(2){ background:#febc2e } .browser .bar i:nth-child(3){ background:#28c840 }
.browser .bar span{ margin-left:8px; height:18px; flex:1; max-width:360px; border-radius:6px; background:#23242c; color:#8a8a94; font-size:10px; display:flex; align-items:center; padding:0 10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.browser img{ display:block; width:100%; height:auto; }
.g-flow{ display:flex; gap:6px; align-items:center; overflow-x:auto; white-space:nowrap; padding:4px 0; }
.g-flow .badge{ height:28px; font-size:12px; }
.g-flow .lucide{ color:var(--dim); flex-shrink:0; }
.g-role{ transition:transform .2s, box-shadow .2s; display:flex; flex-direction:column; gap:14px; text-decoration:none; color:inherit; }
.g-role:hover{ transform:translateY(-3px); box-shadow:var(--sh-pop); }
.mark{ width:44px; height:44px; border-radius:14px; display:grid; place-items:center; flex-shrink:0; }
.noscroll{ scrollbar-width:none; } .noscroll::-webkit-scrollbar{ display:none; }
@media (max-width:767px){ .g-step{ scroll-margin-top:150px; } }
