/*
 * Motor Claude — tema Vestido dos Sonhos.
 * Capa: o ateliê fora de foco (cortinas de cetim, luz de palco) e, sob a luz,
 * o vestido de baile girando no próprio eixo (canvas, sonhos.js: 36 quadros
 * de uma volta inteira, misturados dois a dois). Abertura: o vestido dá duas
 * voltas rápidas e lantejoulas voam da saia. Convite: o vestido de novo no
 * alto e cartões de papel marfim, cada um com uma rosa de cetim da cor do
 * vestido presa no alto.
 * Cores da paleta pelo sistema (--c-*): bg, ink, ink-soft, name, accent-text,
 * button-bg, button-ink. Artes por paleta via [data-vs-set]. Escopo: .vs-*.
 */
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400 900;font-display:swap;src:url("../fonts/bodoni-moda-latin-var-italic.woff2") format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 900;font-display:swap;src:url("../fonts/bodoni-moda-latin-var-normal.woff2") format("woff2")}
@font-face{font-family:"Bonheur Royale";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/bonheur-royale-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Italiana";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/italiana-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/jost-latin-var-normal.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/jost-latin-var-italic.woff2") format("woff2")}

body.sg-engine-claude_v1{background:var(--c-bg,#FBEFF3)!important;background-image:none!important;color:var(--c-ink,#3A1F2B)}
body.sg-engine-claude_v1::before,body.sg-engine-claude_v1::after{display:none!important}
body.sg-engine-claude_v1 .pagina-convite{max-width:none;margin:0 auto!important;background:transparent!important;min-height:100svh;overflow:clip}
body.sg-engine-claude_v1 .convite{overflow:visible!important;background:transparent!important}

.vs-root{
  --vs-bg:var(--c-bg,#FBEFF3);--vs-ink:var(--c-ink,#3A1F2B);--vs-muted:var(--c-ink-soft,#694856);--vs-name-ink:var(--c-name,#4A1730);
  --vs-accent:var(--c-accent-text,#962D57);--vs-btn:var(--c-button-bg,#A83563);--vs-btn-ink:var(--c-button-ink,#FFFFFF);
  --vs-paper:#FFFCF8;--vs-paper-ink:#2B2228;--vs-paper-muted:#5E5158;--vs-paper-accent:var(--vs-accent);
  --vs-halo:0 0 2px rgba(255,255,255,.9),0 0 20px rgba(255,255,255,.85),0 0 44px rgba(255,255,255,.6);
  --vs-halo-sm:0 0 10px rgba(255,255,255,.9),0 0 22px rgba(255,255,255,.7);
  --vs-card:rgba(255,255,255,.76);--vs-card-line:color-mix(in srgb,var(--vs-accent) 40%,transparent);--vs-shadow:color-mix(in srgb,var(--vs-name-ink) 34%,transparent);
  --vs-light:rgba(255,255,255,.9);
  --vs-sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  --vs-name:"Bodoni Moda",Didot,Georgia,serif;--vs-name-style:italic;--vs-name-weight:500;--vs-name-track:-.01em;
  --vs-display:"Bodoni Moda",Didot,Georgia,serif;--vs-display-style:italic;
  --vs-cover-size:clamp(50px,14.5vw,124px);--vs-sheet-size:clamp(46px,13.5vw,98px);
  --vs-ease:cubic-bezier(.22,1,.36,1);
  --vs-dw:min(96vw,54svh,600px);
  position:relative;isolation:isolate;overflow-x:clip;color:var(--vs-ink);font-family:var(--vs-sans);-webkit-font-smoothing:antialiased}
/* Cores de cada paleta (as mesmas do theme.json; o teste confere). */
.vs-root[data-vs-set="rosa"]{--vs-bg:#FBEFF3;--vs-ink:#3A1F2B;--vs-muted:#694856;--vs-name-ink:#4A1730;--vs-accent:#962D57;--vs-btn:#A83563;--vs-btn-ink:#FFFFFF}
.vs-root[data-vs-set="lilas"]{--vs-bg:#F1EBFA;--vs-ink:#2C2140;--vs-muted:#584A6E;--vs-name-ink:#34195A;--vs-accent:#673DA4;--vs-btn:#6E44B0;--vs-btn-ink:#FFFFFF}
.vs-root[data-vs-set="azul"]{--vs-bg:#EAF1FB;--vs-ink:#1C2A44;--vs-muted:#455572;--vs-name-ink:#172C57;--vs-accent:#2D5799;--vs-btn:#2F5CA6;--vs-btn-ink:#FFFFFF}
.vs-root[data-vs-set="verde"]{--vs-bg:#E8F6F3;--vs-ink:#163532;--vs-muted:#3C5D59;--vs-name-ink:#0F3E3A;--vs-accent:#1C6961;--vs-btn:#1E7067;--vs-btn-ink:#FFFFFF}
.vs-root[data-vs-set="amarelo"]{--vs-bg:#FBF5E4;--vs-ink:#3A2C12;--vs-muted:#625437;--vs-name-ink:#4A320A;--vs-accent:#7E5610;--vs-btn:#87600F;--vs-btn-ink:#FFFFFF}
.vs-root[data-vs-set="pessego"]{--vs-bg:#FCF0EA;--vs-ink:#3D2219;--vs-muted:#68483D;--vs-name-ink:#5A2414;--vs-accent:#9C4426;--vs-btn:#A64B2A;--vs-btn-ink:#FFFFFF}
.vs-root[data-vs-set="vermelho"]{--vs-bg:#FBEDEE;--vs-ink:#3A1418;--vs-muted:#673F44;--vs-name-ink:#5E0A16;--vs-accent:#9E1729;--vs-btn:#A3172B;--vs-btn-ink:#FFFFFF}
.vs-root[data-vs-set="perola"]{--vs-bg:#1C2030;--vs-ink:#F3F0EA;--vs-muted:#C9C6D2;--vs-name-ink:#FFFBF2;--vs-accent:#EADFBB;--vs-btn:#EDE6D3;--vs-btn-ink:#1C2030}
/* Pérola: o ateliê à noite. Halo escuro atrás do texto, cartões continuam marfim (com o destaque em dourado escuro). */
.vs-root[data-vs-set="perola"]{
  --vs-halo:0 0 2px rgba(10,12,22,.85),0 0 20px rgba(10,12,22,.8),0 0 44px rgba(10,12,22,.55);--vs-halo-sm:0 0 10px rgba(10,12,22,.85),0 0 22px rgba(10,12,22,.6);
  --vs-card:rgba(30,34,52,.74);--vs-card-line:rgba(234,223,187,.45);--vs-shadow:rgba(0,0,0,.55);--vs-paper-accent:#6B5A2A;--vs-light:rgba(190,196,230,.5)}
.vs-root[data-vs-font="caligrafia"]{--vs-name:"Bonheur Royale",cursive;--vs-name-style:normal;--vs-name-weight:400;--vs-name-track:0;--vs-cover-size:clamp(52px,15.5vw,138px);--vs-sheet-size:clamp(50px,15vw,112px)}
.vs-root[data-vs-font="moderna"]{--vs-name:"Italiana",Didot,Georgia,serif;--vs-name-style:normal;--vs-name-weight:400;--vs-name-track:.02em;--vs-display:"Italiana",Didot,Georgia,serif;--vs-display-style:normal;--vs-cover-size:clamp(50px,15vw,128px);--vs-sheet-size:clamp(46px,14vw,100px)}
body.sg-engine-claude_v1 .vs-root [hidden]{display:none!important}
.vs-root :is(p,h1,h2){margin:0}
.vs-root img{-webkit-user-drag:none;user-select:none;max-width:none}

/* ================= Ateliê ao fundo ================= */
.vs-atmos{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--vs-bg)}
.vs-bg,.vs-bg-soft{position:absolute;left:50%;top:50%;width:max(100vw,100vh);height:max(100vw,100vh);width:max(100vw,100lvh);height:max(100vw,100lvh);object-fit:cover;transform:translate(-50%,-50%)}
.vs-bg-soft{opacity:0;transition:opacity 1.4s ease .3s}
.vs-root.is-closed .vs-bg{animation:vs-arrive 9s cubic-bezier(.2,.7,.2,1) both}
@keyframes vs-arrive{from{transform:translate(-50%,-50%) scale(1.08)}to{transform:translate(-50%,-50%) scale(1)}}
.vs-root:is(.vs-opening,.vs-opened) .vs-bg-soft{opacity:1}
.vs-root.vs-opened .vs-bg{visibility:hidden}
/* luz do ateliê que acende na abertura */
.vs-glow{position:absolute;inset:-20%;opacity:0;background:radial-gradient(55% 45% at 50% 34%,var(--vs-light),rgba(255,255,255,0) 70%)}
.vs-root.vs-opening .vs-glow{animation:vs-glow 2.4s ease-out forwards}
@keyframes vs-glow{0%{opacity:0;transform:scale(.6)}35%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
.vs-air{position:fixed;inset:0;z-index:0;width:100vw;height:100vh;height:100lvh;pointer-events:none}
/* Na capa as lantejoulas passam por trás do vestido, do nome e do cartão. */
.vs-root:is(.is-closed,.vs-opening) .vs-air{z-index:29}

/* ================= O vestido ================= */
.vs-dress{position:relative;aspect-ratio:1;pointer-events:none;touch-action:pan-y}
.vs-dress-still,.vs-dress-cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.vs-dress.is-live .vs-dress-still{opacity:0}
.vs-dress-cv{filter:drop-shadow(0 18px 22px var(--vs-shadow))}
.vs-dress-still{filter:drop-shadow(0 18px 22px var(--vs-shadow))}
/* poça de luz no chão, sob a barra */
.vs-pool{position:absolute;left:12%;right:12%;top:80%;height:15%;border-radius:50%;background:radial-gradient(closest-side,var(--vs-light),rgba(255,255,255,0));opacity:.85}
.vs-root[data-vs-set="perola"] .vs-pool{opacity:.6}

/* ================= Capa ================= */
body.sg-engine-claude_v1.sg-engine-claude_v1 .vs-root .capa.vs-cover{position:fixed!important;inset:0!important;z-index:30;display:block!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;overflow:hidden;background:none!important;border:0!important;box-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .vs-root .capa.vs-cover[hidden]{display:none!important}
/* luz de palco caindo sobre o vestido */
.vs-beam{position:absolute;left:50%;top:-6svh;width:calc(var(--vs-dw) * 1.1);height:calc(max(3svh,14px) + var(--vs-dw) * .95 + 6svh);translate:-50% 0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.12) 70%,rgba(255,255,255,0));clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);opacity:.75;filter:blur(14px)}
.vs-root[data-vs-set="perola"] .vs-beam{background:linear-gradient(180deg,rgba(200,206,240,.32),rgba(200,206,240,.08) 70%,rgba(200,206,240,0))}
.vs-root.is-closed .vs-beam{animation:vs-beam 1.8s ease .1s both}
@keyframes vs-beam{from{opacity:0;transform:scaleX(.4)}to{opacity:.75;transform:none}}
.vs-root.vs-opening .vs-beam{animation:vs-fade-out .9s ease 1.2s forwards}
.vs-dress--cover{position:absolute;left:50%;top:calc(max(3svh,14px) - var(--vs-dw) * .07);z-index:2;width:var(--vs-dw);translate:-50% 0;pointer-events:auto;cursor:grab}
.vs-dress--cover:active{cursor:grabbing}
.vs-root.is-closed .vs-dress--cover{animation:vs-dress-in 2.2s var(--vs-ease) .2s both}
@keyframes vs-dress-in{from{opacity:0;transform:translateY(-22px) scale(.9);filter:brightness(1.6) blur(10px)}55%{filter:brightness(1.15) blur(0)}to{opacity:1;transform:none;filter:none}}
.vs-root.vs-opening .vs-dress--cover{animation:vs-dress-out 1.9s cubic-bezier(.5,0,.3,1) forwards}
@keyframes vs-dress-out{0%{transform:none}55%{opacity:1;transform:translateY(-2%) scale(1.04)}100%{opacity:0;transform:translateY(-8%) scale(1.1);filter:brightness(1.4) blur(6px)}}

/* Nome: logo abaixo da barra do vestido, nada passa por cima dele. */
.vs-cover-title{position:absolute;left:0;right:0;top:calc(max(3svh,14px) + var(--vs-dw) * .87);z-index:3;display:flex;flex-direction:column;align-items:center;padding:0 16px;text-align:center;pointer-events:none}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-cover-eyebrow{margin:0 0 8px!important;font:600 11.5px/1.4 var(--vs-sans)!important;letter-spacing:.34em!important;padding-left:.34em!important;text-transform:uppercase!important;color:var(--vs-muted)!important;text-shadow:var(--vs-halo-sm)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-cover-name{display:inline-block;max-width:calc(100vw - 36px);margin:0!important;padding:.04em .2em .12em!important;white-space:nowrap;font-family:var(--vs-name)!important;font-style:var(--vs-name-style)!important;font-weight:var(--vs-name-weight)!important;font-size:var(--vs-cover-size)!important;line-height:1.04!important;letter-spacing:var(--vs-name-track)!important;color:var(--vs-name-ink)!important;-webkit-text-fill-color:currentColor!important;background:none!important;text-shadow:var(--vs-halo)!important}
.vs-root[data-vs-font="caligrafia"] .vs-cover-name{padding-top:.18em!important}
.vs-root.is-closed .vs-cover-eyebrow{animation:vs-fade 1.3s ease 1s both}
.vs-root.is-closed .vs-cover-name{animation:vs-name-in 1.9s cubic-bezier(.3,0,.2,1) 1.15s both}
@keyframes vs-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes vs-name-in{from{opacity:0;letter-spacing:.18em;filter:blur(8px)}60%{filter:blur(0)}to{opacity:1;filter:none}}
@keyframes vs-fade-out{to{opacity:0}}
.vs-root.vs-opening .vs-cover-title{animation:vs-title-out .7s cubic-bezier(.4,0,.2,1) forwards}
@keyframes vs-title-out{to{opacity:0;filter:blur(10px);transform:scale(1.06)}}

/* Cartão do botão: vidro claro com filete na cor do vestido. */
.vs-card{position:absolute;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + max(3.5svh,18px));z-index:3;box-sizing:border-box;width:min(calc(100vw - 40px),360px);padding:16px 18px 18px;border-radius:26px;text-align:center;transform:translateX(-50%);
  background:var(--vs-card);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);
  box-shadow:inset 0 0 0 1px var(--vs-card-line),0 24px 44px -26px var(--vs-shadow)}
.vs-root.is-closed .vs-card{animation:vs-card-in 1.4s cubic-bezier(.16,1.2,.3,1) 1.6s both}
@keyframes vs-card-in{from{opacity:0;transform:translate(-50%,46px) scale(.94)}to{opacity:1;transform:translate(-50%,0)}}
.vs-root.vs-opening .vs-card{animation:vs-card-out .7s cubic-bezier(.4,0,.2,1) forwards}
@keyframes vs-card-out{to{opacity:0;transform:translate(-50%,24px) scale(.96);filter:blur(6px)}}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-card-when{margin:2px 0 12px!important;font:550 14.5px/1.45 var(--vs-sans)!important;letter-spacing:.01em!important;color:var(--vs-ink)!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-greet{margin:0 0 12px!important;padding:0!important;background:none!important;border:0!important;font:var(--vs-display-style) 400 22px/1.3 var(--vs-display)!important;color:var(--vs-ink)!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-card .capa__convidado{display:flex;flex-direction:column;align-items:center;gap:2px}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-card .capa__convidado small{font:600 10px/1.4 var(--vs-sans)!important;letter-spacing:.26em!important;padding-left:.26em;text-transform:uppercase!important;color:var(--vs-muted)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-card .capa__convidado strong{font:var(--vs-display-style) 400 22px/1.3 var(--vs-display)!important;color:var(--vs-ink)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite a.botao.vs-open{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:58px;margin:0;padding:14px 24px!important;border:0!important;border-radius:999px!important;overflow:hidden;
  background:linear-gradient(180deg,color-mix(in srgb,var(--vs-btn) 84%,#fff),var(--vs-btn) 55%,color-mix(in srgb,var(--vs-btn) 84%,#000))!important;background-color:var(--vs-btn)!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.5),inset 0 -2px 4px rgba(0,0,0,.14),0 14px 28px -14px var(--vs-shadow)!important;
  text-decoration:none!important;text-shadow:none!important;filter:none!important;-webkit-tap-highlight-color:transparent;transition:transform .5s cubic-bezier(.2,1.4,.3,1)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite a.botao.vs-open span{position:relative;z-index:1;font:600 16.5px/1.2 var(--vs-sans)!important;letter-spacing:.04em!important;text-transform:none!important;color:var(--vs-btn-ink)!important}
/* brilho que passa pelo botão de tempos em tempos */
body.sg-engine-claude_v1.sg-engine-claude_v1 .vs-root a.botao.vs-open::before{content:""!important;display:block!important;position:absolute;inset:0;border-radius:inherit;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 48%,transparent 62%);transform:translateX(-120%);animation:vs-shine 4.4s ease-in-out 3.2s infinite}
body.sg-engine-claude_v1.sg-engine-claude_v1 .vs-root a.botao.vs-open::after{content:none!important;display:none!important}
@keyframes vs-shine{0%,62%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.vs-open:active{transform:scale(.97)}

/* ================= Convite aberto ================= */
.vs-app{position:relative;z-index:1;box-sizing:border-box;width:100%;padding:0 0 calc(env(safe-area-inset-bottom,0px) + 28px)}
.vs-root.is-closed:not(.vs-opening) .vs-app{opacity:0;pointer-events:none}
.vs-front{position:relative;display:flex;flex-direction:column;align-items:center;padding:max(3svh,16px) 16px 8px;text-align:center}
.vs-dress--sheet{width:min(78vw,42svh,440px);margin-bottom:-4%}
.vs-dress:is(.vs-dress--sheet,.vs-dress--end){pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-eyebrow{margin:6px 0 0!important;font:600 11.5px/1.4 var(--vs-sans)!important;letter-spacing:.34em!important;padding-left:.34em!important;text-transform:uppercase!important;color:var(--vs-muted)!important;text-shadow:var(--vs-halo-sm)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-name{display:inline-block!important;max-width:calc(100vw - 24px);margin:6px 0 0!important;padding:.04em .2em .12em!important;white-space:nowrap;font-family:var(--vs-name)!important;font-style:var(--vs-name-style)!important;font-weight:var(--vs-name-weight)!important;font-size:var(--vs-sheet-size)!important;line-height:1.05!important;letter-spacing:var(--vs-name-track)!important;text-transform:none!important;color:var(--vs-name-ink)!important;-webkit-text-fill-color:currentColor!important;background:none!important;text-shadow:var(--vs-halo)!important;outline:0}
.vs-root[data-vs-font="caligrafia"] .vs-name{padding-top:.18em!important}
.vs-when{display:flex;flex-direction:column;align-items:center;gap:2px;margin:20px 0 0!important}
.vs-wd,.vs-time{font:600 11.5px/1.8 var(--vs-sans);letter-spacing:.28em;padding-left:.28em;text-transform:uppercase;color:var(--vs-muted);text-shadow:var(--vs-halo-sm)}
.vs-date{font:var(--vs-display-style) 400 28px/1.25 var(--vs-display);color:var(--vs-ink);text-shadow:var(--vs-halo-sm)}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-venue{margin:10px 0 0!important;font:var(--vs-display-style) 400 22px/1.35 var(--vs-display)!important;color:var(--vs-ink)!important;text-shadow:var(--vs-halo-sm)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-intro{max-width:20em;margin:22px auto 0!important;padding:0!important;font:var(--vs-display-style) 400 22px/1.45 var(--vs-display)!important;text-align:center;color:var(--vs-ink)!important;text-shadow:var(--vs-halo-sm)!important}
/* Ao abrir: o alto do convite sobe em cascata. */
.vs-root.vs-opening .vs-front > :not(.vs-dress){animation:vs-rise 1.3s var(--vs-ease) both;animation-delay:calc(1.25s + var(--q,0) * .09s)}
.vs-root.vs-opening .vs-dress--sheet{animation:vs-sheet-dress 1.4s var(--vs-ease) .9s both}
@keyframes vs-sheet-dress{from{opacity:0;transform:scale(.85);filter:brightness(1.5) blur(8px)}to{opacity:1;transform:none;filter:none}}
.vs-front > :nth-child(2){--q:1}.vs-front > :nth-child(3){--q:2}.vs-front > :nth-child(4){--q:3}.vs-front > :nth-child(5){--q:4}.vs-front > :nth-child(6){--q:5}
.vs-root.vs-opening :is(.vs-count,.vs-part){animation:vs-rise 1.2s var(--vs-ease) 1.4s both}
@keyframes vs-rise{from{opacity:0;filter:blur(8px);transform:translateY(18px)}to{opacity:1;filter:blur(0);transform:none}}

/* Contagem: pastilhas de papel marfim; o título é o que a cliente deu à contagem. */
.vs-count{margin:30px auto 0;padding:0 16px;text-align:center}
body.sg-engine-claude_v1 .vs-count .secao{padding:0!important;margin:0!important;border:0!important;background:none!important;opacity:1!important;transform:none!important;min-height:0!important}
body.sg-engine-claude_v1 .vs-count .secao__interno{width:auto!important;max-width:none!important;padding:0!important}
body.sg-engine-claude_v1 .vs-count :is(.divisor,.cantoneiras){display:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-count .titulo-secao{display:block!important;margin:0 0 12px!important;padding:0 0 0 .34em!important;border:0!important;background:none!important;font:600 11px/1.4 var(--vs-sans)!important;letter-spacing:.34em!important;text-transform:uppercase!important;text-align:center!important;color:var(--vs-muted)!important;-webkit-text-fill-color:currentColor!important;text-shadow:var(--vs-halo-sm)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-count .titulo-secao::before,body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-count .titulo-secao::after{content:none!important;display:none!important}
body.sg-engine-claude_v1 .vs-count .contagem{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px!important;margin:0!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-count .contagem__item:not([hidden]){flex:0 1 74px;width:auto!important;max-width:84px!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-count .contagem__item{min-width:0!important;padding:13px 4px 11px!important;border:0!important;border-radius:16px!important;background:var(--vs-paper)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vs-paper-accent) 45%,transparent),inset 0 0 0 4px var(--vs-paper),inset 0 0 0 5px color-mix(in srgb,var(--vs-paper-accent) 22%,transparent),0 14px 26px -18px var(--vs-shadow)!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-count .contagem__numero{display:block;font-family:var(--vs-display)!important;font-style:normal!important;font-size:36px!important;font-weight:400!important;line-height:1.05!important;font-variant-numeric:tabular-nums;color:var(--vs-paper-ink)!important;-webkit-text-fill-color:currentColor!important;background:none!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-count .contagem__rotulo{display:block!important;opacity:1!important;visibility:visible!important;position:static!important;margin-top:4px;font:600 10px/1.3 var(--vs-sans)!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--vs-paper-muted)!important;text-shadow:none!important}
body.sg-engine-claude_v1 .vs-count .contagem__realizada{grid-column:1/-1;font-family:var(--vs-display)!important;font-size:24px!important;color:var(--vs-ink)!important}

/* ================= Cartões de papel marfim com a rosa de cetim ================= */
.vs-part{position:relative;box-sizing:border-box;width:min(calc(100% - 32px),620px);margin:64px auto 0;scroll-margin-top:24px}
.vs-paper{position:relative;box-sizing:border-box;padding:50px 22px 26px;border-radius:20px;background:var(--vs-paper);color:var(--vs-paper-ink);
  background-image:radial-gradient(120% 60% at 50% 0,rgba(255,255,255,.7),rgba(255,255,255,0) 60%),linear-gradient(180deg,color-mix(in srgb,var(--vs-btn) 5%,transparent),transparent 40%);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--vs-paper-accent) 45%,transparent),inset 0 0 0 6px var(--vs-paper),inset 0 0 0 7px color-mix(in srgb,var(--vs-paper-accent) 24%,transparent),0 28px 46px -30px var(--vs-shadow),0 2px 6px rgba(40,20,40,.06);
  --clm-paper:var(--vs-paper);--clm-ink:var(--vs-paper-ink);--clm-muted:var(--vs-paper-muted);--clm-line:rgba(60,30,50,.14);--clm-accent:var(--vs-paper-accent);
  --clm-display:var(--vs-display);--clm-sans:var(--vs-sans);--c-primary-ink:#FFFFFF;--c-primary-text-surface:var(--vs-paper-accent)}
.vs-pin{position:absolute;z-index:2;left:50%;top:-34px;width:78px;height:auto;translate:-50% 0;pointer-events:none;filter:drop-shadow(0 8px 10px var(--vs-shadow))}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-part-title{display:block;margin:0 0 10px!important;padding:0 18px!important;font-family:var(--vs-display)!important;font-style:var(--vs-display-style)!important;font-size:clamp(30px,8.6vw,40px)!important;font-weight:400!important;line-height:1.12!important;letter-spacing:0!important;text-transform:none!important;text-align:center!important;text-wrap:balance;color:var(--vs-paper-ink)!important;-webkit-text-fill-color:currentColor!important;background:none!important;text-shadow:none!important}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-modules--same-title > .secao:first-child .titulo-secao,
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-part--vip .vs-modules #confirmar .titulo-secao{display:none!important}
.vs-paper .vs-modules{margin-top:4px}
/* Cartão que chega na tela: sobe e assenta; a rosa entra girando como quem prende um broche. */
.vs-root.vs-js.vs-opened .vs-part:not(.is-in) :is(.vs-paper,.vs-pin){opacity:0}
.vs-part.is-in .vs-paper{animation:vs-land 1.1s cubic-bezier(.2,.85,.25,1) both}
.vs-part.is-in .vs-pin{animation:vs-pin .95s cubic-bezier(.2,1.5,.35,1) .3s both}
@keyframes vs-land{from{opacity:0;transform:translateY(46px) scale(.97)}60%{opacity:1;transform:translateY(-3px)}to{opacity:1;transform:none}}
@keyframes vs-pin{from{opacity:0;scale:.2;rotate:-140deg}to{opacity:1;scale:1;rotate:0deg}}

/* ================= Fim: o vestido e "Voltar ao início" ================= */
.vs-close{position:relative;display:flex;flex-direction:column;align-items:center;padding:44px 0 0;text-align:center}
.vs-dress--end{width:min(64vw,36svh,360px);margin-bottom:-2%}
body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite a.vs-top{position:relative;z-index:3;display:inline-flex;align-items:center;min-height:44px;margin:0;padding:8px 24px;border-radius:999px;font:600 13.5px/1.3 var(--vs-sans);letter-spacing:.03em;color:var(--vs-ink)!important;text-decoration:none!important;background:var(--vs-card);box-shadow:inset 0 0 0 1px var(--vs-card-line),0 12px 24px -16px var(--vs-shadow)}

/* ================= Telas largas ================= */
@media (orientation:landscape) and (min-width:760px){
  .vs-root{--vs-dw:min(68svh,46vw,680px)}
  .vs-dress--cover{top:calc(1svh - var(--vs-dw) * .08)}
  .vs-cover-title{top:calc(1svh + var(--vs-dw) * .87)}
  .vs-beam{height:calc(2svh + var(--vs-dw) * .95 + 6svh)}
  body.sg-engine-claude_v1.sg-engine-claude_v1 .pagina-convite .vs-cover-name{font-size:clamp(56px,min(8vw,11svh),130px)!important}
  /* o cartão vai para o lado direito, longe do vestido e do nome */
  .vs-card{left:auto;right:max(4vw,24px);bottom:max(6svh,28px);transform:none}
  .vs-root.is-closed .vs-card{animation-name:vs-card-in-side}
  .vs-root.vs-opening .vs-card{animation-name:vs-card-out-side}
  .vs-part{width:min(calc(100% - 64px),640px)}
  .vs-paper{padding:54px 40px 32px}
}
@keyframes vs-card-in-side{from{opacity:0;transform:translateY(46px) scale(.94)}to{opacity:1;transform:none}}
@keyframes vs-card-out-side{to{opacity:0;transform:translateY(24px) scale(.96);filter:blur(6px)}}
@media (orientation:landscape) and (min-width:760px) and (max-width:1100px){
  .vs-card{right:max(3vw,16px);width:min(34vw,330px)}
}
@media (orientation:portrait) and (min-width:700px){
  .vs-root{--vs-dw:min(80vw,48svh,640px)}
}

/* Movimento reduzido: tudo parado, o vestido de frente. */
@media (prefers-reduced-motion:reduce){
  .vs-root *,.vs-root *::before{animation:none!important;transition:none!important}
  .vs-root .vs-part :is(.vs-paper,.vs-pin){opacity:1!important}
}

/* Impressão / PDF: só o convite, em papel branco. */
@media print{
  .vs-root :is(.vs-air,.vs-cover,.vs-atmos,.vs-pin,.vs-dress--end,.vs-pool,.vs-dress-cv){display:none!important}
  .vs-root .vs-dress-still{opacity:1!important}
  .vs-root .vs-app{opacity:1!important}
  .vs-root .vs-part .vs-paper{opacity:1!important;animation:none!important;break-inside:avoid;box-shadow:0 0 0 1px rgba(0,0,0,.18)!important;background:#fff!important}
  body.sg-engine-claude_v1{--c-ink:#1B1B1B;--c-ink-soft:#444;--c-name:#111}
  .vs-root{--vs-halo:none;--vs-halo-sm:none}
}

/* Miniatura da capa e prévia de seção */
.vs-root--cover-only .vs-app{display:none}
.vs-root--cover-only :is(.vs-dress,.vs-beam,.vs-cover-title,.vs-cover-title > *,.vs-card,.vs-bg){animation:none!important;opacity:1}
.vs-root--section{padding:18px 16px;background:var(--c-bg,#FBEFF3)}
.vs-root--section .vs-paper{--vs-paper:#FFFCF8;padding:22px 18px}
.vs-root--section .vs-modules{--c-bg:#FFFCF8;--c-surface:#FFFCF8;--c-ink:#2B2228;--c-ink-soft:#5E5158;--c-line:rgba(60,30,50,.14);--c-primary:#962D57;--c-button-bg:#962D57;--c-button-ink:#fff;color:#2B2228;font-family:var(--vs-sans)}
