:root{--ink2:#2a0000}
.steps{background:var(--ink);border:3px solid var(--yellow);border-radius:18px;padding:22px 18px 20px}
.steps-title{margin:0 0 18px;font:400 clamp(30px,8.5vw,40px)/1 var(--display);text-transform:uppercase;text-align:center}
.step-list{list-style:none;margin:0;padding:0;display:grid;gap:26px}
.step{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start}
.num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--red);font:400 26px/1 var(--display)}
.step-body{min-width:0}
.step-body h2{margin:6px 0 12px;font:400 clamp(24px,6.5vw,30px)/1 var(--display);text-transform:uppercase}
.thumbs{list-style:none;margin:0 0 14px;padding:0 0 6px;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.thumbs li{flex:0 0 38%;max-width:150px;scroll-snap-align:start}
.thumbs img{display:block;width:100%;height:auto;border:2px solid var(--yellow);border-radius:8px}
.act{display:block;width:100%;margin:0 0 10px;padding:18px 14px;background:var(--green);color:var(--ink);border:0;border-radius:12px;font:700 clamp(17px,4.8vw,20px) var(--body);letter-spacing:.05em;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer}
.act:hover,.act:focus-visible{background:var(--yellow)}
.act:focus-visible{outline:3px solid #fff;outline-offset:3px}
.act[hidden]{display:none}
.tip{margin:4px 0 0;font:400 14px/1.45 var(--body);opacity:.9}
.copy-status{min-height:1.3em;margin:0 0 6px;font:700 14px/1.3 var(--body);color:var(--green)}
.preview summary{cursor:pointer;font:700 14px var(--body);letter-spacing:.05em;text-transform:uppercase;padding:6px 0}
.preview pre{margin:8px 0 0;padding:12px;background:var(--ink2);border-radius:10px;white-space:pre-wrap;word-break:break-word;font:400 14px/1.5 var(--body)}
.step-text{margin:0;font:400 17px/1.5 var(--body)}
.links{gap:14px}
.btn.soft{min-height:54px;padding:12px 20px;background:transparent;color:var(--yellow);border:2px solid var(--yellow);border-radius:12px;font-size:clamp(17px,4.6vw,20px)}
.btn.soft:hover,.btn.soft:focus-visible{background:var(--yellow);border-color:var(--yellow);color:var(--red)}
.btn.soft i{color:inherit}

.step-body h2.has-sub{margin-bottom:2px}
.step-body .sub{margin:0 0 12px;font:400 15px/1.3 var(--body);opacity:.85}
.dbg{margin:10px 0 0;padding:10px;background:#000;color:#9f9;font:12px/1.4 monospace;white-space:pre-wrap;word-break:break-word;border-radius:8px}
#copy-btn{margin-top:14px}

.about{margin:12px auto 0;max-width:34em;font:400 14px/1.5 var(--body);opacity:.92}
.about.where{margin-top:8px}
.about b{font-weight:700}
.step-extra{margin-top:14px}

/* Letreiro de embargo: fixo no topo, removido automaticamente às 17h de domingo */
.letreiro{position:sticky;top:0;z-index:50;background:#000;color:#fff800;text-align:center;padding:12px 14px;border-bottom:3px solid #fff800;font:700 clamp(14px,4.2vw,20px)/1.25 var(--body);letter-spacing:.06em;text-transform:uppercase}

/* Faixa "Presenças confirmadas" (home) */
.presencas h2{margin:0 0 10px;font:400 clamp(26px,7vw,34px)/1 var(--display);text-transform:uppercase}
.pstrip{list-style:none;margin:0 0 14px;padding:0 0 6px;display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.pstrip li{flex:0 0 34%;max-width:130px;scroll-snap-align:start}
.pstrip img{display:block;width:100%;height:auto;border:2px solid var(--yellow);border-radius:8px}
.pstrip a:focus-visible{outline:3px solid #fff;outline-offset:2px;display:block;border-radius:8px}
