/* ---------- Roteiros ---------- */
.gd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:32px}
.gd-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}
.gd-card.hl{box-shadow:0 0 0 4px var(--paint),var(--shadow)}
.gd-cover{position:relative;aspect-ratio:16/12;background:#F1E5CC;overflow:hidden}
.gd-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gd-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.gd-body h2{margin:0;font-size:1.4rem;font-weight:900;line-height:1.15}
.gd-body p{margin:0;color:var(--muted)}
.gd-chips{display:flex;flex-wrap:wrap;gap:6px}
.gd-chips span{font-size:.8rem;font-weight:700;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px 10px}
.gd-steps{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.gd-dl.locked{opacity:.45;filter:grayscale(.6)}
.gd-hint{font-weight:700;font-size:.92rem}
.gd-hint.shake{animation:gdshake .4s}
@keyframes gdshake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.gd-ov{position:fixed;inset:0;z-index:5000;background:rgba(20,16,10,.6);display:grid;place-items:center;padding:16px;animation:gdfade .25s ease}
.gd-box{position:relative;overflow:hidden;width:min(440px,100%);background:var(--sign);color:var(--sign-ink);border-radius:20px;padding:34px 26px 26px;text-align:center;
  box-shadow:inset 0 0 0 5px var(--sign),inset 0 0 0 7px var(--sign-ink),0 24px 60px rgba(0,0,0,.4);animation:gdpop .45s cubic-bezier(.2,1.4,.4,1)}
.gd-icon{font-size:3rem;animation:gddrive 1.4s ease-in-out infinite alternate}
.gd-box h2{margin:8px 0 8px;font-size:1.5rem;font-weight:900}
.gd-box p{margin:0 0 16px;opacity:.95}
.gd-social{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.gd-social a{background:var(--paint);color:#161412;font-weight:800;text-decoration:none;padding:9px 14px;border-radius:999px}
.gd-open{display:inline-block;margin-top:16px;color:var(--sign-ink);opacity:.8;font-size:.9rem}
.gd-x{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:var(--sign-ink);font-size:1rem;cursor:pointer;z-index:2}
.cf{position:absolute;top:-30px;left:var(--x);font-size:1.3rem;animation:gdfall 2.4s ease-in var(--d) forwards;pointer-events:none}
@keyframes gdfade{from{opacity:0}to{opacity:1}}
@keyframes gdpop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes gddrive{from{transform:translateX(-18px)}to{transform:translateX(18px)}}
@keyframes gdfall{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(560px) rotate(var(--r));opacity:0}}
@media (prefers-reduced-motion:reduce){.gd-ov,.gd-box,.gd-icon,.cf{animation:none}.cf{display:none}}
