/*
 * Motor Claude — tema Tapete Vermelho (prefixo tv). Gerado por tools/arte-objetos/build.py: não editar à mão.
 * Capa: as cortinas de veludo fechadas, o letreiro de luzes com o nome e o puxador dourado;
 * embaixo, o tapete vermelho entre os pedestais. Puxar o cordão (ou tocar, rolar, arrastar)
 * abre as cortinas, o holofote acende sobre o cartão no palco e o cartão vem de frente.
 * Aberto: as cortinas presas nos lados e as partes subindo em cartões de papel.
 */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 700;font-display:swap;src:url("../fonts/cormorant-garamond-variable.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:300 700;font-display:swap;src:url("../fonts/cormorant-garamond-italic-variable.woff2") format("woff2")}
@font-face{font-family:"Cormorant SC";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/cormorant-sc-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Alex Brush";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/alex-brush-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cinzel";font-style:normal;font-weight:400 900;font-display:swap;src:url("../fonts/cinzel-latin-var-normal.woff2") format("woff2")}
@font-face{font-family:"Pinyon Script";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/pinyon-script-400.woff2") format("woff2")}
@font-face{font-family:"Julius Sans One";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/julius-sans-one-latin-400-normal.woff2") format("woff2")}

body.sg-engine-claude_v1:has(.tv-root){
  --tv-paper:var(--c-paper,#F8F2E7);--tv-paper2:var(--c-paper-2,#EFE5D3);--tv-ink:var(--c-paper-ink,#2E2420);--tv-muted:var(--c-paper-muted,#5F5348);
  --tv-table:var(--c-table,#CDBFAE);--tv-accent:var(--c-accent-text,#7A5320);
  --tv-f1:var(--c-foil-1,#5C4210);--tv-f2:var(--c-foil-2,#86621F);--tv-f3:var(--c-foil-3,#B08A3E);--tv-f4:var(--c-foil-4,#DDBF7A);--tv-f5:var(--c-foil-5,#F7E7BC);
  --tv-script:"Alex Brush", "Pinyon Script", cursive;--tv-caps:"Cinzel", "Cormorant SC", serif;--tv-title:"Cinzel", "Cormorant Garamond", serif;--tv-serif:"Cormorant Garamond", Georgia, serif;--tv-name-scale:1;
  --tv-name-scale:1;--tv-tx:0;--tv-back:var(--tv-table);
  --tv-light:rgba(255,255,255,.6);--tv-dark:rgba(60,40,20,.14);
  --tv-curtain:var(--c-curtain,#8E1424);--tv-carpet:var(--c-carpet,#A0172A);
  background:var(--tv-table)!important;color:var(--tv-ink)}
body.sg-engine-claude_v1:has(.tv-root[data-tv-font="classica"]){--tv-script:"Pinyon Script", cursive;--tv-caps:"Cormorant SC", "Cormorant Garamond", serif;--tv-title:"Cormorant Garamond", Georgia, serif;--tv-serif:"Cormorant Garamond", Georgia, serif;--tv-name-scale:0.9}
body.sg-engine-claude_v1:has(.tv-root[data-tv-font="moderna"]){--tv-script:"Julius Sans One", "Cinzel", sans-serif;--tv-caps:"Julius Sans One", sans-serif;--tv-title:"Julius Sans One", "Cinzel", sans-serif;--tv-serif:"Cormorant Garamond", Georgia, serif;--tv-name-scale:0.56}
.tv-root[data-tv-font="moderna"] :is(.tv-name,.tv-foil--deco){letter-spacing:.07em!important;text-transform:uppercase}
.tv-root[data-tv-font="moderna"] .tv-plate-title{letter-spacing:.1em!important;text-transform:uppercase!important;font-size:calc(var(--tv-w) * .056)!important}
/* Aberto: o fundo da página é o do convite aberto (o contraste automático mede por ele). */
body.sg-engine-claude_v1:has(.tv-root.is-opened){background:var(--tv-back)!important}
/* Lembrete flutuante do motor ("Confirmar presença") na cor de destaque. */
body.sg-engine-claude_v1:has(.tv-root) .cl-rsvp-fab{--cl-fab-bg:var(--tv-accent)!important;--cl-fab-ink:#FFFFFF!important;font-family:var(--tv-caps)!important;letter-spacing:.08em!important}
/* Enquanto o convite está fechado (e durante a abertura), a página não rola. */
body.sg-engine-claude_v1:has(.tv-root:not(.is-opened)){overflow:hidden;overscroll-behavior:none}
body.sg-engine-claude_v1:has(.tv-root)::before,body.sg-engine-claude_v1:has(.tv-root)::after{display:none!important}
body.sg-engine-claude_v1:has(.tv-root) .pagina-convite{max-width:none;margin:0!important;background:transparent!important;min-height:100svh;overflow:clip}
body.sg-engine-claude_v1:has(.tv-root) .convite{overflow:visible!important;background:transparent!important}
body.sg-engine-claude_v1:has(.tv-root) .rodape{display:none!important}

/* ---------------- Medidas ---------------- */
.tv-root{--tv-w:min(90vw,460px);position:relative;z-index:1;isolation:isolate;min-height:100svh;overflow-x:clip;font-family:var(--tv-serif);color:var(--tv-ink);-webkit-tap-highlight-color:transparent}
.tv-root [hidden]{display:none!important}
.tv-root.tv-root--section{position:relative;inset:auto;overflow:visible;min-height:0}

/* ---------------- Mesa ---------------- */
.tv-table{position:fixed;inset:0;z-index:0;background-color:var(--tv-table)}
.tv-scene{position:fixed;inset:0;z-index:1;pointer-events:none}
/* ---------------- O cartão impresso ---------------- */
.tv-card{position:absolute;z-index:2;left:50%;top:50%;width:var(--tv-cw);height:calc(var(--tv-cw) * 1.4);translate:-50% -50%;container-type:size;
  transform:translateY(var(--tv-cy,0px)) scale(var(--tv-ck,1));transform-origin:50% 50%;transition:transform 1.25s cubic-bezier(.55,.05,.3,1)}
.tv-face{position:absolute;inset:14% 11% 13%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
body.sg-engine-claude_v1 .tv-root .tv-eyebrow{margin:0 0 .6em!important;font-family:var(--tv-caps)!important;font-size:4.4cqw!important;letter-spacing:.22em!important;line-height:1.35!important;color:var(--tv-muted)!important;text-transform:uppercase;text-shadow:0 1px 0 var(--tv-light)}
.tv-root .tv-name{position:relative!important;inset:auto!important;display:block!important;max-width:100%!important;width:auto!important;transform:none!important;margin:0!important;
  font-family:var(--tv-script)!important;font-weight:400!important;font-size:calc(18cqw * var(--tv-name-scale))!important;line-height:1.3!important;letter-spacing:0!important;padding:0 .14em;white-space:nowrap;outline:0}
body.sg-engine-claude_v1 .tv-root .tv-name.is-wrap{white-space:normal;line-height:1.1!important;text-wrap:balance}
.tv-root[data-tv-font="moderna"] :is(.tv-name,.tv-foil--deco){letter-spacing:.07em!important;text-transform:uppercase}
body.sg-engine-claude_v1 .tv-root .tv-when{margin:0!important;display:flex;flex-direction:column;align-items:center;gap:.3em;font-family:var(--tv-serif)!important;font-size:6.2cqw!important;line-height:1.2!important;color:var(--tv-ink)!important;text-shadow:0 1px 0 var(--tv-light)}
body.sg-engine-claude_v1 .tv-root .tv-when .tv-date{font-family:var(--tv-caps);font-size:.7em;letter-spacing:.16em;text-transform:uppercase}
body.sg-engine-claude_v1 .tv-root .tv-when .tv-time{font-style:italic}
body.sg-engine-claude_v1 .tv-root .tv-venue{margin:.7em 0 0!important;font-family:var(--tv-caps)!important;font-size:4.8cqw!important;letter-spacing:.12em!important;line-height:1.35!important;color:var(--tv-ink)!important;text-transform:uppercase;text-shadow:0 1px 0 var(--tv-light)}
/* Papel de algodão e moldura em relevo seco com um fio de folha por dentro. */
.tv-paper{position:absolute;inset:0;border-radius:inherit;background-color:var(--tv-paper);
  background-image:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,0) 40%,rgba(0,0,0,.035)),var(--tv-fiber);background-size:100% 100%,420px 420px;background-blend-mode:normal,multiply}
.tv-frame{position:absolute;inset:5.5cqw;pointer-events:none;border-radius:1px;
  box-shadow:inset 1px 1px 0 var(--tv-dark),inset -1px -1px 0 var(--tv-light),1px 1px 0 var(--tv-light),-1px -1px 0 var(--tv-dark)}
.tv-frame::after{content:"";position:absolute;inset:1.6cqw;border:1px solid color-mix(in srgb,var(--tv-f3) 70%,transparent)}

/* Folha metálica (hot stamping) em papel claro: os tons fundos do metal; o reflexo corre com o giro do aparelho. */
.tv-root .tv-foil{background-image:linear-gradient(112deg,var(--tv-f1) 0%,var(--tv-f2) 20%,var(--tv-f1) 38%,var(--tv-f2) 50%,var(--tv-f3) 56%,var(--tv-f2) 62%,var(--tv-f1) 80%,var(--tv-f2) 100%);
  background-size:260% 100%;background-position:calc(50% + var(--tv-tx) * 1%) 0;-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.55)) drop-shadow(0 -.5px 0 rgba(50,30,10,.2))}
/* Folha sobre material escuro (tampa, cinta): os tons claros do metal. */
.tv-root[data-tv-tone="escuro"] .tv-foil--deco{background-image:linear-gradient(112deg,var(--tv-f4) 0%,var(--tv-f5) 18%,var(--tv-f4) 34%,var(--tv-f3) 50%,var(--tv-f4) 64%,var(--tv-f5) 80%,var(--tv-f4) 100%);filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}

/* Filete: duas linhas finas e um losango. */
.tv-rule{display:flex;align-items:center;justify-content:center;gap:8px;margin:.8em auto 1.1em}
.tv-rule i{width:calc(var(--tv-w) * .1);height:1px;background:linear-gradient(90deg,transparent,var(--tv-f3))}
.tv-rule i:last-child{background:linear-gradient(90deg,var(--tv-f3),transparent)}
.tv-rule b{width:7px;height:7px;rotate:45deg;background:var(--tv-f3)}
.tv-face .tv-rule{margin:.9em auto 1.1em}
.tv-face .tv-rule i{width:14cqw}
.tv-face .tv-rule b{width:1.8cqw;height:1.8cqw}

/* ---------------- Cartões depois de aberto: algodão com moldura ---------------- */
.tv-plate-in{border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.2),0 16px 30px -12px rgba(0,0,0,.45)}
.tv-plate-bg{background-color:var(--tv-paper);background-image:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,0) 40%,rgba(0,0,0,.03)),var(--tv-fiber);background-size:100% 100%,420px 420px;background-blend-mode:normal,multiply}
.tv-plate-bg::after{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--tv-f3) 60%,transparent);box-shadow:0 0 0 4px transparent,0 0 0 5px color-mix(in srgb,var(--tv-f3) 22%,transparent)}
/* ---------------- Capa: o convite para abrir ---------------- */
.tv-cover{position:fixed!important;inset:0!important;z-index:5;pointer-events:none;margin:0!important;padding:0!important;min-height:0!important;background:none!important;border:0!important;box-shadow:none!important}
.tv-hint{position:absolute;left:0;right:0;top:var(--tv-hint-top);margin:0!important;display:flex;justify-content:center;transition:opacity .4s ease}
.tv-hint span{font-family:var(--tv-caps);font-size:clamp(12px,3.4vw,16px);letter-spacing:.3em;text-transform:uppercase;color:var(--tv-hint-ink,#fff);text-shadow:0 1px 2px rgba(0,0,0,.18)}
.tv-root.is-closed:not(.is-breaking) .tv-hint{animation:tv-hint 1s ease 1.4s backwards}
@keyframes tv-hint{from{opacity:0;transform:translateY(6px)}}
.tv-root:is(.is-breaking,.is-opened) .tv-hint{opacity:0}
.tv-root.is-opened .tv-cover{display:none!important}

/* ---------------- Depois de aberto: o cartão fixo no fundo e os cartões que sobem ---------------- */
.tv-veil{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:calc(var(--tv-sc,0) * .62);
  background:radial-gradient(120% 90% at 50% 45%,color-mix(in srgb,var(--tv-back) 40%,transparent),color-mix(in srgb,var(--tv-back) 92%,#000 8%))}
.tv-app{position:relative;z-index:4}
.tv-root:not(.is-opened) .tv-app{visibility:hidden}
.tv-flow{display:flex;flex-direction:column;align-items:center;gap:30px;padding:calc(100svh - 24px) 14px max(56px,env(safe-area-inset-bottom))}
.tv-plate{position:relative;width:var(--tv-w);margin:0;transform:translateY(46px);opacity:0;transition:transform 1s cubic-bezier(.2,.75,.25,1),opacity .7s ease}
.tv-plate.is-in{transform:none;opacity:1}
.tv-plate--reply{width:calc(var(--tv-w) * .93)}
.tv-plate-in{position:relative;isolation:isolate;background-color:var(--tv-paper)}
.tv-plate-bg{position:absolute;inset:0;z-index:0;border-radius:inherit;pointer-events:none}
.tv-plate-body{position:relative;z-index:1;padding:calc(var(--tv-w) * .12) calc(var(--tv-w) * .1) calc(var(--tv-w) * .11)}
.tv-main{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5em}
body.sg-engine-claude_v1 .tv-root .tv-intro{margin:0 auto!important;max-width:28ch;font-family:var(--tv-serif)!important;font-style:italic;font-size:calc(var(--tv-w) * .054)!important;line-height:1.4!important;color:var(--tv-ink)!important}
.tv-plate-head{text-align:center;padding:0 4%}
.tv-plate-title{margin:0!important;font-family:var(--tv-title)!important;font-weight:400!important;font-size:calc(var(--tv-w) * .062)!important;line-height:1.25!important;letter-spacing:.06em!important;text-transform:none!important;text-wrap:balance}
.tv-root[data-tv-font="moderna"] .tv-plate-title{letter-spacing:.1em!important;text-transform:uppercase!important;font-size:calc(var(--tv-w) * .056)!important}

/* ---------------- Contagem ---------------- */
.tv-count{margin-top:.6em}
.tv-root .tv-count .secao__interno{display:flex!important;flex-direction:column;align-items:center;gap:.35em;padding:0!important;margin:0!important;max-width:none!important;background:none!important;border:0!important;box-shadow:none!important}
.tv-root .tv-count .contagem{display:flex!important;align-items:baseline;justify-content:center;gap:.7em;grid-template-columns:none!important}
.tv-root .tv-count .contagem__item{display:flex;flex-direction:column;align-items:center;gap:.2em;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;min-width:0!important}
.tv-root .tv-count .contagem__item[hidden]{display:none!important}
.tv-root .tv-count .contagem__numero{font-size:calc(var(--tv-w) * .085)!important;line-height:1!important;font-family:var(--tv-caps)!important;color:var(--tv-accent)!important}
.tv-root .tv-count .contagem__rotulo{font-size:calc(var(--tv-w) * .026)!important;font-family:var(--tv-caps)!important;letter-spacing:.16em!important;color:var(--tv-muted)!important}
.tv-root .tv-count .contagem,.tv-root .tv-count .secao{margin:0!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;min-height:0!important}
.tv-root .tv-count :is(.divisor,.cantoneira,.cantoneiras){display:none!important}
body.sg-engine-claude_v1 .tv-root .tv-count .titulo-secao,body.sg-engine-claude_v1 .tv-root .tv-count .secao .titulo-secao{display:block!important;margin:0 0 .4em!important;padding:0!important;border:0!important;background:none!important;font-family:var(--tv-caps)!important;font-weight:400!important;font-size:calc(var(--tv-w) * .028)!important;line-height:1.35!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:var(--tv-muted)!important;-webkit-text-fill-color:currentColor!important;text-shadow:none!important}
body.sg-engine-claude_v1 .tv-root .tv-count .titulo-secao::before,body.sg-engine-claude_v1 .tv-root .tv-count .titulo-secao::after{content:none!important;display:none!important}
.tv-root .tv-count .revela,.tv-root .tv-count.revela{opacity:1!important;transform:none!important;visibility:visible!important}

/* ---------------- Módulos do Capítulo 15 nos cartões ---------------- */
.tv-root .cl-modules{--clm-paper:transparent;--clm-ink:var(--tv-ink);--clm-muted:var(--tv-muted);--clm-line:color-mix(in srgb,var(--tv-f3) 40%,transparent);--clm-accent:var(--tv-accent);--clm-display:var(--tv-serif);--clm-sans:var(--tv-caps);
  font-size:15px;text-align:left}
.tv-root .tv-modules--same-title :is(.titulo-secao,.secao > .secao__interno > h2):first-of-type{display:none!important}
/* Impresso na chapa: tudo centralizado, sem caixas nem pílulas. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules{text-align:center!important;font-size:16px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.secao,.secao__interno,.item,.item__conteudo,.item__principal,.item__titulo,.item__texto,.texto,.texto--centro,p,.compromisso,.compromisso__local,.compromisso__endereco){text-align:center!important;align-items:center!important;justify-content:center!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .secao + .secao{border-top:0!important;margin-top:18px!important;padding-top:22px!important;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--tv-f3) 70%,transparent),transparent) top center/46% 1px no-repeat!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.titulo-secao,h2){text-align:center!important;font-family:var(--tv-caps)!important;font-size:12px!important;font-weight:400!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:var(--tv-accent)!important;margin:0 0 12px!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.item__titulo,.evento__nome,.local-card__nome,.compromisso__nome,h3){font-family:var(--tv-serif)!important;font-style:italic!important;font-weight:500!important;font-size:21px!important;line-height:1.2!important;letter-spacing:0!important;color:var(--tv-ink)!important;text-transform:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(p,.item__texto,.texto,.compromisso__endereco,li,small){font-family:var(--tv-serif)!important;font-size:17px!important;line-height:1.45!important;color:var(--tv-muted)!important;letter-spacing:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules span:not([class*="mdi"]):not(.fa-solid):not(.contagem__numero):not(.contagem__rotulo){font-family:var(--tv-serif)!important;font-size:17px!important;line-height:1.45!important;color:var(--tv-muted)!important;letter-spacing:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__local{font-family:var(--tv-caps)!important;font-size:18px!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--tv-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.campo__rotulo,.rsvp-prazo){font-family:var(--tv-caps)!important;font-size:11.5px!important;letter-spacing:.18em!important;color:var(--tv-muted)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .item.item{flex-direction:column!important;align-items:center!important;gap:6px!important;padding:16px 4px!important;border:0!important;background:none!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .item + .item{padding-top:26px!important;position:relative}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .item + .item::before{content:"";position:absolute;top:4px;left:50%;width:9px;height:9px;translate:-50% 0;background:var(--tv-f3);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .item__icone{margin:0 auto 2px!important;width:30px!important;height:30px!important;display:grid!important;place-items:center!important;font-size:22px!important;color:var(--tv-accent)!important;background:none!important;border:0!important;box-shadow:none!important;opacity:.95}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .item__icone [class*="mdi-sg"]{color:var(--tv-accent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.aviso,.rsvp-cartao,.rsvp-preview-note-4035,.reserved-color-note-151,.compromisso__comodidade,.rsvp-membro,.rsvp-guest-policy-ack,.rsvp__resposta,.cd-guest-example131){border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .reserved-color-note-151{position:relative;display:block!important;text-align:center!important;margin:4px auto 10px!important;padding:14px 6px!important;max-width:30ch;border-top:1px solid color-mix(in srgb,var(--tv-f3) 55%,transparent)!important;border-bottom:1px solid color-mix(in srgb,var(--tv-f3) 55%,transparent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .reserved-color-note-151 :is(strong,b){display:block;font-family:var(--tv-serif)!important;font-style:italic;font-weight:500!important;font-size:19px!important;color:var(--tv-ink)!important;margin:2px 0 4px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso{border:0!important;padding-bottom:6px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__comodidades{justify-items:center!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__comodidade{grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:2px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.compromisso__mapa-estatico,.invite-static-map-6159){border-radius:4px!important;padding:5px!important;background:rgba(255,255,255,.85)!important;box-shadow:0 1px 2px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.16)!important}
/* Botões: moldura dupla dourada, nunca pílula colorida. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.botao,button.botao,a.botao,button[type=submit]){min-height:46px!important;padding:12px 22px!important;border-radius:3px!important;background:transparent!important;color:var(--tv-ink)!important;
  box-shadow:inset 0 0 0 1px var(--tv-f3),inset 0 0 0 4px transparent,inset 0 0 0 5px color-mix(in srgb,var(--tv-f3) 45%,transparent)!important;font-family:var(--tv-caps)!important;font-size:12.5px!important;letter-spacing:.18em!important;font-weight:400!important;text-transform:uppercase}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.botao--contorno,button.compromisso__copiar-endereco,.compromisso__copiar-endereco){min-height:36px!important;padding:6px 4px!important;box-shadow:none!important;background:none!important;color:var(--tv-accent)!important;text-decoration:underline!important;text-decoration-color:color-mix(in srgb,var(--tv-f3) 70%,transparent)!important;text-underline-offset:5px!important;font-size:11.5px!important}
/* Campos: linha de preencher, como num cartão de resposta. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(input[type=text],input[type=tel],input[type=email],input[type=number],select,textarea){border:0!important;border-bottom:1px solid color-mix(in srgb,var(--tv-ink) 40%,transparent)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
  font-family:var(--tv-serif)!important;font-size:18px!important;font-style:italic;color:var(--tv-ink)!important;text-align:center!important;padding:8px 4px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules select option{color:#1A1714;background:#FFFFFF}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(input,select,textarea):focus{border-bottom-color:var(--tv-accent)!important;box-shadow:0 1px 0 var(--tv-accent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(input,textarea)::placeholder{color:color-mix(in srgb,var(--tv-muted) 80%,transparent)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .escolha{border:0!important;border-radius:0!important;background:none!important;font-family:var(--tv-serif)!important;font-style:italic;font-size:17px!important;color:var(--tv-ink)!important;display:inline-flex!important;align-items:center;gap:8px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .escolha::before{content:"";width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--tv-ink);flex:none}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .escolha:has(input:checked){background:none!important;color:var(--tv-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .escolha:has(input:checked)::before{box-shadow:inset 0 0 0 1px var(--tv-ink),inset 0 0 0 3px var(--tv-paper),inset 0 0 0 7px var(--tv-accent)}
/* Fotos: impressas com margem branca, como foto de papel. */
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.story-public-6136 img,.cd-carousel-6137 img){border-radius:0!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .story-public-6136__moment{background:none!important;border:0!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .story-public-6136 figure{background:#fff!important;padding:7px 7px 26px!important;border-radius:0!important;box-shadow:0 1px 2px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.18)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__quando{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;border:0!important;padding:0 0 10px!important;margin:0 0 6px!important;background:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__quando :is(.compromisso__data,.compromisso__hora){font-family:var(--tv-caps)!important;font-size:12px!important;letter-spacing:.16em!important;color:var(--tv-muted)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__quando .compromisso__hora{font-family:var(--tv-serif)!important;font-style:italic;font-size:18px!important;letter-spacing:0!important;color:var(--tv-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__endereco-linha{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__endereco-linha .compromisso__copiar-endereco{min-height:36px!important;padding:6px 4px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:none!important;color:var(--tv-accent)!important;text-decoration:underline!important;text-underline-offset:5px!important;font-family:var(--tv-caps)!important;font-size:11.5px!important;letter-spacing:.16em!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .compromisso__endereco-linha > *{flex:none!important;min-height:0!important;height:auto!important;width:auto!important;max-width:100%!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .item.item--dress-main-4062{display:flex!important;flex-direction:column!important;align-items:center!important;grid-template-columns:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .item--dress-main-4062 > *{grid-column:auto!important;margin-inline:auto!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .party-public-6136{display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .party-public-6136__moment{display:flex!important;flex-direction:column!important;align-items:center!important;gap:4px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;grid-template-columns:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .party-public-6136__icon{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border:0!important;background:none!important;box-shadow:none!important;color:var(--tv-accent)!important;font-size:22px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .party-public-6136__line{display:block!important;width:1px!important;height:18px!important;margin:6px auto!important;background:color-mix(in srgb,var(--tv-f3) 70%,transparent)!important;position:static!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules .party-public-6136__copy{text-align:center!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .tv-root .tv-modules.cl-modules :is(.cd-carousel-6137,.story-carousel-6137){background:none!important;border:0!important;box-shadow:none!important}


/* ---------------- Miniatura, prévia de seção, movimento reduzido e impressão ---------------- */
.tv-root--cover-only *{animation:none!important}
.tv-root--cover-only :is(.tv-app,.tv-veil){display:none}
.tv-section-preview{padding:16px}
.tv-root--section .tv-plate{position:relative;inset:auto;transform:none;opacity:1;padding:22px 18px;border-radius:2px;background:var(--tv-paper);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tv-f3) 45%,transparent)}
@media (prefers-reduced-motion:reduce){
  .tv-root *{animation:none!important;transition-duration:.01s!important}
}
@media print{
  .tv-root{position:static;min-height:0}
  .tv-cover,.tv-table,.tv-veil,.tv-curtain,.tv-valance,.tv-marquee,.tv-pull,.tv-carpet,.tv-post,.tv-spot,.tv-backdrop{display:none!important}
  .tv-scene{position:relative;height:auto;inset:auto}
  .tv-card{position:relative;left:auto;top:auto;translate:none;transform:none;margin:0 auto;clip-path:none!important}
  .tv-flow{padding:12px 0}
  .tv-plate{opacity:1!important;transform:none!important;page-break-inside:avoid}
}

/* ================= Cena: o palco ================= */
.tv-root{--tv-cw:min(86vw,calc(78svh * 5 / 7),440px);--tv-k:.58;--tv-y0:2svh;
  --tv-mw:min(80vw,44svh,400px);--tv-my:33svh;
  --tv-hint-top:calc(var(--tv-my) + var(--tv-mw) * .34 + min(26svh,52vw) + 6px)}
body.sg-engine-claude_v1:has(.tv-root){--tv-back:var(--c-bg,#1C0A0E)}
.tv-table{background:radial-gradient(70% 55% at 50% 55%,color-mix(in srgb,var(--tv-curtain) 30%,var(--tv-table)),var(--tv-table) 75%)}
.tv-backdrop{position:fixed;inset:0;z-index:0;opacity:0;transition:opacity 1.2s ease;
  background:radial-gradient(60% 45% at 50% 40%,color-mix(in srgb,var(--tv-curtain) 26%,var(--tv-back)),var(--tv-back) 80%)}
.tv-root:is(.is-front,.is-opened) .tv-backdrop{opacity:1}

/* Holofote: o cone de luz sobre o cartão no palco. */
.tv-spot{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .7s ease}
.tv-spot::before{content:"";position:absolute;left:50%;top:-6svh;width:min(120vw,70svh);height:96svh;translate:-50% 0;
  background:linear-gradient(180deg,rgba(255,244,214,.34),rgba(255,244,214,.12) 70%,rgba(255,244,214,0));clip-path:polygon(44% 0,56% 0,100% 100%,0 100%);filter:blur(6px)}
.tv-spot::after{content:"";position:absolute;left:50%;top:calc(50svh + var(--tv-y0) + var(--tv-cw) * .7 * var(--tv-k) - 3svh);width:calc(var(--tv-cw) * 1.25);height:8svh;translate:-50% 0;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,240,205,.4),rgba(255,240,205,0))}
.tv-root.is-lights .tv-spot{opacity:1}

/* Cortinas de veludo: as pregas são uma arte em cinza (tools/arte-objetos/texturas.py cortina) que a
   página tinge pela cor da paleta com hard-light: o cinza médio vira a cor, o claro o brilho do pelo. */
.tv-curtain{position:fixed;top:0;bottom:0;width:50.5vw;z-index:3;background-color:var(--tv-curtain);
  background-image:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 26%),var(--tv-drape,var(--tv-velvet));background-size:100% 100%,100% 100%;background-blend-mode:normal,hard-light;
  transition:scale 1.25s cubic-bezier(.6,.02,.25,1),filter 1.2s ease}
.tv-curtain--l{left:0;transform-origin:0 50%;box-shadow:8px 0 18px rgba(0,0,0,.45)}
.tv-curtain--r{right:0;transform-origin:100% 50%;box-shadow:-8px 0 18px rgba(0,0,0,.45);background-image:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,0) 26%),var(--tv-drape-r,var(--tv-velvet))}
.tv-curtain::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4svh;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.4));pointer-events:none}
.tv-root:is(.is-parting,.is-lights,.is-front,.is-opened) .tv-curtain{scale:.15 1;filter:brightness(.8)}

/* Bandô: festões de veludo (mesma técnica de tingir) com a franja e as borlas douradas por cima. */
.tv-root{--tv-vh:max(13svh,88px)}
.tv-valance{position:fixed;left:0;right:0;top:0;height:var(--tv-vh);z-index:4;background-color:var(--tv-curtain);
  background-image:var(--tv-swag);background-size:calc(var(--tv-vh) * 2.4) 100%;background-repeat:repeat-x;background-position:50% 0;background-blend-mode:hard-light;
  -webkit-mask:var(--tv-swag) 50% 0/calc(var(--tv-vh) * 2.4) 100% repeat-x;mask:var(--tv-swag) 50% 0/calc(var(--tv-vh) * 2.4) 100% repeat-x;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.5))}
.tv-fringe{position:fixed;left:0;right:0;top:0;height:var(--tv-vh);z-index:4;pointer-events:none;
  background:var(--tv-tassel) 50% 0/calc(var(--tv-vh) * 2.4) 100% repeat-x;filter:drop-shadow(0 3px 3px rgba(0,0,0,.45))}

/* O letreiro com lâmpadas e o nome. */
.tv-marquee{position:fixed;z-index:5;left:50%;top:var(--tv-my);width:var(--tv-mw);aspect-ratio:1.48;translate:-50% -50%;container-type:inline-size;
  padding:4.6cqw;border-radius:3cqw;background:linear-gradient(135deg,var(--tv-f2),var(--tv-f4) 30%,var(--tv-f3) 50%,var(--tv-f5) 70%,var(--tv-f2));
  box-shadow:0 0 0 1px rgba(0,0,0,.4),0 18px 40px rgba(0,0,0,.6),0 0 60px color-mix(in srgb,var(--tv-f4) 25%,transparent);
  transition:transform 1s cubic-bezier(.5,0,.4,1),opacity .7s ease}
.tv-marquee-in{position:relative;height:100%;border-radius:1.6cqw;background:radial-gradient(120% 100% at 50% 30%,#2A1A1C,#0E0809);box-shadow:inset 0 0 0 1px rgba(0,0,0,.6),inset 0 2px 12px rgba(0,0,0,.7);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 9cqw}
.tv-bulbs{position:absolute;inset:1.4cqw;border-radius:2.2cqw;pointer-events:none;
  background:radial-gradient(circle,#FFFBEA 0 1.1cqw,#FFD884 1.3cqw,rgba(255,200,90,.25) 2cqw,transparent 2.6cqw) 0 0/6.4cqw 6.4cqw;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);padding:3.2cqw}
.tv-root.is-closed:not(.is-breaking) .tv-bulbs{animation:tv-twinkle 1.6s steps(2,jump-none) infinite}
@keyframes tv-twinkle{50%{opacity:.72}}
body.sg-engine-claude_v1 .tv-root .tv-marquee .capa__convidado{margin:0 0 .45em!important;padding:0!important;background:none!important;border:0!important;font-family:var(--tv-caps)!important;font-size:4.2cqw!important;letter-spacing:.2em!important;line-height:1.25!important;color:var(--tv-f5)!important;opacity:.92;display:flex;flex-direction:column;align-items:center;gap:.25em}
body.sg-engine-claude_v1 .tv-root .tv-marquee .capa__convidado small{font-size:.8em!important;letter-spacing:.24em!important}
body.sg-engine-claude_v1 .tv-root .tv-marquee .capa__convidado strong{font-family:var(--tv-serif)!important;font-style:italic;font-weight:500!important;font-size:1.45em!important;letter-spacing:.01em!important;text-transform:none}
body.sg-engine-claude_v1 .tv-root .tv-lid-name{margin:0!important;white-space:nowrap;padding:0 .15em;font-family:var(--tv-script)!important;font-weight:400!important;font-size:calc(17cqw * var(--tv-name-scale))!important;line-height:1.3!important}
.tv-marquee:has(.capa__convidado:not([hidden])) .tv-lid-name{font-size:calc(14cqw * var(--tv-name-scale))!important}
.tv-root .tv-foil--deco{background-image:linear-gradient(112deg,var(--tv-f4) 0%,var(--tv-f5) 18%,var(--tv-f4) 34%,var(--tv-f3) 50%,var(--tv-f4) 64%,var(--tv-f5) 80%,var(--tv-f4) 100%);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--tv-f4) 45%,transparent)) drop-shadow(0 1px 1px rgba(0,0,0,.5))}
.tv-root:is(.is-parting,.is-lights,.is-front,.is-opened) .tv-marquee{transform:translateY(-70svh);opacity:0}

/* O puxador (o botão): a borla dourada pendurada no letreiro. */
.botao.tv-pull,.tv-pull{position:fixed!important;z-index:6;left:50%;top:calc(var(--tv-my) + var(--tv-mw) * .34 - 4px);height:min(26svh,52vw);aspect-ratio:7 / 22;pointer-events:auto;
  transform:none!important;translate:-50% 0;display:block!important;margin:0!important;padding:0!important;border:0!important;border-radius:30px!important;background:none!important;box-shadow:none!important;min-height:0!important;outline-offset:4px;cursor:pointer;
  transform-origin:50% 0;transition:translate .35s cubic-bezier(.5,0,.75,0),opacity .4s ease .5s}
body.sg-engine-claude_v1 .pagina-convite .tv-root .botao.tv-pull[href]{box-shadow:none!important;animation:none!important;background:none!important;border:0!important;padding:0!important;min-height:0!important;font-size:0!important}
.botao.tv-pull{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;overflow:visible!important;color:transparent!important;text-shadow:none!important}
.botao.tv-pull::before,.botao.tv-pull::after{content:none!important;display:none!important}
.tv-pull-img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 5px rgba(0,0,0,.5))}
.tv-pull:focus-visible{outline:2px solid var(--tv-f4)}
.tv-root.is-closed:not(.is-breaking) .tv-pull{animation:tv-sway 3.6s ease-in-out 1.6s infinite}
@keyframes tv-sway{0%,100%{rotate:0deg}30%{rotate:2.2deg}70%{rotate:-2.2deg}}
.tv-root:is(.is-breaking,.is-parting,.is-lights,.is-front,.is-opened) .tv-pull{translate:-50% 8svh;opacity:0;pointer-events:none}

/* O tapete vermelho e os pedestais, na frente do palco. */
/* Palco: tábuas escuras enceradas, com o reflexo da luz. */
.tv-table::before{content:"";position:absolute;left:0;right:0;bottom:0;height:19svh;
  background:radial-gradient(60% 70% at 50% 0,rgba(255,226,170,.16),transparent 70%),linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.15) 30%,rgba(0,0,0,.45)),
    repeating-linear-gradient(90deg,#2A1610 0 11%,#1E0F0A 11% 11.4%,#331B12 11.4% 24%,#1E0F0A 24% 24.4%),#24130D}
/* O tapete vermelho: a barra dourada por baixo e o tapete por cima, com o pelo e a luz do holofote. */
.tv-carpet{position:fixed;z-index:4;left:50%;bottom:-1px;width:min(84vw,520px);height:17svh;translate:-50% 0;
  background:linear-gradient(90deg,var(--tv-f2),var(--tv-f4) 30%,var(--tv-f3) 50%,var(--tv-f5) 70%,var(--tv-f2));
  clip-path:polygon(33.4% 0,66.6% 0,100% 100%,0 100%);transition:transform 1s cubic-bezier(.5,0,.6,1)}
.tv-carpet::after{content:"";position:absolute;inset:2px 0 0;clip-path:polygon(34.4% 0,65.6% 0,97.6% 100%,2.4% 100%);
  background-color:var(--tv-carpet);background-image:radial-gradient(40% 60% at 50% 0,rgba(255,230,190,.22),transparent 70%),linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.08) 45%,rgba(0,0,0,.18)),var(--tv-pile);
  background-size:auto,auto,140px 140px;background-blend-mode:normal,normal,soft-light}
.tv-post{position:fixed;z-index:5;bottom:2svh;height:min(15svh,26vw);aspect-ratio:18 / 15;pointer-events:none;transition:transform 1s cubic-bezier(.5,0,.6,1)}
.tv-post--l{left:calc(50% - min(84vw,520px) * .5 - 3vw);transform-origin:100% 100%}
.tv-post--r{right:calc(50% - min(84vw,520px) * .5 - 3vw);scale:-1 1}
.tv-post img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 6px 6px rgba(0,0,0,.5))}
.tv-root:is(.is-front,.is-opened) :is(.tv-carpet,.tv-post){transform:translateY(30svh)}

/* O cartão: escondido atrás das cortinas, no palco; depois vem de frente. */
.tv-card{z-index:2;border-radius:2px;box-shadow:0 2px 3px rgba(0,0,0,.3),0 26px 50px -16px rgba(0,0,0,.7)}
.tv-root:is(.is-closed,.is-breaking,.is-parting,.is-lights) .tv-card{--tv-cy:var(--tv-y0);--tv-ck:var(--tv-k)}
.tv-root:is(.is-front,.is-opened) .tv-card{z-index:6;--tv-cy:0px;--tv-ck:1}
.tv-root--cover-only .tv-card{--tv-cy:var(--tv-y0);--tv-ck:var(--tv-k)}
.tv-root.is-closed:not(.is-breaking) .tv-marquee{animation:tv-drop 1.1s cubic-bezier(.2,.75,.25,1) backwards}
@keyframes tv-drop{from{opacity:0;margin-top:-30px}}

/* Aberto: as cortinas ficam presas nos lados, por cima dos cartões só nas beiradas. */
.tv-root.is-opened .tv-spot{opacity:0}

/* ---------------- Cartões depois de aberto ---------------- */
.tv-plate-in{box-shadow:0 2px 3px rgba(0,0,0,.35),0 18px 34px -12px rgba(0,0,0,.7)}
.tv-plate:nth-child(even) .tv-plate-in{background-color:var(--tv-paper2)}
.tv-plate:nth-child(even) .tv-plate-bg{background-color:transparent}

