/*
 * Motor Claude — tema Backstage (rockeira).
 * Parede escura, cartazes de papel rasgado, meio-tom, fita adesiva, crachá VIP
 * na abertura, setlist escrito à mão como menu e telas que chegam como cartazes
 * colados. Tudo escopado em body.sg-engine-claude_v1: não afeta outros temas.
 *
 * Cores vêm da paleta do tema (variáveis --c-* geradas pelo Capítulo 15):
 * bg = palco, cover-ink = texto no palco, surface = papel, ink = tinta,
 * ink-soft = texto de apoio, primary = vermelho/acento, secondary = amarelo,
 * pop = adesivo "15", tape = fita adesiva.
 */
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/bebas-neue-400.woff2") format("woff2")}
@font-face{font-family:"Permanent Marker";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/permanent-marker-400.woff2") format("woff2")}
@font-face{font-family:"Special Elite";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/special-elite-400.woff2") format("woff2")}

body.sg-engine-claude_v1{
  --bs-cover:var(--c-bg,#101010);--bs-cover-ink:var(--c-cover-ink,#F5F1E8);--bs-backdrop:#000;
  --bs-paper:var(--c-surface,#EFE8DA);--bs-ink:var(--c-paper-ink,var(--c-surface-ink,#111));--bs-muted:var(--c-paper-muted,var(--c-surface-ink-soft,#3B3B3B));
  --bs-accent:var(--c-primary,#D0142A);--bs-accent-2:var(--c-secondary,#FFD60A);--bs-on-accent:var(--c-primary-ink,#fff);
  --bs-pop:var(--c-pop,#FF3EA5);--bs-tape:var(--c-tape,#2A2A2A);
  --bs-script:"Permanent Marker","Marker Felt",cursive;--bs-display:"Bebas Neue",Impact,"Arial Narrow",sans-serif;--bs-body:"Special Elite","Courier New",monospace;
  background:var(--bs-backdrop)!important;background-image:none!important;color:var(--bs-cover-ink);font-family:var(--bs-body)}
body.sg-engine-claude_v1::before,body.sg-engine-claude_v1::after{display:none!important}
body.sg-engine-claude_v1 .pagina-convite{max-width:480px;margin:0 auto!important;background:var(--bs-cover);min-height:100svh;overflow:clip}
@media (min-width:560px){body.sg-engine-claude_v1 .pagina-convite{box-shadow:0 0 120px -30px rgba(0,0,0,.6)}}
body.sg-engine-claude_v1 .convite{overflow:visible!important}
body.sg-engine-claude_v1 .bs-root{position:relative;isolation:isolate}
body.sg-engine-claude_v1 .bs-root [hidden]{display:none!important}
/* Telas fora de vista: classe em vez de [hidden], para os scripts do convite (mapa etc.) prepararem o conteúdo. */
body.sg-engine-claude_v1 .bs-root .bs-pg.bs-off{display:none!important}

/* Parede: concreto com granulação e meio-tom nas bordas */
.bs-wall{position:fixed;z-index:0;top:0;bottom:0;left:50%;width:min(100%,480px);transform:translateX(-50%);pointer-events:none;background:
  radial-gradient(circle at 0 0,color-mix(in srgb,var(--bs-cover-ink) 16%,transparent) 1.2px,transparent 1.8px) 0 0/9px 9px,
  radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--bs-cover) 70%,#fff 6%),var(--bs-cover))}
.bs-wall::after{content:"";position:absolute;inset:0;opacity:.35;mix-blend-mode:overlay;background-image:url("noise.svg")}
.bs-book{position:relative;z-index:1}

/* Letreiro correndo */
.bs-ticker{position:fixed;z-index:25;top:0;left:50%;width:min(100%,480px);transform:translateX(-50%);overflow:hidden;background:var(--bs-accent);color:var(--bs-on-accent);padding:5px 0 4px;font-family:var(--bs-display);font-size:15px;letter-spacing:.14em;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.4);pointer-events:none}
.bs-ticker-in{display:inline-flex;gap:26px;animation:bs-tick 22s linear infinite}
@keyframes bs-tick{to{transform:translateX(-50%)}}

/* ---------- Abertura: crachá VIP ---------- */
body.sg-engine-claude_v1 .bs-root .capa.bs-cover{position:fixed!important;inset:0!important;z-index:30;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;min-height:0!important;height:auto!important;margin:0!important;padding:calc(4svh + env(safe-area-inset-top)) 0 0!important;overflow:hidden;
  background:radial-gradient(70% 50% at 50% 40%,color-mix(in srgb,var(--bs-accent) 22%,transparent),transparent 70%),var(--bs-cover)!important;perspective:900px;transition:transform .7s cubic-bezier(.6,0,.4,1) .9s,opacity .5s ease 1.1s;text-align:center}
@media (min-width:560px){body.sg-engine-claude_v1 .bs-root .capa.bs-cover{left:50%!important;right:auto!important;width:480px;transform:translateX(-50%)}}
body.sg-engine-claude_v1 .bs-root .capa.bs-cover::before,body.sg-engine-claude_v1 .bs-root .capa.bs-cover::after{display:none!important}
.bs-cover.is-gone{display:none!important}
.bs-lanyard{position:relative;width:120px;height:26svh;animation:bs-swing 3.4s ease-in-out infinite;transform-origin:50% 0}
.bs-lanyard i{position:absolute;top:-10px;bottom:0;width:18px;background:repeating-linear-gradient(0deg,var(--bs-accent) 0 10px,color-mix(in srgb,var(--bs-accent) 70%,#000) 10px 12px);box-shadow:0 0 0 1px rgba(0,0,0,.3)}
.bs-lanyard i:first-child{left:22px;transform:skewX(8deg)}
.bs-lanyard i:last-child{right:22px;transform:skewX(-8deg)}
body.sg-engine-claude_v1 .bs-root a.botao.bs-pass{all:unset;position:relative;display:block;box-sizing:border-box;width:min(70vw,250px);aspect-ratio:5/7;margin-top:-6px;cursor:pointer;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.4,1.6,.5,1);animation:bs-swing 3.4s ease-in-out infinite;transform-origin:50% -26svh;-webkit-tap-highlight-color:transparent}
body.sg-engine-claude_v1 .bs-root a.botao.bs-pass:focus-visible{outline:3px solid var(--bs-accent-2);outline-offset:6px}
@keyframes bs-swing{0%,100%{rotate:-3deg}50%{rotate:3deg}}
.bs-pass-face{position:absolute;inset:0;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 30px 50px -18px rgba(0,0,0,.8),inset 0 0 0 1px rgba(255,255,255,.25)}
.bs-pass-front{display:flex;flex-direction:column;align-items:center;background:linear-gradient(160deg,rgba(255,255,255,.35),transparent 40%),var(--bs-paper);color:var(--bs-ink);text-align:center}
.bs-pass-hole{width:44px;height:10px;margin:12px 0 10px;border-radius:6px;background:var(--bs-cover);box-shadow:inset 0 2px 3px rgba(0,0,0,.6)}
.bs-pass-top{width:100%;padding:8px 0 6px;background:var(--bs-ink);color:var(--bs-paper);font-family:var(--bs-display);font-size:28px;letter-spacing:.16em;line-height:1}
.bs-pass-name{display:block;margin-top:14px;padding:0 10px;font-family:var(--bs-display);font-size:clamp(30px,9vw,42px);line-height:.95;letter-spacing:.04em;overflow-wrap:anywhere}
.bs-pass-xv{font-family:var(--bs-script);font-size:44px;line-height:1;color:var(--bs-accent);transform:rotate(-6deg)}
.bs-pass-for{margin-top:auto;padding:0 12px;font-family:var(--bs-body);font-size:12px;letter-spacing:.06em;line-height:1.35}
.bs-pass-for .capa__convidado{display:block;margin:0!important;padding:0!important;font:inherit!important;color:inherit!important;letter-spacing:inherit!important;text-transform:none!important;background:none!important;border:0!important}
.bs-pass-for .capa__convidado small{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.7}
.bs-pass-for .capa__convidado strong{font-weight:400}
.bs-pass-for .capa__convidado:not([hidden]) + .bs-guest-default{display:none}
.bs-pass-code{width:74%;height:26px;margin:8px 0 14px;background:repeating-linear-gradient(90deg,var(--bs-ink) 0 2px,transparent 2px 4px,var(--bs-ink) 4px 5px,transparent 5px 8px,var(--bs-ink) 8px 11px,transparent 11px 12px)}
.bs-pass-back{display:grid;place-items:center;transform:rotateY(180deg);background:repeating-linear-gradient(45deg,var(--bs-ink) 0 14px,color-mix(in srgb,var(--bs-ink) 85%,#fff) 14px 28px)}
.bs-pass-stamp{padding:10px 16px;border:4px double var(--bs-accent-2);color:var(--bs-accent-2);font-family:var(--bs-display);font-size:34px;line-height:.95;letter-spacing:.08em;transform:rotate(-12deg) scale(2);opacity:0}
@keyframes bs-blink{50%{opacity:.35}}
.bs-cover.is-open .bs-pass,.bs-cover.is-open .bs-lanyard{animation:none!important}
.bs-cover.is-open a.botao.bs-pass{transform:rotateY(180deg)!important}
.bs-cover.is-open .bs-pass-stamp{animation:bs-stamp .35s cubic-bezier(.3,1.7,.5,1) .55s forwards}
@keyframes bs-stamp{to{opacity:1;transform:rotate(-12deg) scale(1)}}
.bs-cover.is-open body.sg-engine-claude_v1 .bs-root .capa.bs-cover.is-open{transform:translateY(-110%)!important;opacity:0}
@media (min-width:560px){body.sg-engine-claude_v1 .bs-root .capa.bs-cover.is-open{transform:translate(-50%,-110%)!important}}
/* Acorde: a tela treme quando o convite abre */
.bs-root.is-opening .bs-book{animation:bs-shake .5s cubic-bezier(.36,.07,.19,.97) 1.1s both}
@keyframes bs-shake{10%,90%{transform:translate3d(-2px,1px,0)}20%,80%{transform:translate3d(4px,-2px,0)}30%,50%,70%{transform:translate3d(-6px,2px,0)}40%,60%{transform:translate3d(6px,-1px,0)}}
.bs-root.is-closed .bs-book{visibility:hidden}

/* ---------- Telas ---------- */
.bs-pg{position:relative;box-sizing:border-box;min-height:100svh;padding:calc(46px + env(safe-area-inset-top)) 16px calc(40px + env(safe-area-inset-bottom))}
.bs-pg.bs-slap-in{animation:bs-slap-in .55s cubic-bezier(.2,1.4,.4,1) both}
.bs-pg.bs-slap-out{position:absolute;inset:0;animation:bs-slap-out .35s ease-in both;pointer-events:none}
@keyframes bs-slap-in{from{opacity:0;transform:translateY(-40px) rotate(-5deg) scale(1.08)}to{opacity:1;transform:none}}
@keyframes bs-slap-out{to{opacity:0;transform:translateY(60px) rotate(4deg) scale(.96)}}

/* Pôster rasgado */
.bs-poster{position:relative;margin:8px 0 0;padding:26px 18px 46px;color:var(--bs-ink);text-align:center;
  background:radial-gradient(circle,color-mix(in srgb,var(--bs-accent) 22%,transparent) 1.3px,transparent 1.9px) 0 0/7px 7px,linear-gradient(170deg,var(--bs-paper),color-mix(in srgb,var(--bs-paper) 88%,#000));
  box-shadow:0 20px 40px -20px rgba(0,0,0,.9);transform:rotate(-1.2deg)}
.bs-poster-top{margin:0 0 6px;padding:0 58px 0 22px;font-family:var(--bs-body);font-size:13px;letter-spacing:.24em;text-transform:uppercase;line-height:1.4}
body.sg-engine-claude_v1 .bs-band{position:relative;margin:0;padding:0;color:var(--bs-ink);font-family:var(--bs-display);font-weight:400;font-size:clamp(64px,21vw,104px);line-height:.84;letter-spacing:.01em;text-transform:none;overflow-wrap:anywhere;text-shadow:none}
.bs-band::before,.bs-band::after{content:attr(data-text);position:absolute;inset:0;pointer-events:none}
.bs-band::before{color:var(--bs-accent);transform:translate(-3px,0);clip-path:inset(0 0 55% 0);animation:bs-gl1 2.8s steps(1) infinite;mix-blend-mode:multiply}
.bs-band::after{color:var(--bs-accent-2);transform:translate(3px,0);clip-path:inset(60% 0 0 0);animation:bs-gl2 3.3s steps(1) infinite;mix-blend-mode:multiply}
@keyframes bs-gl1{0%,86%{clip-path:inset(0 0 100% 0)}87%{clip-path:inset(10% 0 60% 0);transform:translate(-5px,1px)}90%{clip-path:inset(40% 0 30% 0);transform:translate(4px,0)}93%{clip-path:inset(70% 0 5% 0);transform:translate(-3px,-1px)}96%,100%{clip-path:inset(0 0 100% 0)}}
@keyframes bs-gl2{0%,80%{clip-path:inset(100% 0 0 0)}82%{clip-path:inset(20% 0 55% 0);transform:translate(5px,0)}85%{clip-path:inset(62% 0 12% 0);transform:translate(-4px,1px)}88%,100%{clip-path:inset(100% 0 0 0)}}
.bs-spray{position:relative;display:inline-block;margin:-6px 0 8px;color:var(--bs-accent)}
.bs-spray span{position:relative;z-index:1;display:block;font-family:var(--bs-script);font-size:clamp(70px,22vw,110px);line-height:1;transform:rotate(-8deg);text-shadow:2px 2px 0 color-mix(in srgb,var(--bs-accent) 40%,transparent)}
.bs-drips{position:absolute;left:8%;right:8%;top:62%;width:84%;height:40px;transform:rotate(-8deg);color:var(--bs-accent)}
.bs-gig{margin:0;font-family:var(--bs-display);font-size:26px;letter-spacing:.1em;line-height:1.1}
.bs-sticker{position:absolute;display:grid;place-items:center}
.bs-sticker--15{right:-4px;top:4px;width:60px;height:60px;color:var(--bs-pop);transform:rotate(14deg);animation:bs-wobble 4s ease-in-out infinite}
.bs-sticker--15 svg{position:absolute;inset:0;width:100%;height:100%}
.bs-sticker--15 b{position:relative;font-family:var(--bs-display);font-size:27px;font-weight:400;color:#111}
.bs-sticker--bolt{left:-4px;top:40%;width:34px;height:68px;color:var(--bs-accent-2);transform:rotate(-14deg);filter:drop-shadow(2px 2px 0 #111)}
.bs-sticker--bolt svg{width:100%;height:100%}
.bs-sticker--live{left:14px;bottom:22px;padding:3px 10px;border:2.5px solid var(--bs-accent);border-radius:4px;color:var(--bs-accent);font-family:var(--bs-display);font-size:20px;letter-spacing:.2em;transform:rotate(-7deg);animation:bs-blink 1.4s steps(2) infinite}
@keyframes bs-wobble{50%{transform:rotate(6deg) scale(1.05)}}

/* Setlist: papel pautado preso com fita */
.bs-setlist{position:relative;margin:22px 8px 0;padding:24px 18px 18px;color:var(--bs-ink);background:
  repeating-linear-gradient(180deg,transparent 0 31px,color-mix(in srgb,var(--bs-ink) 12%,transparent) 31px 32px),var(--bs-paper);
  box-shadow:0 18px 36px -18px rgba(0,0,0,.9);transform:rotate(1deg)}
.bs-tape{position:absolute;width:96px;height:26px;background:color-mix(in srgb,var(--bs-tape) 80%,transparent);box-shadow:0 1px 2px rgba(0,0,0,.2);opacity:.92;
  -webkit-mask:linear-gradient(90deg,transparent 0 3px,#000 3px calc(100% - 3px),transparent 0),repeating-linear-gradient(0deg,#000 0 3px,transparent 3px 5px);-webkit-mask-composite:source-over}
.bs-tape--c{left:50%;top:-12px;margin-left:-48px;transform:rotate(-3deg)}
.bs-tape--l{left:-14px;top:-8px;transform:rotate(-38deg)}
.bs-tape--r{right:-14px;top:-8px;transform:rotate(36deg)}
.bs-setlist-title{margin:0 0 6px;font-family:var(--bs-script);font-size:40px;line-height:1;color:var(--bs-accent);transform:rotate(-2deg)}
.bs-intro{margin:0 0 10px;font-family:var(--bs-body);font-size:13.5px;line-height:1.6;color:var(--bs-muted)}
.bs-setlist ol{list-style:none;margin:0;padding:0}
.bs-setlist a{display:flex;align-items:center;gap:12px;padding:8px 2px;color:var(--bs-ink);text-decoration:none;border-bottom:1.5px dashed color-mix(in srgb,var(--bs-ink) 25%,transparent);transition:transform .2s}
.bs-setlist a:active{transform:translateX(6px)}
.bs-setlist a b{min-width:38px;font-family:var(--bs-display);font-size:30px;font-weight:400;color:var(--bs-accent)}
.bs-setlist a span{flex:1;font-family:var(--bs-script);font-size:23px;line-height:1.1}
.bs-setlist a small{display:block;margin-top:2px;font-family:var(--bs-body);font-size:11.5px;letter-spacing:.06em;color:var(--bs-muted)}
.bs-setlist a i{display:grid;color:var(--bs-accent)}
.bs-ic{display:block;flex:none}
.bs-vinyl-wrap{width:150px;height:150px;margin:26px auto 0;color:var(--bs-accent);filter:drop-shadow(0 16px 20px rgba(0,0,0,.6))}
.bs-vinyl{width:100%;height:100%;animation:bs-spin 3.2s linear infinite}
@keyframes bs-spin{to{transform:rotate(360deg)}}

/* Soundcheck: contagem regressiva real do convite */
.bs-soundcheck{margin-top:14px;text-align:center}
.bs-soundcheck > p{margin:0 0 4px;font-family:var(--bs-display);font-size:16px;letter-spacing:.2em;color:var(--bs-muted)}
body.sg-engine-claude_v1 .bs-soundcheck .secao{padding:0!important;margin:0!important;border:0!important;background:none!important;opacity:1!important;transform:none!important}
body.sg-engine-claude_v1 .bs-soundcheck .secao__interno{width:auto!important;max-width:none!important;padding:0!important}
body.sg-engine-claude_v1 .bs-soundcheck :is(.titulo-secao,.divisor,.cantoneiras){display:none!important}
body.sg-engine-claude_v1 .bs-soundcheck .contagem{display:flex!important;justify-content:center;gap:6px!important;margin:0!important}
body.sg-engine-claude_v1 .bs-soundcheck .contagem__item{min-width:62px;padding:4px 6px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.sg-engine-claude_v1 .bs-soundcheck .contagem__numero{font-family:var(--bs-display)!important;font-size:38px!important;font-weight:400!important;line-height:1!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1 .bs-soundcheck .contagem__rotulo{font-family:var(--bs-body)!important;font-size:10px!important;letter-spacing:.14em!important;color:var(--bs-muted)!important}
body.sg-engine-claude_v1 .bs-soundcheck .contagem__realizada{font-family:var(--bs-body)!important;color:var(--bs-ink)!important}

/* Páginas internas: cartaz com fita nos cantos */
body.sg-engine-claude_v1 a.bs-back{position:relative;z-index:2;display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;padding:6px 12px;background:var(--bs-accent);color:var(--bs-on-accent);text-decoration:none;font-family:var(--bs-display);font-size:18px;letter-spacing:.12em;transform:rotate(-2deg);box-shadow:3px 3px 0 #000}
.bs-flyer{position:relative;padding:26px 18px 22px;color:var(--bs-ink);background:var(--bs-paper);box-shadow:0 20px 40px -20px rgba(0,0,0,.9);transform:rotate(-.6deg)}
body.sg-engine-claude_v1 .bs-title{margin:0 0 16px;padding:0;color:var(--bs-ink);font-family:var(--bs-script);font-weight:400;font-size:clamp(40px,12vw,54px);line-height:1;letter-spacing:0;text-transform:none;transform:rotate(-2deg)}

/* ---------- Módulos reais do Capítulo 15 dentro do cartaz ---------- */
body.sg-engine-claude_v1 .bs-modules{
  --c-bg:var(--bs-paper);--c-surface:var(--bs-paper);--c-ink:var(--bs-ink);--c-ink-soft:var(--bs-muted);--c-line:color-mix(in srgb,var(--bs-ink) 22%,transparent);
  --c-name:var(--bs-ink);--c-button-bg:var(--bs-accent);--c-button-ink:var(--bs-on-accent);
  color:var(--bs-ink);font-family:var(--bs-body);text-align:left}
body.sg-engine-claude_v1 .bs-modules .secao{position:relative;margin:0!important;padding:14px 0 6px!important;border:0!important;background:none!important;color:var(--bs-ink)!important;min-height:0!important}
body.sg-engine-claude_v1 .bs-modules .secao + .secao{margin-top:10px!important;padding-top:18px!important;border-top:2px dashed color-mix(in srgb,var(--bs-ink) 25%,transparent)!important}
body.sg-engine-claude_v1 .bs-modules .secao__interno{width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
body.sg-engine-claude_v1 .bs-modules :is(.cantoneiras,.cantoneira,.divisor){display:none!important}
body.sg-engine-claude_v1 .bs-modules .titulo-secao{margin:0 0 12px!important;padding:0!important;color:var(--bs-accent)!important;font-family:var(--bs-display)!important;font-size:26px!important;font-weight:400!important;letter-spacing:.1em!important;line-height:1.05!important;text-align:left!important;text-transform:uppercase!important}
body.sg-engine-claude_v1 .bs-modules .secao:first-child > .secao__interno > .titulo-secao:first-child{font-size:20px!important;letter-spacing:.2em!important;color:var(--bs-muted)!important}
body.sg-engine-claude_v1 .bs-modules :is(p,.texto){color:var(--bs-ink);font-size:14.5px;line-height:1.6}
body.sg-engine-claude_v1 .bs-modules .texto--centro{text-align:left!important}
body.sg-engine-claude_v1 .bs-modules .cartao{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1 .bs-modules .revela{opacity:1!important;transform:none!important}

/* Botões: etiqueta de cartaz com sombra dura */
body.sg-engine-claude_v1 .bs-root :is(.botao,button.botao,a.botao):not(.bs-pass){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 18px!important;border:0!important;border-radius:2px!important;background:var(--bs-accent)!important;color:var(--bs-on-accent)!important;font-family:var(--bs-display)!important;font-size:20px!important;font-weight:400!important;letter-spacing:.14em!important;line-height:1!important;text-transform:uppercase!important;text-decoration:none!important;box-shadow:4px 4px 0 #111!important;transition:transform .15s}
body.sg-engine-claude_v1 .bs-root :is(.botao,button.botao,a.botao):not(.bs-pass):active{transform:translate(2px,2px);box-shadow:2px 2px 0 #111!important}
body.sg-engine-claude_v1 .bs-root .botao--contorno{background:var(--bs-paper)!important;color:var(--bs-ink)!important;box-shadow:inset 0 0 0 2px var(--bs-ink),4px 4px 0 #111!important}
body.sg-engine-claude_v1 .bs-root .botao--pequeno{min-height:38px;padding:8px 12px!important;font-size:16px!important}
body.sg-engine-claude_v1 .bs-root .botao--bloco{display:flex;width:100%}

/* Local e programação */
body.sg-engine-claude_v1 .bs-modules .compromisso{margin:0 0 12px!important;padding:0 0 12px!important;border:0!important;border-bottom:1.5px dashed color-mix(in srgb,var(--bs-ink) 25%,transparent)!important;border-radius:0!important;background:none!important;box-shadow:none!important}
body.sg-engine-claude_v1 .bs-modules .compromisso__local{margin:2px 0 4px!important;font-family:var(--bs-display)!important;font-size:34px!important;letter-spacing:.04em!important;line-height:1!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1 .bs-modules .compromisso__nome{font-family:var(--bs-display)!important;font-size:18px!important;letter-spacing:.18em!important;color:var(--bs-accent)!important;text-transform:uppercase!important}
body.sg-engine-claude_v1 .bs-modules :is(.compromisso__endereco,.compromisso__endereco-linha){font-family:var(--bs-body)!important;font-size:14.5px!important;line-height:1.55!important;color:var(--bs-muted)!important}
body.sg-engine-claude_v1 .bs-modules :is(.compromisso__quando,.compromisso__data,.compromisso__hora){font-family:var(--bs-body)!important;font-size:14px!important;color:var(--bs-ink)!important;letter-spacing:.02em!important}
body.sg-engine-claude_v1 .bs-modules .compromisso__nota{font-family:var(--bs-body)!important;font-style:normal!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1 .bs-modules :is(.party-public-6136__moment,.party-public-6136__copy){font-family:var(--bs-body)!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1 .bs-modules .party-public-6136__icon{background:var(--bs-ink)!important;color:var(--bs-accent-2)!important;border:0!important;box-shadow:3px 3px 0 var(--bs-accent)!important}
body.sg-engine-claude_v1 .bs-modules .party-public-6136__icon [class*="mdi-sg"]{color:var(--bs-accent-2)!important}
body.sg-engine-claude_v1 .bs-modules .party-public-6136__copy h3{font-family:var(--bs-display)!important;font-size:22px!important;font-weight:400!important;letter-spacing:.08em!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1 .bs-modules .party-public-6136__line{background:color-mix(in srgb,var(--bs-ink) 30%,transparent)!important}

/* Listas: traje, regras, dúvidas e presentes */
body.sg-engine-claude_v1 .bs-modules .itens--grade{gap:10px!important}
body.sg-engine-claude_v1 .bs-modules .item{margin:0!important;padding:10px 12px!important;border:2px solid var(--bs-ink)!important;border-radius:2px!important;background:color-mix(in srgb,var(--bs-paper) 80%,#fff)!important;box-shadow:3px 3px 0 #111!important;text-align:left!important}
body.sg-engine-claude_v1 .bs-modules .item:nth-child(odd){transform:rotate(-.6deg)}
body.sg-engine-claude_v1 .bs-modules .item:nth-child(even){transform:rotate(.6deg)}
body.sg-engine-claude_v1 .bs-modules .item__icone{color:var(--bs-accent)!important;background:none!important;border:0!important}
body.sg-engine-claude_v1 .bs-modules .item__icone [class*="mdi-sg"]{color:var(--bs-accent)!important}
body.sg-engine-claude_v1 .bs-modules .item__titulo{font-family:var(--bs-display)!important;font-size:21px!important;font-weight:400!important;letter-spacing:.06em!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1 .bs-modules .item__texto{font-family:var(--bs-body)!important;font-size:13.5px!important;line-height:1.5!important;color:var(--bs-muted)!important}
/* Merch: etiquetas de preço */
body.sg-engine-claude_v1 .bs-modules .lista-preset--presentes .itens--grade.presentes-grade-4517{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
body.sg-engine-claude_v1 .bs-modules .lista-preset--presentes .itens--grade .item{position:relative;padding:12px 16px 12px 40px!important;border:0!important;background:var(--bs-accent-2)!important;border-radius:2px 18px 18px 2px!important;box-shadow:3px 3px 0 #111!important}
body.sg-engine-claude_v1 .bs-modules .lista-preset--presentes .itens--grade .item::before{content:"";position:absolute;left:14px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--bs-paper);box-shadow:inset 0 0 0 2px #111}
body.sg-engine-claude_v1 .bs-modules .lista-preset--presentes .itens--grade .item__titulo{font-family:var(--bs-display)!important;font-size:22px!important;font-weight:400!important;letter-spacing:.06em!important;color:#111!important}
body.sg-engine-claude_v1 .bs-modules .lista-preset--presentes .itens--grade .item__texto{font-family:var(--bs-body)!important;font-size:13.5px!important;color:#111!important;opacity:.85}

/* Lista VIP (confirmação) */
body.sg-engine-claude_v1 .bs-flyer-page[data-bs-screen="vip"] .bs-modules #confirmar{padding:14px 12px!important;border:2px dashed var(--bs-accent)!important}
body.sg-engine-claude_v1 .bs-modules :is(input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea){border:2px solid var(--bs-ink)!important;border-radius:2px!important;background:#fff!important;color:#111!important;font-family:var(--bs-body)!important;font-size:16px!important;box-shadow:none!important}
body.sg-engine-claude_v1 .bs-modules :is(input,select,textarea):focus{outline:3px solid var(--bs-accent-2)!important;outline-offset:1px}
body.sg-engine-claude_v1 .bs-modules :is(.campo__rotulo,.rsvp-prazo,.rsvp-saudacao){font-family:var(--bs-body)!important;color:var(--bs-ink)!important;letter-spacing:.04em!important}
body.sg-engine-claude_v1 .bs-modules .rsvp-prazo{font-size:13px!important;text-transform:uppercase}
body.sg-engine-claude_v1 .bs-modules .escolha{border:2px solid var(--bs-ink)!important;border-radius:2px!important;background:#fff!important;color:#111!important;font-family:var(--bs-display)!important;letter-spacing:.1em!important}
body.sg-engine-claude_v1 .bs-modules .escolha:has(input:checked){background:var(--bs-ink)!important;color:var(--bs-paper)!important}
body.sg-engine-claude_v1 .bs-modules .aviso{border:2px solid var(--bs-ink)!important;border-radius:2px!important;background:color-mix(in srgb,var(--bs-accent-2) 45%,var(--bs-paper))!important;color:#111!important;font-family:var(--bs-body)!important}

/* Camarim: mural de recados */
body.sg-engine-claude_v1 .bs-modules :is(.mural-6138__title,.mural-610__eyebrow){font-family:var(--bs-display)!important;letter-spacing:.1em!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1 .bs-modules .mural-6138__subtitle{font-family:var(--bs-body)!important;color:var(--bs-muted)!important}

/* Contagem fora do soundcheck (se houver) */
body.sg-engine-claude_v1 .bs-modules .contagem__numero{font-family:var(--bs-display)!important;font-weight:400!important}

/* ---------- Rodapé, música e botão flutuante ---------- */
body.sg-engine-claude_v1 .rodape{position:relative;z-index:2;background:var(--bs-cover)!important;color:var(--bs-cover-ink)!important;border-top:3px solid var(--bs-accent)!important;font-family:var(--bs-body)}
body.sg-engine-claude_v1 .rodape::before{background:var(--bs-accent)!important}
/* Páginas internas são telas completas: o rodapé fica só na página inicial (setlist). */
body.sg-engine-claude_v1[data-bs-screen]:not([data-bs-screen="menu"]) .rodape{display:none!important}
body.sg-engine-claude_v1[data-bs-screen]:not([data-bs-screen="menu"]) .pagina-convite{padding-bottom:0!important}
body.sg-engine-claude_v1 .musica{background:var(--bs-accent)!important;color:var(--bs-on-accent)!important;border:0!important;border-radius:2px!important;font-family:var(--bs-display)!important;letter-spacing:.12em!important;box-shadow:3px 3px 0 #000!important}
body.sg-engine-claude_v1 .rsvp-floating-cta{background:var(--bs-accent)!important;color:var(--bs-on-accent)!important;border-radius:2px!important;font-family:var(--bs-display)!important;letter-spacing:.12em!important;box-shadow:4px 4px 0 #000!important}
body.sg-engine-claude_v1.modo-previa .bs-ticker{top:0}

@media (prefers-reduced-motion:reduce){
  body.sg-engine-claude_v1 .bs-root *,body.sg-engine-claude_v1 .bs-root *::before,body.sg-engine-claude_v1 .bs-root *::after{animation:none!important;transition-duration:.01ms!important}
}

/* Miniatura da capa (seletor de temas) e prévia de seção no editor */
.bs-root--cover-only .bs-book,.bs-root--cover-only .bs-ticker,.bs-root--cover-only .bs-wall{display:none!important}
.bs-root--section{min-height:100svh;padding:1px 0;background:var(--bs-cover)}
.bs-section-preview{padding:28px 16px}

/* Convite publicado: o Capítulo 15 adiciona public-shell.css com seletores fortes de
   tipografia. Estes valem só no motor Claude e mantêm as fontes do tema. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules :is(.texto,.texto p,.item__texto,.evento__texto,.evento__nota,.local-card__endereco,.rsvp__intro,.rsvp-identificacao p,.rsvp-saudacao,.rsvp-membro,.rsvp-prazo,.campo__rotulo,.campo input,.compromisso__endereco,.compromisso__nota){font-family:var(--bs-body)!important;letter-spacing:.01em!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules :is(.item__titulo,.evento__nome,.local-card__nome){font-family:var(--bs-display)!important;font-weight:400!important;letter-spacing:.06em!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules .titulo-secao{font-family:var(--bs-display)!important;font-weight:400!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root .botao:not(.bs-pass){font-family:var(--bs-display)!important;font-weight:400!important;letter-spacing:.14em!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .rsvp-floating-cta{font-family:var(--bs-display)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules :is(.party-public-6136__copy p,.party-public-6136__copy span){font-family:var(--bs-body)!important;color:var(--bs-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .rsvp-floating-cta,body.sg-engine-claude_v1.sg-engine-claude_v1 .rsvp-floating-cta strong{font-family:var(--bs-display)!important;font-weight:400!important;letter-spacing:.12em!important;border-radius:2px!important}
/* Listas como no Backstage original: um item por linha, ícone à esquerda */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules .itens--grade{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules .item{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important;text-align:left!important;min-height:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules .item__icone{flex:none!important;margin:2px 0 0!important;width:28px!important;height:28px!important;font-size:24px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules :is(.item__conteudo,.item__principal,.item__titulo,.item__texto){text-align:left!important;align-items:flex-start!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-modules .itens--grade > .item{grid-column:auto!important;justify-self:stretch!important;width:auto!important;max-width:none!important;margin:0!important}

/* Menu: "Confirme sua presença" em destaque (etiqueta vermelha com sombra dura) */
.bs-setlist li.bs-item--rsvp{margin:12px -6px 4px}
body.sg-engine-claude_v1 .bs-setlist li.bs-item--rsvp a{padding:12px 12px;border:0;background:var(--bs-accent);color:var(--bs-on-accent);box-shadow:4px 4px 0 #111;transform:rotate(-1deg);animation:bs-nudge 2.6s ease-in-out infinite}
body.sg-engine-claude_v1 .bs-setlist li.bs-item--rsvp a :is(b,i){color:var(--bs-on-accent)}
body.sg-engine-claude_v1 .bs-setlist li.bs-item--rsvp a span{font-size:24px}
@keyframes bs-nudge{0%,80%,100%{transform:rotate(-1deg)}86%{transform:rotate(-1deg) translateX(4px)}92%{transform:rotate(-1deg) translateX(-2px)}}
.bs-soundcheck > p{font-size:20px!important;letter-spacing:.3em!important}
/* O crachá usa a classe .botao do Capítulo 15 (abertura e música), sem o brilho dos botões */
body.sg-engine-claude_v1 .bs-root a.botao.bs-pass::before,body.sg-engine-claude_v1 .bs-root a.botao.bs-pass::after{content:none!important;display:none!important}
/* O título da página já diz o mesmo que o primeiro módulo: não repetir */
body.sg-engine-claude_v1 .bs-flyer--same-title .bs-modules > .secao:first-child .titulo-secao{display:none!important}

/* ---------- Crachá com os textos da cliente ---------- */
body.sg-engine-claude_v1 .bs-root a.botao.bs-pass{width:min(76vw,272px)!important}
.bs-pass-top{box-sizing:border-box;padding:9px 12px 7px!important;font-size:22px!important;letter-spacing:.12em!important;white-space:nowrap;overflow:hidden;text-transform:uppercase}
.bs-pass-name{margin-top:16px!important}
.bs-pass-for{display:flex;flex-direction:column;align-items:center;gap:2px}
.bs-guest-label{font-family:var(--bs-body);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--bs-muted)}
.bs-guest-name{display:block;max-width:100%;font-family:var(--bs-display);font-size:26px;font-weight:400;line-height:1;letter-spacing:.04em;color:var(--bs-accent);overflow-wrap:anywhere}
/* Saudação do Capítulo 15: fica para leitores de tela; o nome aparece em destaque */
body.sg-engine-claude_v1 .bs-pass-for .capa__convidado{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
/* Vitrine pública (convidado de exemplo): mostra o bloco "CONVITE PARA / Nome" */
body.sg-engine-claude_v1 .bs-pass-for .capa__convidado[data-showcase-guest]{position:static!important;width:auto!important;height:auto!important;clip:auto!important;white-space:normal!important}
body.sg-engine-claude_v1 .bs-pass-for .capa__convidado[data-showcase-guest] small{display:block;font-family:var(--bs-body);font-size:10.5px;letter-spacing:.18em;color:var(--bs-muted)}
body.sg-engine-claude_v1 .bs-pass-for .capa__convidado[data-showcase-guest] strong{display:block;font-family:var(--bs-display);font-size:24px;font-weight:400;color:var(--bs-accent)}
.bs-pass-for .capa__convidado[data-showcase-guest] ~ .bs-guest-label{display:none}
/* Botão de entrada com o texto escolhido pela cliente */
body.sg-engine-claude_v1 .bs-root .bs-enter{margin:24px 0 0;padding:13px 26px 11px;border:0;border-radius:2px;background:var(--bs-accent);color:var(--bs-on-accent);font-family:var(--bs-display);font-size:22px;letter-spacing:.14em;text-transform:uppercase;box-shadow:4px 4px 0 #000;transform:rotate(-2deg);cursor:pointer;animation:bs-nudge 2.6s ease-in-out infinite}
body.sg-engine-claude_v1 .bs-root .bs-enter:focus-visible{outline:3px solid var(--bs-accent-2);outline-offset:4px}
.bs-cover.is-open .bs-enter{opacity:0;transition:opacity .2s}

/* ---------- Voltar: grande, amarelo e abaixo do conteúdo ---------- */
body.sg-engine-claude_v1 a.bs-back{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;margin:26px 0 8px!important;padding:16px 18px 14px!important;background:var(--bs-accent-2)!important;color:#111!important;font-size:24px!important;letter-spacing:.14em!important;transform:rotate(-1deg)!important;box-shadow:5px 5px 0 #000!important}
body.sg-engine-claude_v1 a.bs-back .bs-ic{width:24px;height:24px}
/* Nas páginas internas o botão flutuante de confirmação não cobre o Voltar */
body.sg-engine-claude_v1[data-bs-screen]:not([data-bs-screen="menu"]) .rsvp-floating-cta{display:none!important}
/* A capa aberta nunca pode bloquear toques no convite */
body.sg-engine-claude_v1 .bs-root .capa.bs-cover.is-open{pointer-events:none!important}
body.sg-engine-claude_v1 .bs-root .capa.bs-cover.is-gone{display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root button.bs-enter{--button-size:24px;--button-weight:400;font-family:var(--bs-display)!important;font-size:24px!important;font-weight:400!important;letter-spacing:.14em!important;padding:14px 30px 12px!important;min-height:0!important;border-radius:2px!important}

/* ---------- Nome do convidado impresso no crachá ---------- */
/* Campo de crachá de evento: rótulo "NOME" e o nome em letra de máquina, sobre a linha. */
body.sg-engine-claude_v1 .bs-root .bs-pass .bs-pass-for{align-self:stretch;align-items:flex-start;gap:0;margin:18px 18px 0;padding:0}
body.sg-engine-claude_v1 .bs-root .bs-pass .bs-pass-field{margin-top:12px}
body.sg-engine-claude_v1 .bs-root .bs-pass .bs-pass-field .bs-guest-name{font-size:18px}
body.sg-engine-claude_v1 .bs-root .bs-pass .bs-guest-label{font-family:var(--bs-display);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bs-muted)}
body.sg-engine-claude_v1 .bs-root .bs-pass .bs-guest-name{display:block;width:100%;box-sizing:border-box;margin:2px 0 0;padding:2px 2px 4px;border-bottom:1.5px solid var(--bs-ink);
  font-family:var(--bs-body)!important;font-size:21px;font-weight:400;line-height:1.15;letter-spacing:.06em;text-align:left;text-transform:uppercase!important;color:#1a1a1a;
  /* tinta de impressora: leve borrão e falhas */
  text-shadow:0 0 .6px rgba(0,0,0,.55),.4px .3px 0 rgba(0,0,0,.18);opacity:.93;mix-blend-mode:multiply;
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0 3px,rgba(0,0,0,.82) 3px 4px);mask-image:repeating-linear-gradient(90deg,#000 0 3px,rgba(0,0,0,.82) 3px 4px);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.sg-engine-claude_v1 .bs-root .bs-pass .bs-guest-name:not(.is-guest){font-size:17px;color:#2a2a2a}
body.sg-engine-claude_v1 .bs-root .bs-pass .bs-pass-code{margin-top:auto}

/* Voltar sempre à mão: fixo na parte de baixo da tela em toda página aberta pelo
   menu (o body do Capítulo 15 é um contêiner de rolagem, então sticky não serve). */
body.sg-engine-claude_v1 .bs-flyer-page a.bs-back{position:fixed!important;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40;width:min(calc(100% - 32px),448px)!important;margin:0!important;transform:translateX(-50%) rotate(-1deg)!important}
body.sg-engine-claude_v1 .bs-flyer-page{padding-bottom:calc(112px + env(safe-area-inset-bottom))!important}

/* Convite publicado: public-shell.css força o tamanho de todo <p>; aqui os textos do tema voltam ao tamanho certo */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root p.bs-poster-top{font-size:13px!important;line-height:1.4!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root p.bs-gig{font-size:26px!important;line-height:1.1!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root p.bs-setlist-title{font-size:40px!important;line-height:1!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root p.bs-intro{font-size:13.5px!important;line-height:1.6!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root .bs-soundcheck > p{font-size:20px!important;line-height:1.2!important}

/* Endereço: estacionamento e acessibilidade um embaixo do outro (sem palavras quebradas) */
body.sg-engine-claude_v1.sg-engine-claude_v1 .bs-modules .compromisso__comodidades{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .bs-modules .compromisso__comodidade{grid-template-columns:2.25rem minmax(0,1fr)!important;gap:12px!important;align-items:center!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .bs-modules .compromisso__comodidade :is(.item__titulo,.item__texto){overflow-wrap:normal!important;word-break:normal!important;hyphens:manual!important}
body.sg-engine-claude_v1 .bs-modules :is(.compromisso__mapa-estatico,.invite-static-map-6159) img{display:block;width:100%;height:auto}
/* Confirmação: o Voltar fica no fim da página, bem separado dos botões do formulário */
body.sg-engine-claude_v1 .bs-flyer-page[data-bs-screen="vip"] a.bs-back{position:relative!important;left:auto;bottom:auto;transform:rotate(-1deg)!important;width:100%!important;margin:48px 0 8px!important}
body.sg-engine-claude_v1 .bs-flyer-page[data-bs-screen="vip"]{padding-bottom:calc(32px + env(safe-area-inset-bottom))!important}
/* Enquanto digita, o Voltar fixo sai da frente */
body.sg-engine-claude_v1.bs-typing .bs-flyer-page a.bs-back{opacity:0!important;pointer-events:none!important}

/* ---------- Menu em cartões e XV (peças comuns do motor, cores do Backstage) ---------- */
body.sg-engine-claude_v1 .bs-root{--cl-tile-bg:color-mix(in srgb,var(--bs-paper) 92%,#fff);--cl-tile-line:color-mix(in srgb,var(--bs-ink) 30%,transparent);--cl-tile-ink:var(--bs-ink);--cl-tile-muted:var(--bs-muted);--cl-tile-accent:var(--bs-accent);
  --cl-tile-badge:color-mix(in srgb,var(--bs-accent) 12%,transparent);--cl-tile-shadow:3px 3px 0 var(--bs-ink);--cl-tile-radius:6px;--cl-title-font:var(--bs-display);--cl-body-font:var(--bs-body);--cl-head-ink:var(--bs-ink);--cl-head-muted:var(--bs-muted)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root .cl-menu-title,body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .bs-root .cl-tile-label{letter-spacing:.04em!important;text-transform:uppercase!important;font-size:22px!important}
body.sg-engine-claude_v1 .bs-setlist .cl-menu-head{margin-top:18px}
