/* Gastro Nórdico · användarbetyg */
.gn-badge{display:flex;align-items:center;gap:8px;width:100%;margin:12px 0 0;padding:9px 12px;border:1.5px solid var(--line);border-radius:11px;background:var(--wall);color:var(--ink);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}
.gn-badge:hover{border-color:var(--azul)}
.gn-badge:focus-visible,.gn-sheet button:focus-visible,.gn-sheet input:focus-visible,.gn-sheet a:focus-visible{outline:2px solid var(--azul);outline-offset:2px}
.gn-badge .gn-big{font-family:'Fraunces',serif;font-weight:600;font-size:20px;line-height:1;color:var(--azul-deep)}
.gn-badge .gn-sub{color:var(--muted)}
.gn-badge.gn-few{cursor:default;border-style:dashed;color:var(--muted)}
.gn-badge.gn-few:hover{border-color:var(--line)}

.gn-sheet{border:none;padding:0;width:min(560px,100%);max-height:88vh;border-radius:18px;background:var(--card);color:var(--ink);font-family:'Spline Sans',system-ui,sans-serif;box-shadow:0 20px 60px rgba(14,63,104,.25)}
.gn-sheet::backdrop{background:rgba(14,63,104,.45)}
@media (max-width:560px){.gn-sheet{margin:auto 0 0;max-width:100%;width:100%;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}}
.gn-in{padding:22px 22px 24px;overflow:auto;max-height:88vh;box-sizing:border-box}
.gn-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}
.gn-head h2{font-family:'Fraunces',serif;font-weight:600;font-size:24px;line-height:1.15;margin:0}
.gn-x{background:none;border:none;font-size:26px;line-height:1;cursor:pointer;color:var(--muted);padding:0 4px}
.gn-lead{color:var(--muted);font-size:14.5px;margin:0 0 16px}
.gn-bars{display:grid;grid-template-columns:auto 1fr auto;gap:6px 12px;align-items:center;margin:14px 0 20px;font-size:14px}
.gn-bar{height:8px;border-radius:4px;background:var(--wall-2);overflow:hidden}
.gn-bar i{display:block;height:100%;background:var(--azul)}
.gn-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.gn-list li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.gn-list .gn-who{font-weight:600}
.gn-list .gn-anon{color:var(--muted);font-weight:400}
.gn-list .gn-when{display:block;font-size:12.5px;color:var(--muted);font-weight:400}
.gn-sc{white-space:nowrap;color:var(--muted);font-size:13px;text-align:right}
.gn-sc b{color:var(--ink);font-weight:600}
.gn-link{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--azul);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:3px}
.gn-sheet label{display:block;font-size:14px;font-weight:600;margin:14px 0 6px}
.gn-sheet input[type=text]{width:100%;box-sizing:border-box;padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;background:#fff;font:inherit;color:var(--ink)}
.gn-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:14px!important;line-height:1.45}
.gn-check input{margin-top:3px;width:18px;height:18px;flex:none;accent-color:var(--azul)}
.gn-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.gn-btn{padding:11px 18px;border-radius:11px;border:1.5px solid var(--azul);background:var(--azul);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.gn-btn.ghost{background:none;color:var(--azul)}
.gn-btn.danger{background:none;border-color:var(--geranium);color:var(--geranium)}
.gn-btn:disabled{opacity:.5;cursor:default}
.gn-err{color:var(--geranium);font-size:14px;margin:10px 0 0;min-height:1em}
.gn-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;background:var(--wall);border:1px dashed var(--clay);border-radius:10px;padding:10px 12px;word-break:break-all;user-select:all}
.gn-sec{border-top:1px solid var(--line);margin-top:22px;padding-top:6px}
.gn-sec h3{font-size:15px;margin:12px 0 4px}
.gn-note{font-size:13px;color:var(--muted);margin:6px 0 0}
.gn-banner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:40;max-width:520px;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:14px;background:var(--azul-deep);color:var(--wall);font-size:14px;box-shadow:0 10px 30px rgba(14,63,104,.3)}
.gn-banner .gn-btn{background:var(--wall);color:var(--azul-deep);border-color:var(--wall);padding:8px 14px;white-space:nowrap}
.gn-banner .gn-x{color:#bcd0e2}
