/* =====================================================================
   Capítulo 15 — folha de estilo do convite
   ---------------------------------------------------------------------
   A estrutura (molduras, divisores, botões e cartões) é desenhada aqui.
   O tema fornece tokens e, quando disponível, uma cantoneira própria.
   As texturas são sempre geradas em CSS para não criar emendas ou blocos.

   Mobile-first: o layout base é o do celular; telas maiores recebem
   ajustes nas media queries ao final.
   ===================================================================== */

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto; }

body {
  margin: 0;
  min-height: 0;
  font-family: var(--font-body, system-ui, sans-serif);
  font-weight: var(--body-weight, 400);
  font-size: var(--body-size, clamp(1rem, 0.97rem + 0.2vw, 1.075rem));
  line-height: var(--body-line-height, 1.75);
  letter-spacing: var(--body-tracking, 0em);
  color: var(--c-ink);
  background-color: var(--c-bg);
  background-image:
    radial-gradient(120% 80% at 50% 0%,
      color-mix(in srgb, var(--c-surface) 55%, transparent) 0%, transparent 60%),
    linear-gradient(var(--bg-gradient-angle, 180deg), var(--c-bg) 0%,
      color-mix(in srgb, var(--c-bg-deep) var(--bg-gradient-strength, 100%), var(--c-bg)) 100%);
  background-attachment: var(--bg-attachment, fixed);
  overflow-x:hidden;
  overscroll-behavior-y:auto;
  overflow-y:auto;
  display:block;
  width:100%;
}


/* Base visual do fundo. `gradient` é o contrato legado. */
body.fundo-base-solid { background-image: none; }
body.fundo-base-gradient {
  background-image:
    radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--c-surface) 55%, transparent) 0%, transparent 60%),
    linear-gradient(var(--bg-gradient-angle, 180deg), var(--c-bg) 0%, color-mix(in srgb, var(--c-bg-deep) var(--bg-gradient-strength, 100%), var(--c-bg)) 100%);
}
body.fundo-base-image:not(.tema-com-fundo-imagem) {
  background-image:
    radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--c-surface) 55%, transparent) 0%, transparent 60%),
    linear-gradient(var(--bg-gradient-angle, 180deg), var(--c-bg) 0%, color-mix(in srgb, var(--c-bg-deep) var(--bg-gradient-strength, 100%), var(--c-bg)) 100%);
}
body.fundo-base-image.tema-com-fundo-imagem {
  background-image:
    linear-gradient(color-mix(in srgb, var(--c-bg) var(--bg-image-wash, 18%), transparent), color-mix(in srgb, var(--c-bg) var(--bg-image-wash, 18%), transparent)),
    var(--theme-background-image);
  background-size: auto, var(--bg-image-size, cover);
  background-position: center, center var(--bg-image-position, center);
  background-repeat: no-repeat, no-repeat;
}
body.fundo-base-image.tema-com-fundo-imagem.fundo-imagem-tile {
  background-size: auto, var(--bg-image-size, 720px);
  background-position: center, left top;
  background-repeat: no-repeat, repeat;
}

img { max-width: 100%; height: auto; display: block; }
a { color:var(--c-primary);text-decoration:none; }
a,button,input,select,textarea,label { touch-action:manipulation; }
a:hover { text-decoration: underline; }

/* ---------------------------------------------------------------------
   Textura do fundo — gerada, não carregada
   ------------------------------------------------------------------ */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: var(--texture-opacity, 0.2);
  background-repeat: repeat;
}
.textura-nenhuma::before { display: none; }

/* Vinheta independente da textura; 0 preserva todos os temas históricos. */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: var(--bg-vignette-opacity, 0);
  background: radial-gradient(ellipse at center, transparent 48%, color-mix(in srgb, var(--c-ink) 42%, transparent) 100%);
}

.textura-linho::before {
  background-image:
    repeating-linear-gradient(0deg, color-mix(in srgb, var(--c-ink) 22%, transparent) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(90deg, color-mix(in srgb, var(--c-ink) 16%, transparent) 0 1px, transparent 1px 6px);
  background-size: 6px 6px, 7px 7px;
}
.textura-papel::before {
  background-image:
    radial-gradient(circle, color-mix(in srgb, var(--c-ink) 25%, transparent) 0 .55px, transparent .75px),
    radial-gradient(circle, color-mix(in srgb, var(--c-metal) 24%, transparent) 0 .45px, transparent .7px);
  background-size: 11px 13px, 17px 19px;
  background-position: 0 0, 5px 7px;
}
.textura-algodao::before {
  background-image:
    repeating-linear-gradient(32deg, color-mix(in srgb, var(--c-ink) 14%, transparent) 0 1px, transparent 1px 7px),
    repeating-linear-gradient(122deg, color-mix(in srgb, var(--c-surface) 60%, transparent) 0 2px, transparent 2px 9px);
  background-size: 9px 9px, 13px 13px;
}
.textura-aquarela::before {
  background-image:
    radial-gradient(ellipse at 18% 22%, color-mix(in srgb, var(--c-primary) 16%, transparent) 0 14%, transparent 42%),
    radial-gradient(ellipse at 78% 68%, color-mix(in srgb, var(--c-secondary, var(--c-primary)) 14%, transparent) 0 12%, transparent 40%),
    radial-gradient(ellipse at 46% 92%, color-mix(in srgb, var(--c-metal) 10%, transparent) 0 10%, transparent 36%);
  background-size: 260px 230px, 310px 270px, 290px 250px;
  background-position: 0 0, 95px 42px, 28px 110px;
}
.textura-moire::before {
  background-image:
    repeating-radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--c-metal) 45%, transparent) 0 1px, transparent 1px 9px),
    repeating-radial-gradient(circle at 75% 80%, color-mix(in srgb, var(--c-metal) 35%, transparent) 0 1px, transparent 1px 11px);
}
.textura-seda::before {
  background-image:
    repeating-linear-gradient(88deg, color-mix(in srgb, var(--c-surface) 58%, transparent) 0 1px, transparent 1px 5px),
    linear-gradient(105deg, transparent 0 35%, color-mix(in srgb, var(--c-metal) 14%, transparent) 48%, transparent 62% 100%);
  background-size: 6px 100%, 90px 100%;
}
.textura-perolado::before {
  background-image:
    radial-gradient(circle, color-mix(in srgb, #fff 78%, transparent) 0 1.4px, transparent 2px),
    radial-gradient(circle, color-mix(in srgb, var(--c-metal) 24%, transparent) 0 .7px, transparent 1.4px);
  background-size: 18px 18px, 29px 29px;
  background-position: 0 0, 8px 11px;
}
.textura-pontilhado::before {
  background-image: radial-gradient(circle, color-mix(in srgb, var(--c-ink) 34%, transparent) 0 .7px, transparent .9px);
  background-size: 8px 8px;
}
.textura-granulado::before {
  background-image:
    radial-gradient(circle, color-mix(in srgb, var(--c-ink) 22%, transparent) 0 .45px, transparent .7px),
    radial-gradient(circle, color-mix(in srgb, var(--c-primary) 18%, transparent) 0 .5px, transparent .75px),
    radial-gradient(circle, color-mix(in srgb, var(--c-metal) 18%, transparent) 0 .4px, transparent .7px);
  background-size: 7px 9px, 11px 13px, 17px 15px;
  background-position: 0 0, 3px 5px, 8px 2px;
}
.textura-ceu-papel::before {
  background-image:
    radial-gradient(circle, color-mix(in srgb, var(--c-metal) 60%, transparent) 0 .8px, transparent 1px),
    radial-gradient(circle, color-mix(in srgb, var(--c-surface) 58%, transparent) 0 .6px, transparent .9px);
  background-size: 23px 27px, 37px 41px;
  background-position: 0 0, 11px 17px;
}
.textura-arabesco::before {
  background-image:
    radial-gradient(ellipse at 100% 0%, transparent 0 62%, color-mix(in srgb, var(--c-metal) 34%, transparent) 63% 64%, transparent 65%),
    radial-gradient(ellipse at 0 100%, transparent 0 62%, color-mix(in srgb, var(--c-metal) 24%, transparent) 63% 64%, transparent 65%);
  background-size: 48px 48px;
}

/* ---------------------------------------------------------------------
   Cantoneiras
   Uma única peça, espelhada por CSS nos quatro cantos.
   ------------------------------------------------------------------ */
.cantoneiras {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}
.cantoneira {
  position: absolute;
  width: var(--corner-size, 140px);
  height: var(--corner-size, 140px);
  color: var(--c-metal);
  opacity: var(--corner-opacity, 0.55);
}
.cantoneira svg { width: 100%; height: 100%; display: block; }
.tema-com-cantoneira .cantoneira {
  background-image: var(--theme-corner-image);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: contain;
}
.tema-com-cantoneira .cantoneira svg { display: none; }

.cantoneira--tl { top: var(--corner-inset-y, 10px); left: var(--corner-inset-x, 10px); transform: rotate(var(--corner-rotation, 0deg)); }
.cantoneira--tr { top: var(--corner-inset-y, 10px); right: var(--corner-inset-x, 10px); transform: scaleX(-1) rotate(var(--corner-rotation, 0deg)); }
.cantoneira--bl { bottom: var(--corner-inset-y, 10px); left: var(--corner-inset-x, 10px); transform: scaleY(-1) rotate(var(--corner-rotation, 0deg)); }
.cantoneira--br { bottom: var(--corner-inset-y, 10px); right: var(--corner-inset-x, 10px); transform: scale(-1, -1) rotate(var(--corner-rotation, 0deg)); }

/* Duas cantoneiras: só as diagonais opostas */
.cantoneira-2 .cantoneira--tr,
.cantoneira-2 .cantoneira--bl { display: none; }

/* No celular a cantoneira encolhe para não brigar com o texto */
@media (max-width: 560px) {
  .cantoneira { width: calc(var(--corner-size, 140px) * var(--corner-mobile-scale, .62)); height: calc(var(--corner-size, 140px) * var(--corner-mobile-scale, .62)); }
}

/* ---------------------------------------------------------------------
   Estrutura
   ------------------------------------------------------------------ */
.convite { position: relative; z-index: 1; }

.secao {
  position: relative;
  padding: var(--section-space, 2.65rem) 1.1rem;
}
.secao__interno {
  width: 100%;
  max-width: var(--content-width, 46rem);
  margin: 0 auto;
}
.secao--larga .secao__interno { max-width: var(--content-wide-width, 64rem); }

/* O Renderer decide em quais seções a decoração existe. CSS apenas apresenta
   a marcação recebida; não reinterpreta a regra do tema. */
.secao > .cantoneiras, .capa > .cantoneiras { display: block; }
.secao__interno { position: relative; z-index: 3; }

/* ---------------------------------------------------------------------
   Tipografia
   ------------------------------------------------------------------ */
.nome-debutante {
  width: fit-content;
  max-width: min(100%, 15ch);
  box-sizing: border-box;
  margin: .38em auto .26em;
  padding: .08em .18em .14em;
  color: var(--c-primary);
  font-family: var(--font-name);
  font-weight: var(--name-weight, 400);
  font-size: var(--name-size, clamp(2.85rem, 12vw, 6.25rem));
  line-height: var(--name-line-height, .98);
  letter-spacing: var(--name-tracking, 0.01em);
  text-align: center;
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}
.nome-debutante[data-nome-longo="1"] { max-width:min(100%,18ch);font-size:clamp(2.35rem,9.5vw,5.25rem); }
.nome-debutante[data-nome-muito-longo="1"] { max-width:min(100%,22ch);font-size:clamp(1.95rem,7.8vw,4.35rem);line-height:1.02; }

.titulo-secao {
  font-family: var(--font-title);
  font-weight: var(--title-weight, 400);
  font-size: var(--title-size, clamp(1.55rem, 5.5vw, 2.35rem));
  line-height: var(--title-line-height, 1.15);
  letter-spacing: var(--title-tracking, 0.1em);
  text-transform: var(--title-transform, uppercase);
  text-align: center;
  margin: 0 0 0.35em;
  color: var(--c-ink);
}
.subtitulo {
  font-family: var(--font-title);
  font-size: 0.82rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  text-align: center;
  color: var(--c-ink-soft);
  margin: 0 0 2.25rem;
}
.texto p { margin: 0 0 1.15em; }
.texto p:last-child { margin-bottom: 0; }
.texto--centro { text-align: center; }

.assinatura {
  font-family: var(--font-name);
  font-size: clamp(1.6rem, 6vw, 2.2rem);
  color: var(--c-primary);
  text-align: center;
  margin-top: 1.5rem;
  line-height: 1.2;
}

/* ---------------------------------------------------------------------
   Divisor ornamentado — CSS + um losango
   ------------------------------------------------------------------ */
.divisor {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin: 1.05rem auto 1.55rem;
  max-width: 18rem;
  color: var(--c-metal);
}
.divisor::before,
.divisor::after {
  content: "";
  flex: 1;
  height: var(--rule-weight, 1px);
  background: linear-gradient(90deg, transparent, currentColor 45%, currentColor 55%, transparent);
}
.divisor__marca {
  width: 9px; height: 9px;
  border: 1px solid currentColor;
  transform: rotate(45deg);
  flex: 0 0 auto;
}
.divisor__marca::after {
  content: "";
  display: block;
  width: 3px; height: 3px;
  background: currentColor;
  margin: 2px;
}

/* Opt-in: `divisor-estilo-theme` não altera o divisor histórico. */
body:not(.divisor-estilo-theme) .divisor {
  max-width: var(--divider-width, 288px);
  opacity: var(--divider-opacity, 1);
}
body:not(.divisor-estilo-theme) .divisor::before,
body:not(.divisor-estilo-theme) .divisor::after { height: var(--divider-thickness, 1px); }
.divisor-estilo-none .divisor { display: none; }
.divisor-estilo-line .divisor__marca { display: none; }
.divisor-estilo-line .divisor::before,
.divisor-estilo-line .divisor::after { background: currentColor; }
.divisor-estilo-diamond .divisor__marca { width: 13px; height: 13px; }
.divisor-estilo-diamond .divisor__marca::after { width: 5px; height: 5px; margin: 3px; }
.divisor-estilo-classic .divisor::before,
.divisor-estilo-classic .divisor::after {
  background: linear-gradient(90deg, transparent, currentColor 45%, currentColor 55%, transparent);
}

/* ---------------------------------------------------------------------
   Cartão
   ------------------------------------------------------------------ */
.cartao {
  background: var(--card-bg, var(--c-surface));
  border: var(--card-border, 1px solid var(--c-line));
  border-radius: var(--radius, 4px);
  box-shadow: var(--shadow, none);
  padding: clamp(1.2rem, 3.8vw, 2rem);
}
.cartao + .cartao { margin-top: 1.25rem; }

/* Moldura interna fina, típica de papelaria fina */
.moldura { position: relative; }
.moldura::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: var(--rule-weight, 1px) solid color-mix(in srgb, var(--c-metal) 55%, transparent);
  border-radius: calc(var(--radius, 4px) * 0.6);
  pointer-events: none;
}

/* ---------------------------------------------------------------------
   Botões
   ------------------------------------------------------------------ */
.botao {
  --botao-bg: var(--c-button-bg, var(--c-primary));
  --botao-ink: var(--c-button-ink, var(--c-primary-ink, #fff));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 3rem;              /* alvo de toque confortável */
  padding: 0.8rem 1.9rem;
  font-family: var(--font-button);
  font-size: 0.8rem;
  font-weight: var(--button-weight, 500);
  letter-spacing: var(--button-tracking, 0.2em);
  text-transform: var(--button-transform, uppercase);
  color: var(--botao-ink);
  background: var(--botao-bg);
  border: 1px solid var(--botao-bg);
  border-radius: var(--radius-sm, 3px);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  text-decoration: none;
}
.botao:hover { text-decoration: none; transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0,0,0,.14); }
.botao:active { transform: translateY(0); }
.botao:focus-visible { outline: 2px solid var(--c-metal); outline-offset: 3px; }

.botao--contorno {
  background: transparent;
  color: var(--c-primary);
  border-color: color-mix(in srgb, var(--c-primary) 60%, transparent);
}
.botao--contorno:hover { background: color-mix(in srgb, var(--c-primary) 8%, transparent); }
.botao--pequeno { min-height: 2.4rem; padding: 0.5rem 1.1rem; font-size: 0.72rem; }
.botao--bloco { width: 100%; }

/* ---------------------------------------------------------------------
   Capa
   ------------------------------------------------------------------ */
.capa {
  position: relative;
  min-height: min(92svh, 52rem);
  display: grid;
  place-items: center;
  text-align: center;
  padding: 3.2rem 1.2rem 4rem;
  overflow: hidden;
}
.capa__conteudo { position: relative; z-index: 3; max-width: 34rem; }

.capa__olho {
  font-family: var(--font-title);
  font-size: 0.78rem;
  letter-spacing: 0.34em;
  text-transform: uppercase;
  color: var(--c-ink-soft);
  margin: 0;
}
.capa__frase {
  font-family: var(--font-title);
  font-style: italic;
  font-size: clamp(1.05rem, 3.6vw, 1.3rem);
  color: var(--c-ink-soft);
  margin: 0 auto 1.25rem;
  max-width: 26rem;
}
.capa__data {
  font-family: var(--font-title);
  font-size: clamp(0.95rem, 3.4vw, 1.15rem);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-ink);
  margin: 0 0 0.4rem;
}
.capa__hora { font-size: 0.9rem; letter-spacing: 0.12em; color: var(--c-ink-soft); margin: 0 0 1.45rem; }

.brasao {
  width: var(--crest-size, 120px);
  height: auto;
  margin: 0 auto 0.5rem;
  object-fit: contain;
}
.brasao-sombra .brasao { filter: drop-shadow(0 8px 18px rgba(0,0,0,.22)); }
.brasao-brilho .brasao { filter: drop-shadow(0 0 14px color-mix(in srgb, var(--c-metal) 70%, transparent)); }

/* Monograma desenhado, usado quando não há brasão enviado */
.monograma {
  width: var(--crest-size, 120px);
  height: var(--crest-size, 120px);
  margin: 0 auto 0.75rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--c-metal);
  border-radius: 50%;
  position: relative;
  color: var(--c-primary);
  font-family: var(--font-title);
  font-size: calc(var(--crest-size, 120px) * 0.34);
  letter-spacing: 0.04em;
}
.monograma::after {
  content: "";
  position: absolute;
  inset: 6px;
  border: 1px solid color-mix(in srgb, var(--c-metal) 45%, transparent);
  border-radius: 50%;
}

.capa__seta {
  position: absolute;
  left: 50%;
  bottom: 1.75rem;
  transform: translateX(-50%);
  z-index: 3;
  color: var(--c-ink-soft);
  font-size: 0.68rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  display: grid;
  gap: 0.5rem;
  justify-items: center;
  animation: flutua 2.6s ease-in-out infinite;
}
.capa__seta span:last-child {
  width: 1px; height: 28px;
  background: linear-gradient(180deg, currentColor, transparent);
}
@keyframes flutua {
  0%, 100% { transform: translateX(-50%) translateY(0); opacity: .85; }
  50%      { transform: translateX(-50%) translateY(6px); opacity: .45; }
}

/* ---------------------------------------------------------------------
   Contagem regressiva
   ------------------------------------------------------------------ */
.contagem { display: flex; justify-content: center; gap: 0.6rem; flex-wrap: wrap; }
.contagem__item {
  min-width: 4.7rem;
  padding: 1rem 0.7rem;
  text-align: center;
  background: var(--card-bg, var(--c-surface));
  border: 1px solid color-mix(in srgb, var(--c-metal) 40%, transparent);
  border-radius: var(--radius, 4px);
}
.contagem__numero {
  display: block;
  font-family: var(--font-title);
  font-size: clamp(1.7rem, 7vw, 2.5rem);
  line-height: 1;
  color: var(--c-primary);
  font-variant-numeric: tabular-nums;
}
.contagem__rotulo {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.62rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--c-ink-soft);
}
.contagem--linha .contagem__item { border: 0; background: transparent; min-width: 3.8rem; padding: 0.3rem; }
.contagem--linha .contagem__item + .contagem__item { border-left: 1px solid var(--c-line); }

.contagem__realizada {
  text-align: center;
  font-family: var(--font-title);
  font-style: italic;
  font-size: clamp(1.1rem, 4vw, 1.4rem);
  color: var(--c-ink-soft);
}

/* ---------------------------------------------------------------------
   Programação e locais
   ------------------------------------------------------------------ */
.programacao { display: grid; gap: 1.1rem; }
.compromisso { display: grid; gap: 0.5rem; }
.compromisso__hora {
  font-family: var(--font-title);
  font-size: 1.5rem;
  color: var(--c-primary);
  letter-spacing: 0.06em;
}
.compromisso__nome {
  font-family: var(--font-title);
  font-size: 0.8rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--c-ink-soft);
  margin: 0;
}
.compromisso__local { font-weight: 400; margin: 0; }
.compromisso__endereco { color: var(--c-ink-soft); font-size: 0.94rem; margin: 0; }
.compromisso__nota { font-size: 0.9rem; font-style: italic; color: var(--c-ink-soft); margin: 0; }
.compromisso__acoes { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.35rem; }

.endereco-oculto {
  font-size: 0.9rem;
  font-style: italic;
  color: var(--c-ink-soft);
  padding: 0.6rem 0.9rem;
  border-left: 2px solid var(--c-metal);
  background: color-mix(in srgb, var(--c-metal) 8%, transparent);
}

/* Variante em sequência vertical */
.programacao--timeline { position: relative; padding-left: 1.75rem; }
.programacao--timeline::before {
  content: "";
  position: absolute;
  left: 5px; top: 0.6rem; bottom: 0.6rem;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--c-metal) 12%, var(--c-metal) 88%, transparent);
}
.programacao--timeline .compromisso { position: relative; }
.programacao--timeline .compromisso::before {
  content: "";
  position: absolute;
  left: -1.75rem; top: 0.75rem;
  width: 11px; height: 11px;
  border: 1px solid var(--c-metal);
  background: var(--c-bg);
  transform: rotate(45deg);
}

/* ---------------------------------------------------------------------
   Lista de itens (regras, traje, FAQ, contato)
   ------------------------------------------------------------------ */
.itens--grade { display:flex; flex-wrap:wrap; justify-content:center; gap:1rem; }
.item {
  display: grid;
  grid-template-columns: 2.5rem 1fr;
  gap: 0.9rem;
  align-items: start;
  flex: 1 1 17rem;
  max-width: 21.5rem;
}
.item__icone {
  width: 2.5rem; height: 2.5rem;
  display: grid; place-items: center;
  border: 1px solid color-mix(in srgb, var(--c-metal) 55%, transparent);
  border-radius: 50%;
  color: var(--c-primary);
}
.item__icone svg { width: 1.15rem; height: 1.15rem; }
.item__icone i { font-size: 1.08rem; line-height: 1; }
.item__titulo {
  font-family: var(--font-title);
  font-size: 0.82rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin: 0.3rem 0 0.15rem;
}
.item__texto { margin: 0; color: var(--c-ink-soft); font-size: 0.97rem; line-height: 1.55; }

.itens--lista { display: grid; gap: 0.85rem; }
.itens--lista .item { border-bottom: 1px solid var(--c-line); padding-bottom: 0.85rem; }
.itens--lista .item:last-child { border-bottom: 0; padding-bottom: 0; }

/* Acordeão com <details>, sem JavaScript */
.itens--acordeao { display: grid; gap: 0.6rem; }
.acordeao {
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm, 3px);
  background: var(--card-bg, var(--c-surface));
}
.acordeao > summary {
  cursor: pointer;
  list-style: none;
  padding: 0.95rem 1.1rem;
  font-family: var(--font-title);
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  min-height: 3rem;
}
.acordeao > summary::-webkit-details-marker { display: none; }
.acordeao > summary::after {
  content: "+";
  color: var(--c-primary);
  font-size: 1.25rem;
  line-height: 1;
  transition: transform .2s ease;
}
.acordeao[open] > summary::after { transform: rotate(45deg); }
.acordeao__corpo { padding: 0 1.1rem 1.1rem; color: var(--c-ink-soft); }

/* ---------------------------------------------------------------------
   Galeria
   ------------------------------------------------------------------ */
.galeria { display: grid; gap: 0.5rem; grid-template-columns: repeat(2, 1fr); }
.galeria__foto {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-sm, 3px);
  background: color-mix(in srgb, var(--c-ink) 6%, transparent);
  cursor: zoom-in;
  aspect-ratio: 3 / 4;
}
.galeria__foto img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.galeria__foto:hover img { transform: scale(1.04); }
.galeria__foto figcaption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1.5rem 0.75rem 0.6rem;
  font-size: 0.78rem;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.62));
}

/* Faixa deslizante */
.galeria--faixa {
  display: flex;
  gap: 0.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 0.5rem;
  -webkit-overflow-scrolling: touch;
}
.galeria--faixa .galeria__foto {
  flex: 0 0 70%;
  scroll-snap-align: center;
}

/* Ampliação */
.lupa {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: none;
  place-items: center;
  padding: 1.25rem;
  background: rgba(12, 10, 8, .93);
  backdrop-filter: blur(3px);
}
.lupa[data-aberta="1"] { display: grid; }
.lupa img { max-width: 100%; max-height: 82svh; border-radius: 2px; }
.lupa__legenda { color: #f4efe6; text-align: center; font-size: 0.85rem; margin-top: 0.85rem; }
.lupa__fechar,
.lupa__anterior,
.lupa__proxima {
  position: absolute;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.28);
  color: #fff;
  width: 3rem; height: 3rem;
  border-radius: 50%;
  font-size: 1.35rem;
  cursor: pointer;
  display: grid; place-items: center;
}
.lupa__fechar   { top: 1rem; right: 1rem; }
.lupa__anterior { left: 0.75rem; top: 50%; transform: translateY(-50%); }
.lupa__proxima  { right: 0.75rem; top: 50%; transform: translateY(-50%); }

/* ---------------------------------------------------------------------
   Confirmação de presença
   ------------------------------------------------------------------ */
.formulario { display: grid; gap: 1.1rem; }
.campo { display: grid; gap: 0.4rem; }
.campo > label {
  font-family: var(--font-title);
  font-size: 0.74rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--c-ink-soft);
}
.campo input[type="text"],
.campo input[type="tel"],
.campo input[type="email"],
.campo input[type="number"],
.campo select,
.campo textarea {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 0.9rem;
  font-family: inherit;
  font-size: 1rem;           /* 16px evita o zoom automático do iOS */
  color: var(--c-ink);
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm, 3px);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.campo textarea { min-height: 6.5rem; resize: vertical; line-height: 1.6; }
.campo input:focus, .campo select:focus, .campo textarea:focus {
  outline: none;
  border-color: var(--c-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary) 16%, transparent);
}
.campo__ajuda { font-size: 0.82rem; color: var(--c-ink-soft); }
.campo__erro  { font-size: 0.82rem; color: #b3261e; }

/* Escolha de presença em blocos grandes, fáceis no celular */
.escolhas { display: grid; gap: 0.5rem; }
.escolha {
  position: relative;
  display: flex; align-items: center; gap: 0.75rem;
  min-height: 3.25rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm, 3px);
  background: var(--c-surface);
  cursor: pointer;
}
.escolha input { position: absolute; opacity: 0; pointer-events: none; }
.escolha__marca {
  width: 1.1rem; height: 1.1rem;
  border: 1px solid var(--c-metal);
  border-radius: 50%;
  flex: 0 0 auto;
  display: grid; place-items: center;
}
.escolha input:checked + .escolha__marca::after {
  content: "";
  width: 0.55rem; height: 0.55rem;
  border-radius: 50%;
  background: var(--c-primary);
}
.escolha:has(input:checked) {
  border-color: var(--c-primary);
  background: color-mix(in srgb, var(--c-primary) 7%, var(--c-surface));
}
.escolha input:focus-visible + .escolha__marca { outline: 2px solid var(--c-metal); outline-offset: 2px; }

.rsvp__resposta {
  text-align: center;
  padding: 1.5rem 1rem;
}
.rsvp__resposta h3 {
  font-family: var(--font-title);
  font-size: 1.35rem;
  margin: 0 0 0.5rem;
  color: var(--c-primary);
}
.rsvp__fechado {
  text-align: center;
  font-style: italic;
  color: var(--c-ink-soft);
}
.oculto { display: none !important; }

/* Sugestões de nome da lista de convidados */
.sugestoes {
  list-style: none;
  margin: 0.25rem 0 0;
  padding: 0;
  border: 1px solid var(--c-line);
  border-radius: var(--radius-sm, 3px);
  background: var(--c-surface);
  max-height: 12rem;
  overflow-y: auto;
}
.sugestoes:empty { display: none; }
.sugestoes li { padding: 0.65rem 0.9rem; cursor: pointer; min-height: 2.75rem; }
.sugestoes li:hover, .sugestoes li[aria-selected="true"] { background: color-mix(in srgb, var(--c-primary) 10%, transparent); }

/* ---------------------------------------------------------------------
   Aviso destacado (modo de emergência)
   ------------------------------------------------------------------ */
.aviso {
  position: sticky;
  top: 0;
  z-index: 60;
  padding: 0.8rem 1.1rem;
  text-align: center;
  font-size: 0.92rem;
  color: var(--c-primary-ink, #fff);
  background: var(--c-primary);
  box-shadow: 0 2px 14px rgba(0,0,0,.18);
}

/* ---------------------------------------------------------------------
   Música
   ------------------------------------------------------------------ */
.musica {
  position: fixed;
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  z-index: 70;
  min-width: 9.6rem;
  min-height: 3.15rem;
  padding: .65rem 1rem;
  border-radius: 999px;
  border: 1px solid var(--c-metal);
  background: color-mix(in srgb, var(--c-surface) 92%, transparent);
  color: var(--c-primary);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  backdrop-filter: blur(9px);
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  font-family: var(--font-button);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.musica__icone { font-size: .95rem; line-height: 1; min-width: 1rem; }
.musica__texto { white-space: nowrap; font-weight: 700; }
.musica[data-tocando="1"] { animation: pulsa 2.4s ease-in-out infinite; }
.musica--erro { color: #9c2f2f; border-color: #c96c6c; }
@media (max-width: 430px) {
  .musica { min-width: 8.4rem; min-height: 3rem; padding-inline: .82rem; font-size: .72rem; }
}
.modo-previa [data-preview-module][data-preview-destaque="1"] {
  outline: 2px solid color-mix(in srgb, var(--c-primary) 72%, white);
  outline-offset: -2px;
  animation: preview-highlight 1.15s ease-out 1;
}
@keyframes preview-highlight {
  from { box-shadow: inset 0 0 0 999px color-mix(in srgb, var(--c-primary) 12%, transparent); }
  to { box-shadow: inset 0 0 0 999px transparent; }
}
@keyframes pulsa {
  0%, 100% { box-shadow: 0 6px 18px rgba(0,0,0,.12); }
  50%      { box-shadow: 0 6px 26px color-mix(in srgb, var(--c-metal) 55%, transparent); }
}

/* ---------------------------------------------------------------------
   Rodapé
   ------------------------------------------------------------------ */
.rodape {
  position:relative;
  width:100%;
  margin:0;
  padding:1.45rem 1.1rem max(1.45rem,env(safe-area-inset-bottom));
  text-align:center;
  color:var(--c-ink-soft);
  background:color-mix(in srgb,var(--c-bg-deep) 72%,var(--c-surface));
  border-top:1px solid color-mix(in srgb,var(--c-metal) 34%,var(--c-line));
  font-size:.78rem;
  letter-spacing:.045em;
  overflow:hidden;
}
.rodape::before { content:"";display:block;width:2.8rem;height:1px;margin:0 auto .85rem;background:var(--c-metal);opacity:.7; }
.rodape p { margin:.15rem 0; }
.rodape__marca { font-weight:600; }
.rodape__ano { font-size:.68rem;opacity:.72; }
.rodape a { color:inherit;text-decoration:underline;text-underline-offset:2px; }

/* ---------------------------------------------------------------------
   Entrada suave das seções
   ------------------------------------------------------------------ */
.revela {
  opacity: 1;
  transform: none;
}
.sg-reveal-enabled .revela{opacity:0;transform:translateY(var(--sg-motion-distance,18px));transition:opacity var(--sg-motion-duration,.7s) ease,transform var(--sg-motion-duration,.7s) ease}
.revela[data-visivel="1"] { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .revela { opacity: 1; transform: none; transition: none; }
  .capa__seta, .musica[data-tocando="1"] { animation: none; }
  .galeria__foto img { transition: none; }
}

/* ---------------------------------------------------------------------
   Telas maiores
   ------------------------------------------------------------------ */
@media (min-width: 640px) {
  .galeria { grid-template-columns: repeat(3, 1fr); gap: 0.65rem; }
  .galeria--faixa .galeria__foto { flex-basis: 42%; }
  .compromisso { grid-template-columns: 7rem 1fr; align-items: baseline; column-gap: 1.25rem; }
  .compromisso__hora { text-align: right; }
  .compromisso__corpo { display: grid; gap: 0.3rem; }
}

@media (min-width: 900px) {
  .bloco--com-foto {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
  }
  .bloco--com-foto .bloco__foto img { border-radius: var(--radius, 4px); }
  .galeria { grid-template-columns: repeat(4, 1fr); }
  .galeria--colunas-3 { grid-template-columns: repeat(3, 1fr); }
}

/* ---------------------------------------------------------------------
   Impressão — a convidada às vezes imprime os dados da festa
   ------------------------------------------------------------------ */
@media print {
  body { background: #fff; color: #000; }
  body::before, .cantoneiras, .musica, .capa__seta, .lupa, .galeria { display: none !important; }
  .capa { min-height: auto; padding: 1rem 0; }
  .secao { padding: 0.75rem 0; page-break-inside: avoid; }
  .botao { display: none; }
}

/* Grades incompletas ficam centralizadas, inclusive quando existem 3, 5 ou 7 itens. */
.itens--grade {
  justify-content: center;
}
.itens--grade > * {
  min-width: min(100%, 15rem);
}

/* Lacre Imperial: a capa se comporta como uma carta real selada, não como um círculo decorativo solto. */
.tema-lacre-imperial .capa { padding-inline: clamp(1rem,4vw,2rem); }
.tema-lacre-imperial .capa__conteudo {
  isolation:isolate;
  width:min(100%,36rem);
  padding:clamp(3.6rem,9vw,5.3rem) clamp(1.25rem,5vw,2.8rem) clamp(1.8rem,5vw,2.8rem);
  background:color-mix(in srgb,var(--c-surface) 96%,var(--c-bg));
  border:1px solid color-mix(in srgb,var(--c-metal) 62%,var(--c-line));
  outline:1px solid color-mix(in srgb,var(--c-metal) 28%,transparent);
  outline-offset:-.7rem;
  box-shadow:0 24px 64px rgba(66,35,31,.18);
}
.tema-lacre-imperial .capa__conteudo::before,
.tema-lacre-imperial .capa__conteudo::after {
  content:"";position:absolute;left:0;right:0;top:0;height:clamp(3.2rem,8vw,4.6rem);z-index:-1;pointer-events:none;
}
.tema-lacre-imperial .capa__conteudo::before {
  background:
    linear-gradient(28deg,transparent 49.45%,color-mix(in srgb,var(--c-metal) 38%,transparent) 49.8% 50.2%,transparent 50.55%) left top/50% 100% no-repeat,
    linear-gradient(-28deg,transparent 49.45%,color-mix(in srgb,var(--c-metal) 38%,transparent) 49.8% 50.2%,transparent 50.55%) right top/50% 100% no-repeat;
}
.tema-lacre-imperial .capa__conteudo::after { border-bottom:1px solid color-mix(in srgb,var(--c-metal) 26%,var(--c-line)); }
.tema-lacre-imperial .monograma {
  width:clamp(5.4rem,20vw,7.2rem);height:clamp(5.4rem,20vw,7.2rem);
  margin-top:calc(clamp(3.6rem,9vw,5.3rem) * -1.18);
  margin-bottom:1.35rem;
  color:var(--c-metal-soft);
  background:radial-gradient(circle at 34% 28%,color-mix(in srgb,var(--c-primary) 72%,white),var(--c-primary) 52%,color-mix(in srgb,var(--c-primary) 72%,black));
  border:.34rem double color-mix(in srgb,var(--c-metal) 75%,var(--c-primary));
  box-shadow:0 .8rem 1.7rem rgba(66,35,31,.30),inset 0 .18rem .45rem rgba(255,255,255,.24);
  transform:rotate(-2deg);
}
.tema-lacre-imperial .monograma::after { inset:.5rem;border-color:color-mix(in srgb,var(--c-metal-soft) 54%,transparent); }
.tema-lacre-imperial .monograma {
  box-sizing:border-box;
  width:clamp(6.8rem,24vw,8.8rem);
  height:clamp(6.8rem,24vw,8.8rem);
  padding:.08em .12em 0;
  font-family:var(--font-name);
  font-size:clamp(3.25rem,12vw,4.8rem);
  line-height:1;
  letter-spacing:.01em;
  white-space:nowrap;
}
.tema-lacre-imperial .monograma[data-iniciais="2"] {
  font-size:clamp(2.7rem,10vw,4rem);
  letter-spacing:.015em;
}

.tema-lacre-imperial .brasao { max-width:9rem;filter:drop-shadow(0 .75rem 1rem rgba(66,35,31,.24)); }
.tema-lacre-imperial .nome-debutante { text-shadow:0 1px 0 rgba(255,255,255,.65); }
.tema-lacre-imperial .cartao { position:relative; }
.tema-lacre-imperial .cartao::after { content:"";position:absolute;inset:.55rem;border:1px solid color-mix(in srgb,var(--c-metal) 45%,transparent);pointer-events:none; }

/* Social Chic: linguagem de cards e destaques, com navegação visual mais jovem. */
.tema-social-chic .capa { padding: 1rem; }
.tema-social-chic .capa__conteudo { border-radius: 2.2rem; border: 1px solid var(--c-line); box-shadow: var(--shadow); overflow:hidden; }
.tema-social-chic .capa__brasao { border-radius:50%; outline:4px solid color-mix(in srgb,var(--c-primary) 28%,var(--c-metal)); outline-offset:5px; }
.tema-social-chic .titulo-secao { text-transform:none; letter-spacing:.02em; }
.tema-social-chic .galeria__foto { border-radius: 1.4rem; }
.tema-social-chic .item { border-radius: 1.3rem; background:var(--card-bg); box-shadow:0 10px 28px rgba(35,28,55,.08); padding:1.2rem; }

.compromisso--marco { grid-template-columns: 4.4rem minmax(4.5rem,auto) 1fr; align-items:center; }
.marco-visual { width:4.1rem;height:4.1rem;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--c-primary) 10%,var(--c-surface));border:1px solid color-mix(in srgb,var(--c-metal) 58%,var(--c-line));color:var(--c-primary); }
.marco-visual img { width:100%;height:100%;object-fit:cover; }
.marco-visual svg { width:1.55rem;height:1.55rem; }
@media(max-width:620px){.compromisso--marco{grid-template-columns:3.7rem 1fr}.compromisso--marco .compromisso__hora{grid-column:2}.compromisso--marco .compromisso__corpo{grid-column:2}.marco-visual{grid-row:1/3;width:3.45rem;height:3.45rem}}



/* 2.4.0 — controles flutuantes protegidos contra estilos do tema */
.musica {
  width:auto!important;
  height:auto!important;
  max-width:calc(100vw - 2rem)!important;
  max-height:3.4rem!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:nowrap!important;
  overflow:hidden;
  flex-direction:row!important;
  transform:none!important;
  line-height:1!important;
}
.musica span { display:inline-block!important;writing-mode:horizontal-tb!important; }
.tema-social-chic .musica { top:auto;bottom:max(1rem,env(safe-area-inset-bottom));right:1rem; }
@media (max-width:520px) {
  .musica {
    width:3rem!important;
    min-width:3rem!important;
    height:3rem!important;
    min-height:3rem!important;
    max-width:3rem!important;
    max-height:3rem!important;
    padding:0!important;
    border-radius:50%!important;
    right:.7rem;
    bottom:max(.7rem,env(safe-area-inset-bottom));
  }
  .musica__icone { min-width:0;display:grid!important;place-items:center;font-size:1rem; }
  .musica__texto {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
    border:0;
  }
}

/* =====================================================================
   Sagaro 2.4.0 — direção de arte específica por coleção
   Cada tema mantém a mesma estrutura funcional, mas recebe ritmo, molduras
   e superfícies próprios para não parecer apenas uma troca de cores.
   ===================================================================== */
.secao { padding-top:clamp(2rem,5vw,var(--section-space,3.15rem));padding-bottom:clamp(2rem,5vw,var(--section-space,3.15rem)); }
.secao + .secao { border-top:1px solid color-mix(in srgb,var(--c-line) 46%,transparent); }

/* Arabesque — papelaria clássica emoldurada */
.tema-arabesque .capa::after { content:"";position:absolute;inset:clamp(.75rem,2.2vw,1.45rem);border:1px solid color-mix(in srgb,var(--c-metal) 66%,transparent);outline:1px solid color-mix(in srgb,var(--c-metal) 24%,transparent);outline-offset:-.55rem;pointer-events:none; }
.tema-arabesque .capa__conteudo { padding:clamp(1rem,4vw,2.1rem); }
.tema-arabesque .secao:nth-of-type(even) { background:color-mix(in srgb,var(--c-surface) 62%,transparent); }
.tema-arabesque .cartao,.tema-arabesque .item { box-shadow:0 12px 36px rgba(89,66,32,.055); }
.tema-arabesque .titulo-secao::first-letter { color:var(--c-primary); }
.tema-arabesque .item__icone { border-style:double;border-width:3px; }

/* Céu de Safira — gala noturna com constelações e joias */
.tema-ceu-de-safira .capa { background:radial-gradient(circle at 50% 28%,color-mix(in srgb,var(--c-primary) 12%,transparent),transparent 28%),linear-gradient(180deg,transparent,color-mix(in srgb,var(--c-bg-deep) 62%,transparent)); }
.tema-ceu-de-safira .capa::after { content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,color-mix(in srgb,var(--c-metal) 70%,transparent) 0 .7px,transparent 1px);background-size:41px 47px;opacity:.42; }
.tema-ceu-de-safira .secao:nth-of-type(even) { background:color-mix(in srgb,var(--c-surface) 58%,transparent); }
.tema-ceu-de-safira .cartao,.tema-ceu-de-safira .item,.tema-ceu-de-safira .contagem__item { background:linear-gradient(145deg,color-mix(in srgb,var(--c-surface) 94%,transparent),color-mix(in srgb,var(--c-bg-deep) 88%,transparent));box-shadow:0 18px 46px rgba(1,6,16,.24); }
.tema-ceu-de-safira .item__icone { box-shadow:0 0 18px color-mix(in srgb,var(--c-metal) 18%,transparent); }
.tema-ceu-de-safira .galeria__foto { border:1px solid color-mix(in srgb,var(--c-metal) 42%,transparent); }

/* Jardim de Lavanda — aquarela botânica leve, sem grandes vazios */
.tema-jardim-lavanda .capa { background:radial-gradient(ellipse at 8% 12%,color-mix(in srgb,var(--c-primary) 18%,transparent),transparent 32%),radial-gradient(ellipse at 92% 82%,color-mix(in srgb,var(--c-metal-soft) 36%,transparent),transparent 34%); }
.tema-jardim-lavanda .secao::before { content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 0 18%,color-mix(in srgb,var(--c-primary) 8%,transparent),transparent 27%),radial-gradient(ellipse at 100% 82%,color-mix(in srgb,var(--c-metal-soft) 14%,transparent),transparent 25%); }
.tema-jardim-lavanda .secao__interno { position:relative;z-index:1; }
.tema-jardim-lavanda .secao:nth-of-type(even) { background:color-mix(in srgb,var(--c-surface) 58%,transparent); }
.tema-jardim-lavanda .cartao,.tema-jardim-lavanda .item { border-color:color-mix(in srgb,var(--c-primary) 20%,var(--c-line));box-shadow:0 15px 38px rgba(91,69,105,.07); }
.tema-jardim-lavanda .item__icone { background:color-mix(in srgb,var(--c-primary) 7%,var(--c-surface)); }

/* Pérola Rosé — editorial couture com faixas suaves */
.tema-perola-rose .capa { background:linear-gradient(135deg,color-mix(in srgb,var(--c-surface) 84%,transparent),transparent 55%),radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--c-metal) 14%,transparent),transparent 28%); }
.tema-perola-rose .secao:nth-of-type(3n+2) { background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c-bg-deep) 62%,transparent),transparent); }
.tema-perola-rose .cartao,.tema-perola-rose .item { border-radius:18px;box-shadow:0 16px 42px rgba(109,63,68,.065); }
.tema-perola-rose .titulo-secao { letter-spacing:clamp(.09em,1.4vw,.18em); }
.tema-perola-rose .galeria__foto { border-radius:18px; }

/* Princesa Real — palácio contemporâneo, sem estética infantil */
.tema-princesa-real .capa::after { content:"";position:absolute;inset:clamp(.8rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--c-metal) 62%,transparent);border-radius:48% 48% 1.5rem 1.5rem/10% 10% 1.5rem 1.5rem;pointer-events:none; }
.tema-princesa-real .secao:nth-of-type(even) { background:linear-gradient(135deg,color-mix(in srgb,var(--c-bg-deep) 62%,transparent),color-mix(in srgb,var(--c-surface) 70%,transparent)); }
.tema-princesa-real .cartao,.tema-princesa-real .item { border:1px solid color-mix(in srgb,var(--c-metal) 34%,var(--c-line));box-shadow:0 18px 44px rgba(38,54,83,.08); }
.tema-princesa-real .item__icone { border-radius:9px;transform:rotate(45deg); }
.tema-princesa-real .item__icone > * { transform:rotate(-45deg); }
.tema-princesa-real .botao { box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-metal) 44%,transparent); }

/* Lacre Imperial — páginas internas com aparência de carta */
.tema-lacre-imperial .secao { margin:clamp(.3rem,1vw,.7rem) auto;width:min(calc(100% - 1rem),74rem);background:color-mix(in srgb,var(--c-surface) 88%,var(--c-bg));box-shadow:0 14px 38px rgba(72,42,34,.075); }
.tema-lacre-imperial .secao::after { content:"";position:absolute;inset:.55rem;border:1px solid color-mix(in srgb,var(--c-metal) 24%,transparent);pointer-events:none; }
.tema-lacre-imperial .titulo-secao { font-size:clamp(1.35rem,4.6vw,2rem); }
.tema-lacre-imperial .item__icone { border-radius:5px;background:color-mix(in srgb,var(--c-primary) 5%,var(--c-surface)); }
.tema-lacre-imperial .botao { border-radius:2px; }

/* Social Chic — editorial jovem em cartões, sem copiar rede social */
.tema-social-chic .convite { padding-bottom:.75rem; }
.tema-social-chic .capa__conteudo { width:min(100%,36rem);padding:clamp(2rem,7vw,4rem) clamp(1rem,5vw,2.4rem);background:linear-gradient(165deg,var(--c-surface),color-mix(in srgb,var(--c-bg-deep) 42%,var(--c-surface))); }
.tema-social-chic .secao { width:min(calc(100% - .8rem),70rem);margin:.35rem auto;border:1px solid var(--c-line);border-radius:1.7rem;background:color-mix(in srgb,var(--c-surface) 94%,transparent);box-shadow:0 16px 42px rgba(44,31,52,.065); }
.tema-social-chic .secao + .secao { border-top:1px solid var(--c-line); }
.tema-social-chic .divisor { max-width:7rem; }
.tema-social-chic .divisor::before,.tema-social-chic .divisor::after { height:3px;border-radius:999px;background:linear-gradient(90deg,var(--c-primary),var(--c-metal)); }
.tema-social-chic .divisor__marca { display:none; }
.tema-social-chic .itens--lista .item { border-bottom:0; }
.tema-social-chic .contagem__item { border-radius:1.15rem; }
.tema-social-chic .botao { border-radius:999px;letter-spacing:.07em;text-transform:none;font-weight:700; }
.tema-social-chic .programacao--timeline::before { width:3px;border-radius:999px; }

@media(max-width:560px){
  .tema-lacre-imperial .secao,.tema-social-chic .secao{width:calc(100% - .7rem)}
  .tema-social-chic .secao{border-radius:1.25rem}
  .tema-princesa-real .capa::after{inset:.55rem;border-radius:42% 42% 1rem 1rem/7% 7% 1rem 1rem}
}

/* Sugestões de presentes: faixas claras e fáceis de consultar, inspiradas
   em listas impressas de debutante, mas adaptadas ao tema escolhido. */
.lista-preset--presentes .secao__interno { max-width:52rem; }
.lista-preset--presentes .itens--lista { gap:.7rem; }
.lista-preset--presentes .itens--lista .item {
  display:block;
  max-width:none;
  padding:.78rem 1.25rem;
  border:1px solid color-mix(in srgb,var(--c-primary) 76%,var(--c-metal));
  border-radius:999px;
  color:var(--c-primary-ink);
  background:var(--c-primary);
  text-align:center;
  box-shadow:0 8px 20px color-mix(in srgb,var(--c-primary) 14%,transparent);
}
.lista-preset--presentes .item__icone { display:none; }
.lista-preset--presentes .item__titulo { margin:0;color:inherit;font-size:clamp(.82rem,2.4vw,1rem);letter-spacing:.06em; }
.lista-preset--presentes .item__texto { margin:.08rem 0 0;color:color-mix(in srgb,var(--c-primary-ink) 88%,transparent);font-family:var(--font-title);font-size:.82rem;line-height:1.25;text-transform:uppercase;letter-spacing:.04em; }
.lista-preset--presentes .item a { color:inherit;text-decoration:underline; }

/* Regras: ícone central e texto equilibrado, inclusive com 5 ou 7 itens. */
.lista-preset--faq .item,.lista-preset--regras .item { grid-template-columns:1fr;justify-items:center;text-align:center;padding:1rem;flex-basis:15rem; }
.lista-preset--faq .item__icone,.lista-preset--regras .item__icone { width:3.2rem;height:3.2rem; }
.lista-preset--faq .item__icone i,.lista-preset--regras .item__icone i { font-size:1.45rem; }
.lista-preset--faq .item__titulo,.lista-preset--regras .item__titulo { margin-top:.15rem; }
@media(max-width:520px){.lista-preset--presentes .itens--lista .item{border-radius:18px;padding:.75rem .9rem}.lista-preset--faq .item,.lista-preset--regras .item{flex-basis:9rem;padding:.65rem}}

@media (max-width: 560px) {
  .secao { padding-top:2rem;padding-bottom:2rem; }
  .titulo-secao { font-size:clamp(1.35rem,7vw,1.9rem); }
  .divisor { margin:.9rem auto 1.25rem; }
  .cartao { padding:1.15rem; }
  .capa { height:100svh;height:100dvh;min-height:100svh;min-height:100dvh;max-height:100svh;max-height:100dvh;padding:2.35rem 1rem 3.2rem; }
}

/* Compatibilidade com convites publicados antes da 2.4.1.
   O HTML antigo pode ainda conter a navegação; ela permanece invisível até
   o convite ser republicado com o renderizador novo. */
.convite-menu__botao,
.convite-menu { display:none!important; }
body.menu-convite-aberto { overflow:auto!important; }

/* 2.4.8 — fim físico da página e prevenção do zoom automático no iPhone */
.convite { min-height:0;margin:0;padding-bottom:0; }
@media (max-width:760px) {
  input,select,textarea { font-size:16px!important; }
  body { background-attachment:scroll; }
}


/* Retorno seguro da prévia para o mesmo ponto do editor. */
.retorno-editor{position:fixed;inset:0 0 auto;z-index:10000;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:52px;padding:.55rem max(.8rem,env(safe-area-inset-left)) .55rem max(.8rem,env(safe-area-inset-right));background:rgba(20,17,28,.96);color:#fff;font-family:system-ui,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
.retorno-editor a{display:inline-flex;align-items:center;min-height:38px;padding:.4rem .8rem;border-radius:999px;background:#fff;color:#2d1b45;font-weight:750;text-decoration:none}.retorno-editor span{font-size:.78rem;opacity:.82}.tem-retorno-editor{padding-top:52px}.tem-retorno-editor .musica{top:calc(64px + env(safe-area-inset-top))}
@media(max-width:520px){.retorno-editor span{display:none}.retorno-editor{justify-content:flex-start}}


/* Linha do tempo de memórias: eixo, foto, ano e texto compartilham a mesma grade. */
.programacao--memorias{position:relative;display:grid;gap:0;padding:0;margin-top:1.25rem}
.programacao--memorias::before{left:2.05rem;top:2.1rem;bottom:2.1rem;width:1px;background:linear-gradient(180deg,transparent,var(--c-metal) 8%,var(--c-metal) 92%,transparent)}
.programacao--memorias .compromisso--marco{position:relative;display:grid;grid-template-columns:4.1rem minmax(0,1fr);grid-template-areas:"visual data" "visual corpo";align-items:start;column-gap:1.15rem;row-gap:.25rem;min-height:6.7rem;padding:1rem 0;background:transparent;border:0;box-shadow:none}
.programacao--memorias .compromisso--marco::before{display:none}
.programacao--memorias .marco-visual{grid-area:visual;position:relative;z-index:2;width:4.1rem;height:4.1rem;margin:0;background:var(--c-bg);box-shadow:0 0 0 .42rem var(--c-bg)}
.programacao--memorias .compromisso__hora{grid-area:data;align-self:end;margin:0;font-size:1.2rem;line-height:1.2}
.programacao--memorias .compromisso__corpo{grid-area:corpo;min-width:0;padding:0}
.programacao--memorias .compromisso__local{font-size:1rem;line-height:1.35;margin:0 0 .2rem}
.programacao--memorias .compromisso__endereco{line-height:1.55}
@media(max-width:620px){.programacao--memorias::before{left:1.75rem}.programacao--memorias .compromisso--marco{grid-template-columns:3.5rem minmax(0,1fr);column-gap:1rem;min-height:6.1rem;padding:.9rem 0}.programacao--memorias .marco-visual{grid-row:auto;grid-area:visual;width:3.5rem;height:3.5rem}.programacao--memorias .compromisso__hora{grid-column:auto;grid-area:data;font-size:1.08rem}.programacao--memorias .compromisso__corpo{grid-column:auto;grid-area:corpo}}


/* A primeira tela móvel pertence integralmente à capa. */
@media(max-width:760px){
  .capa__conteudo{transform:scale(var(--capa-scale,1));transform-origin:center center;will-change:transform}
  .tem-retorno-editor .capa{height:calc(100dvh - 52px);min-height:calc(100dvh - 52px);max-height:calc(100dvh - 52px)}
}
.convite{width:100%;flex:0 0 auto;overflow:visible}.rodape{flex:0 0 auto;min-height:0}.rodape + .musica{margin:0}
html,body{padding-bottom:0!important;margin-bottom:0!important}


/* Confirmação por telefone e integrantes autorizados — 2.5.0 */
.rsvp-identificacao{display:grid;grid-template-columns:2.6rem 1fr;gap:.85rem;align-items:start;margin:0 0 1rem;padding:.85rem;border:1px solid var(--c-line);border-radius:var(--radius-sm,14px);background:color-mix(in srgb,var(--c-surface) 82%,transparent)}.rsvp-identificacao h3{margin:0;font-family:var(--font-title);font-weight:500}.rsvp-identificacao p{margin:.2rem 0 0;color:var(--c-ink-soft);font-size:.9rem;line-height:1.5}.rsvp-passo{display:grid!important;place-items:center;width:2.4rem;height:2.4rem;margin:0!important;border-radius:50%;background:var(--c-primary);color:var(--c-primary-ink,#fff)!important;font-weight:800}.rsvp-etapa{display:grid;gap:.85rem;margin-top:1rem}.rsvp-saudacao{padding:.85rem 1rem;border-left:3px solid var(--c-metal);background:color-mix(in srgb,var(--c-metal) 9%,transparent);font-family:var(--font-title);font-size:1.05rem;line-height:1.55}.rsvp-membros{display:grid;gap:.6rem}.rsvp-membro{display:grid;gap:.35rem;padding:.8rem;border:1px solid var(--c-line);border-radius:var(--radius-sm,12px);background:var(--c-surface);cursor:pointer}.rsvp-membro:has(input[type="checkbox"]:checked){border-color:var(--c-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--c-primary) 12%,transparent)}.rsvp-membro__topo{display:flex;align-items:center;gap:.65rem}.rsvp-membro__topo input{width:1.25rem;height:1.25rem;accent-color:var(--c-primary)}.rsvp-membro small{color:var(--c-ink-soft)}.rsvp-membro>input[type="text"]{margin-top:.3rem}.rsvp__resposta{padding:1.2rem;text-align:center;border:1px solid var(--c-line);border-radius:var(--radius,16px);background:var(--c-surface)}


/* 2.5.1 — documento termina exatamente no rodapé. */
html,body{height:auto!important;min-height:0!important;max-height:none;margin:0!important;padding:0!important}
body{display:block!important;overflow-x:hidden;overflow-y:auto}
.pagina-convite{position:relative;display:block;width:100%;height:auto;min-height:0;margin:0;padding:0;overflow:visible}
.pagina-convite>.convite,.pagina-convite>.rodape{position:relative;width:100%;margin:0}
#fim-convite{display:block;contain:layout paint;margin-bottom:0!important}

/* 2.5.5 — confirmação pública direta */
.rsvp-cartao--simples{max-width:620px;margin-inline:auto}.rsvp-prazo{text-align:center;margin:0 0 .85rem;color:var(--c-ink-soft);font-size:.82rem}.rsvp-identificacao--simples{display:block;padding:0;margin:0 0 1rem;border:0;background:transparent;text-align:center}.rsvp-identificacao--simples h3{font-size:1.25rem}.rsvp-identificacao--simples p{margin:.2rem 0 0}.rsvp-cartao--simples .rsvp-saudacao{padding:.7rem .8rem;font-size:1rem}.rsvp-cartao--simples .rsvp-membro{padding:.65rem .7rem}.rsvp-cartao--simples .rsvp-membro small{margin-left:1.9rem;font-size:.78rem}

/* Lista pública sem convidado principal — 2.5.5 */
.rsvp-respostas-lista{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}
.rsvp-respostas-lista button{min-height:2.5rem;padding:.48rem .72rem;border:1px solid var(--c-line);border-radius:999px;background:var(--c-surface);color:var(--c-ink-soft);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}
.rsvp-respostas-lista button.ativo{border-color:var(--c-primary);background:color-mix(in srgb,var(--c-primary) 9%,var(--c-surface));color:var(--c-primary)}
@media(max-width:430px){.rsvp-respostas-lista{display:grid;grid-template-columns:1fr 1fr}.rsvp-respostas-lista button{width:100%;padding-inline:.4rem;font-size:.72rem}}

/* 2.5.7 — ações permanentes e personalização visual da demonstração. */
.demo-acoes-fixas {
  position:sticky;
  z-index:1300;
  top:0;
  min-height:54px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.75rem;
  padding:max(.55rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) .55rem max(.75rem,env(safe-area-inset-left));
  border-bottom:1px solid #e7e0e9;
  background:rgba(255,255,255,.96);
  color:#291d30;
  box-shadow:0 7px 24px rgba(33,21,38,.12);
  backdrop-filter:blur(14px);
  font-family:"Jost",Arial,sans-serif;
}
.demo-acoes-fixas a { text-decoration:none; }
.demo-acoes-fixas__voltar {
  color:#5e5263;
  font-size:.78rem;
  font-weight:700;
}
.demo-acoes-fixas__tema {
  overflow:hidden;
  color:#3d2a47;
  font-size:.78rem;
  font-weight:800;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.demo-acoes-fixas__criar {
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.55rem .9rem;
  border:1px solid #c96914;
  border-radius:999px;
  background:#e67f22;
  color:#fff;
  font-size:.76rem;
  font-weight:850;
  box-shadow:0 7px 18px rgba(207,106,20,.22);
}
.demo-personalizacao {
  position:relative;
  z-index:6;
  display:grid;
  gap:1rem;
  padding:1rem max(1rem,env(safe-area-inset-right)) 1.15rem max(1rem,env(safe-area-inset-left));
  border-bottom:1px solid #e9e1eb;
  background:linear-gradient(180deg,#fff,#f8f4fa);
  color:#2d2232;
  font-family:"Jost",Arial,sans-serif;
}
.demo-personalizacao__titulo { display:flex;align-items:end;justify-content:space-between;gap:1rem; }
.demo-personalizacao__titulo strong { font-size:1rem; }
.demo-personalizacao__titulo span { color:#786d7c;font-size:.72rem;text-align:right; }
.demo-personalizacao__grupo { display:grid;gap:.45rem;min-width:0; }
.demo-personalizacao__grupo h2 { margin:0;color:#67596c;font:800 .65rem/1 "Jost",sans-serif;letter-spacing:.1em;text-transform:uppercase; }
.demo-opcoes {
  display:flex;
  gap:.55rem;
  overflow-x:auto;
  padding:.1rem .1rem .4rem;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
}
.demo-opcoes a {
  scroll-snap-align:start;
  flex:0 0 auto;
  min-height:48px;
  border:1px solid #ddd4e0;
  border-radius:12px;
  background:#fff;
  color:#3d3242;
  text-decoration:none;
  box-shadow:0 4px 12px rgba(51,32,59,.05);
}
.demo-opcoes a.is-active { border-color:#7a3aa2;box-shadow:0 0 0 2px rgba(122,58,162,.13); }
.demo-tema-opcao,.demo-paleta-opcao { min-width:132px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.55rem;padding:.48rem .62rem; }
.demo-tema-opcao>span:last-child,.demo-paleta-opcao>span:last-child { font-size:.72rem;font-weight:750;line-height:1.15; }
.demo-tema-opcao__cores,.demo-paleta-opcao__cores { display:flex;align-items:center; }
.demo-tema-opcao__cores i,.demo-paleta-opcao__cores i {
  width:18px;
  height:18px;
  display:block;
  margin-left:-5px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:50%;
  background:var(--demo-cor);
  box-shadow:0 0 0 2px #fff;
}
.demo-tema-opcao__cores i:first-child,.demo-paleta-opcao__cores i:first-child { margin-left:0; }
.demo-paleta-opcao { min-width:150px; }
.demo-paleta-opcao__cores i { width:22px;height:22px; }
.demo-fonte-opcao {
  min-width:180px;
  display:grid;
  gap:.12rem;
  padding:.5rem .7rem;
  text-align:center;
}
.demo-fonte-opcao strong {
  overflow:visible;
  max-width:100%;
  padding:.08em .18em .14em;
  color:#4a3156;
  font-family:var(--demo-fonte);
  font-size:1.22rem;
  font-weight:400;
  line-height:1.12;
  letter-spacing:var(--demo-tracking,0);
  white-space:normal;
  overflow-wrap:anywhere;
}
.demo-fonte-opcao span { color:#7a6e7e;font-size:.65rem;font-weight:700; }
@media(max-width:620px){
  .demo-acoes-fixas { grid-template-columns:auto 1fr;gap:.45rem;padding-left:.6rem;padding-right:.6rem; }
  .demo-acoes-fixas__tema { display:none; }
  .demo-acoes-fixas__voltar { font-size:.72rem; }
  .demo-acoes-fixas__criar { justify-self:end;min-height:42px;padding:.55rem .85rem;font-size:.74rem; }
  .demo-personalizacao { gap:.8rem;padding:.8rem .65rem .9rem; }
  .demo-personalizacao__titulo { display:grid;gap:.18rem; }
  .demo-personalizacao__titulo span { text-align:left;font-size:.68rem; }
  .demo-tema-opcao { min-width:124px; }
  .demo-paleta-opcao { min-width:140px; }
  .demo-fonte-opcao { min-width:160px; }
}

/* 4.7.20 — monogramas geométricos simples, sem ramos nem brasão genérico. */
.monograma{--monogram-color:var(--c-metal);color:var(--monogram-color);border-color:var(--monogram-color);position:relative}
.monograma::after{border-color:color-mix(in srgb,var(--monogram-color) 72%,transparent)}
.monograma-cor--dourado{--monogram-color:#c8a255}.monograma-cor--prata{--monogram-color:#aeb5bf}.monograma-cor--branco{--monogram-color:#fff}
.monograma--circulo-fino{border-radius:50%;border-width:1px}.monograma--circulo-fino::after{display:none}
.monograma--circulo-duplo{border-radius:50%;border-width:1px}.monograma--circulo-duplo::after{display:block;border-width:1px;border-radius:50%}
.monograma--losango-fino,.monograma--losango-duplo{border-radius:0;transform:rotate(45deg);width:calc(var(--crest-size,120px) * .78);height:calc(var(--crest-size,120px) * .78);margin-block:calc(var(--crest-size,120px) * .11);font-size:0;color:transparent}
.monograma--losango-fino::after{display:none}.monograma--losango-duplo::after{display:block;border-radius:0;border-width:1px}
.monograma--losango-fino::before,.monograma--losango-duplo::before{content:attr(data-monogram-text);display:block;color:var(--monogram-color);font-size:calc(var(--crest-size,120px) * .34);transform:rotate(-45deg)}
.monograma--selo-oval{border-radius:50%;width:calc(var(--crest-size,120px) * .86)}.monograma--selo-oval::after{display:none}
.monograma--sem-contorno{border:0!important;background:none!important;box-shadow:none!important}.monograma--sem-contorno::after{display:none!important}
.tema-disco-cristal .capa::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 17% 24%,rgba(255,255,255,.8) 0 1px,transparent 2px),radial-gradient(circle at 81% 31%,rgba(236,188,255,.75) 0 1.2px,transparent 2.4px),radial-gradient(circle at 72% 78%,rgba(180,218,255,.7) 0 1px,transparent 2px);background-size:170px 190px,230px 210px,190px 240px;animation:prisma-2026-shimmer 3.2s ease-in-out infinite alternate;opacity:.4}
@keyframes prisma-2026-shimmer{from{opacity:.25;filter:brightness(.9)}to{opacity:.7;filter:brightness(1.25)}}
@media(prefers-reduced-motion:reduce){.tema-disco-cristal .capa::after{animation:none;opacity:.38}}

/* 4.7.16 — demonstração compacta: a prévia grande já é a imagem do tema. */
.demo-personalizacao--4716{
  display:grid;grid-template-columns:minmax(220px,.72fr) minmax(420px,1.28fr);align-items:end;gap:.55rem;
  padding:.55rem max(.75rem,env(safe-area-inset-right)) .6rem max(.75rem,env(safe-area-inset-left));
  background:rgba(252,250,253,.98);box-shadow:0 5px 16px rgba(43,29,48,.05);
}
.demo-stepper{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:stretch;gap:.3rem;min-width:0}
.demo-stepper>a{display:grid;place-items:center;min-width:0;border:1px solid #dfd5e2;border-radius:10px;background:#fff;color:#5f4b67;text-decoration:none;font:500 1.45rem/1 Georgia,serif;box-shadow:0 3px 10px rgba(47,32,51,.045)}
.demo-stepper>a:active{background:#f3edf5}
.demo-stepper--theme>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem;min-height:44px;padding:.3rem .55rem;border:1px solid #e3dbe5;border-radius:11px;background:#fff;text-align:center}
.demo-stepper--theme>div>span{color:#8b7e8f;font-size:.54rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.demo-stepper--theme>div>strong{overflow:hidden;color:#3d3242;font-size:.76rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.demo-stepper--theme>div>small{color:#978e9a;font-size:.49rem;font-weight:700;white-space:nowrap}
.demo-secondary-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;min-width:0}
.demo-secondary-controls>article{display:grid;gap:.2rem;min-width:0}
.demo-secondary-controls>article>span{padding-left:.15rem;color:#7d7081;font-size:.52rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.demo-stepper--compact{grid-template-columns:32px minmax(0,1fr) 32px}
.demo-stepper--compact>a{font-size:1.2rem;border-radius:9px}
.demo-stepper--compact>strong{display:flex;align-items:center;justify-content:center;gap:.42rem;min-width:0;min-height:35px;padding:.25rem .38rem;border:1px solid #e3dbe5;border-radius:9px;background:#fff;color:#443849;text-align:center}
.demo-stepper--compact>strong>b{overflow:hidden;font-size:.62rem;line-height:1.05;text-overflow:ellipsis;white-space:nowrap}
.demo-stepper-swatches{display:flex;flex:0 0 auto;align-items:center}
.demo-stepper-swatches i{display:block;width:13px;height:13px;margin-left:-4px;border:1px solid rgba(50,39,52,.12);border-radius:50%;background:var(--demo-cor);box-shadow:0 0 0 1px #fff}
.demo-stepper-swatches i:first-child{margin-left:0}
.demo-stepper--font>strong{display:grid;place-items:center;align-content:center;gap:0}
.demo-stepper--font>strong>b{max-width:100%;padding:.08em .12em;font-family:var(--demo-fonte);font-size:.9rem;font-weight:400;letter-spacing:var(--demo-tracking,0)}
.demo-stepper--font>strong>small{overflow:hidden;max-width:100%;color:#8a7d8e;font-size:.44rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.tem-demo-toolbar .pagina-convite{transition:opacity 180ms ease-out,transform 180ms ease-out}
.tem-demo-toolbar.demo-trocando .pagina-convite{opacity:.52;transform:translateY(3px)}
.tem-demo-toolbar.demo-trocando .demo-personalizacao--4716{pointer-events:none}
@media(max-width:720px){
  .demo-personalizacao--4716{grid-template-columns:1fr;gap:.38rem;padding:.42rem .48rem .48rem}
  .demo-stepper--theme{grid-template-columns:34px minmax(0,1fr) 34px}
  .demo-stepper--theme>div{min-height:36px;padding:.2rem .4rem}.demo-stepper--theme>div>strong{font-size:.69rem}
  .demo-secondary-controls{gap:.35rem}
  .demo-secondary-controls>article>span{font-size:.47rem}
  .demo-stepper--compact{grid-template-columns:27px minmax(0,1fr) 27px;gap:.22rem}
  .demo-stepper--compact>strong{min-height:32px;padding:.18rem .26rem}.demo-stepper--compact>strong>b{font-size:.52rem}
  .demo-stepper--font>strong>b{font-size:.75rem}.demo-stepper--font>strong>small{font-size:.38rem}
  .demo-stepper-swatches i{width:10px;height:10px}
}
@media(prefers-reduced-motion:reduce){.tem-demo-toolbar .pagina-convite{transition:none}}

/* 4.7.17 — retorno visual explícito ao trocar tema, cor ou fonte. O overlay
   também impede cliques repetidos enquanto a resposta nova é validada. */
.demo-change-loading-4717{
  position:fixed;z-index:1290;inset:0;display:grid;place-content:center;justify-items:center;gap:.65rem;
  padding:1.25rem;background:rgba(248,245,249,.76);color:#433649;text-align:center;
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity 170ms ease-out,visibility 170ms ease-out;
  backdrop-filter:blur(4px);
}
.demo-change-loading-4717>i{
  display:block;width:34px;height:34px;border:3px solid rgba(103,58,127,.18);border-top-color:#6f3aa1;border-radius:50%;
  animation:demo-change-spin-4717 .72s linear infinite;
}
.demo-change-loading-4717>strong{font:800 .78rem/1.25 "Jost",Arial,sans-serif;letter-spacing:.01em}
.tem-demo-toolbar.demo-trocando .demo-change-loading-4717{opacity:1;visibility:visible;pointer-events:auto}
.tem-demo-toolbar.demo-trocando :is(.demo-acoes-fixas,.demo-personalizacao--4717){cursor:progress}
@keyframes demo-change-spin-4717{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.demo-change-loading-4717>i{animation-duration:1.4s}}

/* =====================================================================
   4.7.3 — os temas efetivamente mostrados nas capturas
   ---------------------------------------------------------------------
   Baile da Regência e Flores de Aquarela ainda usavam a receita 4.5:
   textura a 70–74%, cantoneira de 92–96px que encolhia novamente no mobile
   e duas artes em cada título. A coleção 4.7 não pode herdar esse contrato.
   ===================================================================== */
body:is(.tema-baile-regencia,.tema-flores-aquarela){
  --layout-gutter:clamp(.9rem,3.6vw,1.25rem);
  --section-space:clamp(1.55rem,4.2vw,2.25rem)!important;
  background-color:var(--c-bg)!important;
  background-image:
    radial-gradient(92% 38% at 50% 0%,color-mix(in srgb,var(--c-surface) 48%,transparent),transparent 74%),
    linear-gradient(180deg,var(--c-bg),color-mix(in srgb,var(--c-bg-deep) 9%,var(--c-bg)))!important;
  background-size:auto!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela)::before{
  content:none!important;
  display:none!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) .capa{
  min-height:min(84svh,45rem)!important;
  padding:clamp(4.6rem,11vw,5.8rem) var(--layout-gutter) clamp(3.8rem,9vw,4.8rem)!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) .capa__conteudo{
  box-sizing:border-box;
  width:min(100%,30rem);
  max-width:30rem;
  margin-inline:auto;
  text-align:center;
}

/* A cantoneira é a assinatura principal da capa. A antiga arte central da
   capa é removida para não criar cinco focos decorativos concorrentes. */
body:is(.tema-baile-regencia,.tema-flores-aquarela) .capa::before{
  content:none!important;
  display:none!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) .cantoneira{
  width:clamp(178px,20vw,224px)!important;
  height:clamp(178px,20vw,224px)!important;
  opacity:.94!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) :is(.cantoneira--tl,.cantoneira--tr){top:0!important}
body:is(.tema-baile-regencia,.tema-flores-aquarela) :is(.cantoneira--bl,.cantoneira--br){bottom:0!important}
body:is(.tema-baile-regencia,.tema-flores-aquarela) :is(.cantoneira--tl,.cantoneira--bl){left:0!important}
body:is(.tema-baile-regencia,.tema-flores-aquarela) :is(.cantoneira--tr,.cantoneira--br){right:0!important}

/* Um título, um divisor e um eixo. O ornamento extra antes do título era o
   desalinhamento/duplicação visível em Traje e Regras da festa. */
body:is(.tema-baile-regencia,.tema-flores-aquarela) .secao__interno::before{
  content:none!important;
  display:none!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) .secao__interno>.titulo-secao{
  box-sizing:border-box;
  width:min(100%,30rem)!important;
  max-width:30rem!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  font-size:clamp(1.4rem,5.6vw,2rem)!important;
  line-height:1.12!important;
  letter-spacing:min(var(--title-tracking,.08em),.1em)!important;
  text-align:center!important;
  text-wrap:balance;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela).divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  width:min(76vw,20rem)!important;
  max-width:20rem!important;
  height:clamp(30px,7vw,46px)!important;
  aspect-ratio:auto!important;
  margin:.35rem auto .88rem!important;
  background-size:contain!important;
  background-position:center!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) :is(.capa__olho,.nome-debutante,.capa__frase,.capa__data,.capa__hora){
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) .nome-debutante{
  font-size:clamp(2.55rem,10.4vw,4.6rem)!important;
  line-height:.98!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) .capa__data{
  max-width:28rem;
  padding-inline:.25rem;
  font-size:clamp(.82rem,3.2vw,1rem)!important;
  line-height:1.45!important;
  letter-spacing:.1em!important;
  text-wrap:balance;
}
@media(max-width:620px){
  body:is(.tema-baile-regencia,.tema-flores-aquarela) .cantoneira{
    width:clamp(184px,50vw,204px)!important;
    height:clamp(184px,50vw,204px)!important;
  }
  body:is(.tema-baile-regencia,.tema-flores-aquarela) .capa{
    min-height:min(82svh,42rem)!important;
    padding:4.55rem .95rem 4.1rem!important;
  }
  body:is(.tema-baile-regencia,.tema-flores-aquarela) .capa__conteudo{width:min(100%,24rem)}
  body:is(.tema-baile-regencia,.tema-flores-aquarela) .nome-debutante{font-size:clamp(2.4rem,10.5vw,3.15rem)!important}
}

/* =====================================================================
   4.6.0 — sistema editorial compacto e invariantes visuais
   ===================================================================== */
html,body{
  width:100%;max-width:100%;overflow-x:clip!important;
  overscroll-behavior-x:none;touch-action:pan-y;
}
body{
  --section-space:clamp(1.55rem,3.8vw,2.7rem);
  --card-padding:clamp(.78rem,2vw,1.15rem);
  background-attachment:scroll!important;
  line-height:var(--body-line-height,1.55);
}
/* Textura e vinheta pertencem ao papel e rolam junto dele. */
body::before,body::after{position:absolute!important;inset:0!important;min-height:100%;height:auto!important;background-attachment:scroll!important}
.convite{width:100%;max-width:100%;overflow:clip}
.secao{
  width:100%;max-width:100%;
  padding:var(--section-space) clamp(.82rem,2.8vw,1.2rem)!important;
}
.secao + .secao{border-top-color:color-mix(in srgb,var(--c-line) 54%,transparent)!important}
.secao__interno{width:min(100%,56rem)!important;max-width:56rem!important;margin-inline:auto!important}
.secao--larga .secao__interno{width:min(100%,64rem)!important;max-width:64rem!important}
.titulo-secao,.secao__interno>.titulo-secao{
  width:auto!important;max-width:min(100%,26ch)!important;
  margin:0 auto .18rem!important;padding:0!important;
  font-size:var(--title-size,clamp(1.35rem,4vw,2.05rem))!important;
  line-height:1.12!important;letter-spacing:min(var(--title-tracking,.08em),.14em)!important;
  text-align:center!important;text-wrap:balance;overflow-wrap:normal!important;word-break:normal!important;
}
.divisor,body:not(.divisor-estilo-theme) .divisor{
  width:min(var(--divider-width,360px),76vw)!important;max-width:720px!important;
  min-height:12px;margin:.62rem auto 1.05rem!important;
}
.tema-com-divisor-imagem .divisor{width:min(var(--divider-width,520px),84vw)!important;background-size:100% 100%!important}
.texto{max-width:48rem;margin-inline:auto;font-size:clamp(.94rem,1.8vw,1.03rem);line-height:1.58}
.texto p{margin-bottom:.75em}
.cartao{padding:var(--card-padding)!important}
.moldura::after{inset:6px}

/* Capa: impacto sem transformar a primeira dobra em uma página inteira vazia. */
.capa{
  box-sizing:border-box;min-height:clamp(35rem,88svh,52rem)!important;
  padding:clamp(3rem,8vh,5rem) 1rem clamp(3.4rem,8vh,5.5rem)!important;
}
.capa__conteudo{width:min(100%,40rem)!important;max-width:40rem!important;margin:auto!important}
.brasao{max-height:clamp(4.5rem,15vh,7.2rem);margin-bottom:.35rem}
.monograma{width:clamp(5.2rem,16vw,7rem)!important;height:clamp(5.2rem,16vw,7rem)!important;margin-bottom:.45rem!important}
.nome-debutante{margin:.24em auto .18em!important;padding:.03em .12em .08em!important}
.capa__frase{max-width:32rem;margin-bottom:.75rem!important;line-height:1.4}
.capa__data{margin-bottom:.18rem!important}
.capa__hora{margin-bottom:1rem!important}
.capa__seta{bottom:1rem!important}

/* Mini-imagens de linha: o PNG fornece somente a máscara; a paleta fornece a cor. */
.item__icone--semantic{
  --semantic-image:var(--illustration-estrela);
  display:grid!important;place-items:center!important;
  width:2.55rem!important;height:2.55rem!important;min-width:2.55rem!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:none!important;box-shadow:none!important;transform:none!important;
  color:var(--theme-icon-color,var(--c-primary))!important;
}
.item__icone--semantic::before{
  content:"";display:block;width:82%;height:82%;background:currentColor;
  -webkit-mask-image:var(--semantic-image);mask-image:var(--semantic-image);
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
}
.item__icone--semantic[data-illustration="convite"]{--semantic-image:var(--illustration-convite)}
.item__icone--semantic[data-illustration="confirmacao"]{--semantic-image:var(--illustration-confirmacao)}
.item__icone--semantic[data-illustration="horario"]{--semantic-image:var(--illustration-horario)}
.item__icone--semantic[data-illustration="camera"]{--semantic-image:var(--illustration-camera)}
.item__icone--semantic[data-illustration="transporte"]{--semantic-image:var(--illustration-transporte)}
.item__icone--semantic[data-illustration="celular-silencioso"]{--semantic-image:var(--illustration-celular-silencioso)}
.item__icone--semantic[data-illustration="pista"]{--semantic-image:var(--illustration-pista)}
.item__icone--semantic[data-illustration="traje"]{--semantic-image:var(--illustration-traje)}
.item__icone--semantic[data-illustration="cor"]{--semantic-image:var(--illustration-cor)}
.item__icone--semantic[data-illustration="estacionamento"]{--semantic-image:var(--illustration-estacionamento)}
.item__icone--semantic[data-illustration="acessibilidade"]{--semantic-image:var(--illustration-acessibilidade)}
.item__icone--semantic[data-illustration="estrela"]{--semantic-image:var(--illustration-estrela)}

/* Regras e traje deixam de ser pílulas gigantes. */
.lista-preset--regras :is(.itens--grade,.itens--lista){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.68rem!important;width:min(100%,48rem)!important;max-width:48rem!important;margin:auto!important;
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item{
  display:grid!important;grid-template-columns:2.55rem minmax(0,1fr)!important;
  align-items:center!important;gap:.65rem!important;min-height:0!important;
  padding:.72rem .78rem!important;border:1px solid var(--c-line)!important;
  border-radius:14px!important;background:color-mix(in srgb,var(--c-surface) 96%,transparent)!important;
  color:var(--c-surface-ink,var(--c-ink))!important;box-shadow:none!important;text-align:left!important;
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){grid-column:1/-1!important;width:calc(50% - .34rem)!important}
.lista-preset--regras .item__icone{margin:0!important}
.lista-preset--regras .item__conteudo{text-align:left!important}
.lista-preset--regras .item__titulo{margin:0 0 .08rem!important;font:750 .88rem/1.28 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;color:var(--c-surface-ink,var(--c-ink))!important}
.lista-preset--regras .item__texto{margin:0!important;font:500 .82rem/1.38 var(--font-body)!important;color:var(--c-surface-ink-soft,var(--c-ink-soft))!important}
.lista-preset--traje :is(.itens--grade,.itens--lista){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.7rem!important;max-width:48rem!important;margin:auto!important}
.lista-preset--traje .item{display:grid!important;grid-template-columns:2.75rem minmax(0,1fr)!important;align-items:center!important;gap:.72rem!important;min-height:0!important;padding:.78rem!important;border-radius:14px!important;background:var(--c-surface)!important;box-shadow:none!important}
.lista-preset--traje .item__icone{background:none!important;border:0!important;color:var(--theme-icon-color,var(--c-primary))!important}

/* Local: primeiro o nome do espaço, depois o endereço; sem repetir a data da capa. */
.programacao{gap:.72rem!important;width:min(100%,52rem);margin:auto}
.programacao>.compromisso{min-width:0;padding:clamp(.78rem,2vw,1rem)!important;border:1px solid var(--c-line)!important;border-radius:14px!important;background:color-mix(in srgb,var(--c-surface) 96%,transparent)!important;box-shadow:none!important}
.compromisso__quando{margin:0 0 .55rem!important;padding:0 0 .45rem!important}
.compromisso__nome{margin:0 0 .12rem!important;font:700 .7rem/1.3 var(--font-body)!important;letter-spacing:.11em!important;color:var(--c-surface-ink-soft,var(--c-ink-soft))!important}
.compromisso__local{margin:0 0 .22rem!important;font:800 clamp(1rem,2.5vw,1.16rem)/1.32 var(--font-body)!important;color:var(--c-surface-ink,var(--c-ink))!important}
.compromisso__endereco{font:500 clamp(.88rem,2vw,.98rem)/1.48 var(--font-body)!important;color:var(--c-surface-ink-soft,var(--c-ink-soft))!important}
.compromisso__nota{margin-top:.35rem!important;font-size:.86rem!important;line-height:1.45!important}
.compromisso__copiar-endereco{min-height:36px!important;padding:.42rem .7rem!important;font-size:.76rem!important}
.compromisso__comodidades{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem!important;margin-top:.55rem!important}
.compromisso__comodidade{grid-template-columns:2.25rem minmax(0,1fr)!important;padding:.58rem .65rem!important;border-radius:12px!important}
.compromisso__comodidade .item__icone{width:2.15rem!important;height:2.15rem!important;min-width:2.15rem!important}

/* Contagem e RSVP continuam completos, mas com ritmo de formulário, não de cartaz. */
.contagem{gap:.45rem!important}
.contagem__item{min-width:4rem!important;padding:.68rem .52rem!important}
.contagem__numero{font-size:clamp(1.45rem,5vw,2.15rem)!important}
.rsvp-cartao{width:min(100%,38rem);margin:auto!important}
.rsvp-cartao .formulario{gap:.75rem!important}
.rsvp-identificacao{margin-bottom:.5rem!important}
.rsvp-identificacao p{margin:0!important}

/* Player funcional e discreto: nenhum ornamento do tema invade o controle. */
.musica{
  display:grid!important;place-items:center!important;
  width:2.8rem!important;height:2.8rem!important;min-width:2.8rem!important;min-height:2.8rem!important;
  max-width:2.8rem!important;max-height:2.8rem!important;padding:0!important;
  border:1px solid color-mix(in srgb,var(--c-primary) 52%,var(--c-line))!important;
  border-radius:50%!important;background:var(--c-surface)!important;color:var(--c-primary)!important;
  box-shadow:0 8px 22px color-mix(in srgb,var(--c-ink) 16%,transparent)!important;
}
.musica__icone{position:static!important;width:1rem!important;height:1rem!important;min-width:1rem!important}
.musica__estado-icone{position:static!important;width:1rem!important;height:1rem!important;min-width:1rem!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:currentColor!important;font:800 .62rem/1 system-ui!important}
.musica__texto{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}

@media(max-width:620px){
  body{--section-space:1.45rem}
  .capa{min-height:86svh!important;padding-inline:.85rem!important}
  .secao{padding-left:.82rem!important;padding-right:.82rem!important}
  .lista-preset--regras :is(.itens--grade,.itens--lista){gap:.5rem!important}
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item{grid-template-columns:2rem minmax(0,1fr)!important;gap:.45rem!important;padding:.58rem!important;border-radius:11px!important}
  .lista-preset--regras .item__icone{width:2rem!important;height:2rem!important;min-width:2rem!important}
  .lista-preset--regras .item__titulo{font-size:max(.76rem,12px)!important}
  .lista-preset--regras .item__texto{font-size:max(.74rem,11.8px)!important;line-height:1.32!important}
  .lista-preset--traje :is(.itens--grade,.itens--lista),.compromisso__comodidades{grid-template-columns:1fr!important}
  .programacao>.compromisso{padding:.72rem!important}
  .compromisso__endereco-linha{align-items:flex-start!important}
  .compromisso__copiar-endereco{flex:0 0 auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Font sets legados preservam os microajustes históricos acima. Quando a
   combinação passa pelo contrato tipográfico v2, o Admin volta a ter controle
   explícito desses mesmos atributos sem alterar temas antigos silenciosamente. */
.tipografia-avancada.tema-social-chic .titulo-secao { text-transform:var(--title-transform, none);letter-spacing:var(--title-tracking, .02em); }
.tipografia-avancada.tema-perola-rose .titulo-secao { letter-spacing:var(--title-tracking, clamp(.09em,1.4vw,.18em)); }
.tipografia-avancada.tema-lacre-imperial .titulo-secao { font-size:var(--title-size, clamp(1.35rem,4.6vw,2rem)); }
.tipografia-avancada.tema-social-chic .botao { letter-spacing:var(--button-tracking, .07em);text-transform:var(--button-transform, none);font-weight:var(--button-weight, 700); }


/* ---------------------------------------------------------------------
   Componentes avançados — opt-in por propriedade
   ------------------------------------------------------------------
   Cada classe `*-theme` preserva o CSS histórico do tema. As regras abaixo
   ficam no fim do arquivo para que uma escolha explícita do Admin possa
   sobrescrever microajustes antigos sem reescrevê-los. */
body:not(.conteudo-largura-theme) .secao__interno {
  max-width: var(--content-width, 46rem);
}
body:not(.conteudo-largura-theme) .secao--larga .secao__interno {
  max-width: var(--content-wide-width, 64rem);
}

body:not(.secoes-espaco-theme) .secao {
  padding-top: clamp(1.6rem, 5vw, var(--component-section-space, 3.15rem));
  padding-bottom: clamp(1.6rem, 5vw, var(--component-section-space, 3.15rem));
}

body:not(.cartao-superficie-theme) :is(.cartao,.item,.contagem__item,.acordeao) {
  background: var(--component-card-bg, var(--card-bg, var(--c-surface)));
}
body:not(.cartao-raio-theme) :is(.cartao,.item,.contagem__item,.acordeao) {
  border-radius: var(--component-card-radius, var(--radius, 4px));
}
body:not(.cartao-borda-theme) :is(.cartao,.item,.contagem__item,.acordeao) {
  border: var(--component-card-border, var(--card-border, 1px solid var(--c-line)));
}
body:not(.cartao-sombra-theme) :is(.cartao,.item,.contagem__item,.acordeao) {
  box-shadow: var(--component-card-shadow, var(--shadow, none));
}
body:not(.cartao-padding-theme) :is(.cartao,.item,.contagem__item) {
  padding: var(--component-card-padding, clamp(1.2rem, 3.8vw, 2rem));
}

body:not(.botao-formato-theme) .botao {
  border-radius: var(--component-button-radius, var(--radius-sm, 3px));
}
body:not(.botao-tamanho-theme) .botao:not(.botao--pequeno) {
  min-height: var(--component-button-height, 3rem);
  padding: var(--component-button-padding-y, .8rem) var(--component-button-padding-x, 1.9rem);
  font-size: var(--component-button-font-size, .8rem);
}
.botao-estilo-solid .botao:not(.botao--contorno) {
  color: var(--c-button-ink, var(--c-primary-ink, #fff));
  background: var(--c-button-bg, var(--c-primary));
  border-color: var(--c-button-bg, var(--c-primary));
}
.botao-estilo-outline .botao:not(.botao--contorno) {
  color: var(--c-button-bg, var(--c-primary));
  background: transparent;
  border-color: color-mix(in srgb, var(--c-button-bg, var(--c-primary)) 66%, transparent);
}
.botao-estilo-soft .botao:not(.botao--contorno) {
  color: var(--c-primary);
  background: color-mix(in srgb, var(--c-primary) 9%, var(--c-surface));
  border-color: color-mix(in srgb, var(--c-primary) 24%, transparent);
}

/* ---------------------------------------------------------------------
   Responsividade avançada — desktop é a base
   ------------------------------------------------------------------
   Estas regras são opt-in. Sem uma classe resp-*, os breakpoints históricos
   acima continuam sendo a única autoridade e nenhum tema antigo muda.
   Mobile: até 639px. Tablet: 640–899px. Desktop herda a composição base. */
@media (max-width: 639px) {
  body.resp-mobile-spacing-compact .secao { padding-top:1.55rem;padding-bottom:1.55rem; }
  body.resp-mobile-spacing-balanced .secao { padding-top:2.35rem;padding-bottom:2.35rem; }
  body.resp-mobile-spacing-airy .secao { padding-top:3.15rem;padding-bottom:3.15rem; }

  body.resp-mobile-padding-tight :is(.secao,.capa) { padding-left:.7rem;padding-right:.7rem; }
  body.resp-mobile-padding-standard :is(.secao,.capa) { padding-left:1.1rem;padding-right:1.1rem; }
  body.resp-mobile-padding-wide :is(.secao,.capa) { padding-left:1.55rem;padding-right:1.55rem; }

  body.resp-mobile-type-compact { --body-size:.94rem;--title-size:clamp(1.3rem,7vw,1.75rem);--name-size:clamp(2.35rem,11vw,4.6rem); }
  body.resp-mobile-type-standard { --body-size:1rem;--title-size:clamp(1.45rem,7.4vw,2rem);--name-size:clamp(2.7rem,12.2vw,5.15rem); }
  body.resp-mobile-type-large { --body-size:1.08rem;--title-size:clamp(1.65rem,8.2vw,2.25rem);--name-size:clamp(3.05rem,13.5vw,5.7rem); }
  body:is(.resp-mobile-type-compact,.resp-mobile-type-standard,.resp-mobile-type-large) .titulo-secao { font-size:var(--title-size); }
  body:is(.resp-mobile-type-compact,.resp-mobile-type-standard,.resp-mobile-type-large) .nome-debutante { font-size:var(--name-size); }
  body.resp-mobile-type-compact .nome-debutante[data-nome-longo="1"] { font-size:clamp(2.05rem,8.7vw,3.9rem); }
  body.resp-mobile-type-standard .nome-debutante[data-nome-longo="1"] { font-size:clamp(2.3rem,9.4vw,4.55rem); }
  body.resp-mobile-type-large .nome-debutante[data-nome-longo="1"] { font-size:clamp(2.55rem,10.4vw,4.95rem); }
  body.resp-mobile-type-compact .nome-debutante[data-nome-muito-longo="1"] { font-size:clamp(1.75rem,7.1vw,3.3rem); }
  body.resp-mobile-type-standard .nome-debutante[data-nome-muito-longo="1"] { font-size:clamp(1.95rem,7.7vw,3.85rem); }
  body.resp-mobile-type-large .nome-debutante[data-nome-muito-longo="1"] { font-size:clamp(2.1rem,8.4vw,4.2rem); }

  body.resp-mobile-crest-small { --crest-size:84px; }
  body.resp-mobile-crest-standard { --crest-size:120px; }
  body.resp-mobile-crest-large { --crest-size:156px; }
  body:is(.resp-mobile-crest-small,.resp-mobile-crest-standard,.resp-mobile-crest-large) .brasao { width:var(--crest-size);max-width:none; }
  body:is(.resp-mobile-crest-small,.resp-mobile-crest-standard,.resp-mobile-crest-large) .monograma { width:var(--crest-size);height:var(--crest-size);font-size:calc(var(--crest-size) * .34); }
  body:is(.resp-mobile-crest-small,.resp-mobile-crest-standard,.resp-mobile-crest-large) .monograma[data-iniciais="2"] { font-size:calc(var(--crest-size) * .28); }

  body.resp-mobile-corners-reduced .cantoneira {
    width:calc(var(--corner-size,140px) * var(--corner-mobile-scale,.62) * .72);
    height:calc(var(--corner-size,140px) * var(--corner-mobile-scale,.62) * .72);
  }
  body.resp-mobile-corners-hide .cantoneiras { display:none!important; }

  body.resp-mobile-gallery-1 .galeria:not(.galeria--faixa) { grid-template-columns:1fr; }
  body.resp-mobile-gallery-2 .galeria:not(.galeria--faixa) { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width: 640px) and (max-width: 899px) {
  body.resp-tablet-spacing-compact .secao { padding-top:2.2rem;padding-bottom:2.2rem; }
  body.resp-tablet-spacing-balanced .secao { padding-top:3.15rem;padding-bottom:3.15rem; }
  body.resp-tablet-spacing-airy .secao { padding-top:4.2rem;padding-bottom:4.2rem; }

  body.resp-tablet-padding-tight :is(.secao,.capa) { padding-left:.9rem;padding-right:.9rem; }
  body.resp-tablet-padding-standard :is(.secao,.capa) { padding-left:1.5rem;padding-right:1.5rem; }
  body.resp-tablet-padding-wide :is(.secao,.capa) { padding-left:2.2rem;padding-right:2.2rem; }

  body.resp-tablet-width-narrow { --content-width:38rem;--content-wide-width:52rem; }
  body.resp-tablet-width-standard { --content-width:46rem;--content-wide-width:64rem; }
  body.resp-tablet-width-wide { --content-width:58rem;--content-wide-width:72rem; }

  body.resp-tablet-type-compact { --body-size:.96rem;--title-size:clamp(1.45rem,3.8vw,1.95rem);--name-size:clamp(3rem,8vw,4.8rem); }
  body.resp-tablet-type-standard { --body-size:1.04rem;--title-size:clamp(1.65rem,4.2vw,2.25rem);--name-size:clamp(3.5rem,8.8vw,5.6rem); }
  body.resp-tablet-type-large { --body-size:1.12rem;--title-size:clamp(1.9rem,4.7vw,2.55rem);--name-size:clamp(4rem,9.7vw,6.3rem); }
  body:is(.resp-tablet-type-compact,.resp-tablet-type-standard,.resp-tablet-type-large) .titulo-secao { font-size:var(--title-size); }
  body:is(.resp-tablet-type-compact,.resp-tablet-type-standard,.resp-tablet-type-large) .nome-debutante { font-size:var(--name-size); }
  body.resp-tablet-type-compact .nome-debutante[data-nome-longo="1"] { font-size:clamp(2.65rem,6.6vw,4.2rem); }
  body.resp-tablet-type-standard .nome-debutante[data-nome-longo="1"] { font-size:clamp(3rem,7.2vw,4.85rem); }
  body.resp-tablet-type-large .nome-debutante[data-nome-longo="1"] { font-size:clamp(3.35rem,7.9vw,5.35rem); }
  body.resp-tablet-type-compact .nome-debutante[data-nome-muito-longo="1"] { font-size:clamp(2.25rem,5.6vw,3.65rem); }
  body.resp-tablet-type-standard .nome-debutante[data-nome-muito-longo="1"] { font-size:clamp(2.55rem,6.1vw,4.15rem); }
  body.resp-tablet-type-large .nome-debutante[data-nome-muito-longo="1"] { font-size:clamp(2.85rem,6.7vw,4.6rem); }

  body.resp-tablet-crest-small { --crest-size:100px; }
  body.resp-tablet-crest-standard { --crest-size:135px; }
  body.resp-tablet-crest-large { --crest-size:175px; }
  body:is(.resp-tablet-crest-small,.resp-tablet-crest-standard,.resp-tablet-crest-large) .brasao { width:var(--crest-size);max-width:none; }
  body:is(.resp-tablet-crest-small,.resp-tablet-crest-standard,.resp-tablet-crest-large) .monograma { width:var(--crest-size);height:var(--crest-size);font-size:calc(var(--crest-size) * .34); }
  body:is(.resp-tablet-crest-small,.resp-tablet-crest-standard,.resp-tablet-crest-large) .monograma[data-iniciais="2"] { font-size:calc(var(--crest-size) * .28); }

  body.resp-tablet-corners-reduced .cantoneira { width:calc(var(--corner-size,140px) * .78);height:calc(var(--corner-size,140px) * .78); }
  body.resp-tablet-corners-hide .cantoneiras { display:none!important; }

  body.resp-tablet-gallery-2 .galeria:not(.galeria--faixa) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.resp-tablet-gallery-3 .galeria:not(.galeria--faixa) { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.resp-tablet-gallery-4 .galeria:not(.galeria--faixa) { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media print {
  /* Responsividade avançada — reset de impressão: a portaria/impressão continua compacta. */
  body[class*="resp-"] .secao { padding:.75rem 0; }
  body[class*="resp-"] .capa { padding:1rem 0; }
}

/* 4.0.10 — Theme Studio simples: papéis tipográficos explícitos */
.capa__frase { font-family: var(--font-cover-phrase, var(--font-title)); }
.capa__olho,
.capa__data,
.capa__hora { font-family: var(--font-cover-meta, var(--font-title)); }
.subtitulo { font-family: var(--font-subtitle, var(--font-title)); }
.contagem__numero,
.contagem__realizada { font-family: var(--font-countdown, var(--font-title)); }
.compromisso__hora,
.compromisso__nome { font-family: var(--font-schedule, var(--font-title)); }
.item__titulo,
.acordeao > summary,
.rsvp-identificacao h3 { font-family: var(--font-item, var(--font-title)); }
body.tipografia-avancada .capa__frase{font-size:var(--cover-phrase-size,var(--title-size))!important}
body.tipografia-avancada :is(.capa__olho,.capa__data,.capa__hora){font-size:var(--cover-meta-size,var(--body-size))!important}
body.tipografia-avancada .subtitulo{font-size:var(--subtitle-size,var(--body-size))!important}
body.tipografia-avancada :is(.contagem__numero,.contagem__realizada){font-size:var(--countdown-size,var(--title-size))!important}
body.tipografia-avancada :is(.compromisso__hora,.compromisso__nome){font-size:var(--schedule-size,var(--body-size))!important}
body.tipografia-avancada :is(.item__titulo,.acordeao>summary,.rsvp-identificacao h3){font-size:var(--item-size,var(--body-size))!important}
body.tipografia-avancada .botao{font-size:var(--button-size,var(--body-size))!important}

/* Divisor em arte. O asset é sempre ornamental e não interfere no conteúdo. */
body.divisor-estilo-image.tema-com-divisor-imagem .divisor {
  display:block;
  width:min(var(--divider-width, 288px), 92vw);
  max-width:none;
  height:clamp(34px, 8vw, 72px);
  margin:1rem auto 1.55rem;
  opacity:var(--divider-opacity, 1);
  background:var(--theme-divider-image) center / contain no-repeat;
}
body.divisor-estilo-image.tema-com-divisor-imagem .divisor::before,
body.divisor-estilo-image.tema-com-divisor-imagem .divisor::after,
body.divisor-estilo-image.tema-com-divisor-imagem .divisor__marca { display:none; }

/* Família visual dos ícones. A biblioteca de desenhos continua sendo a mesma. */
.item__icone { color:var(--theme-icon-color, var(--c-primary)); }
body.icones-familia-outline .item__icone {
  border:1px solid color-mix(in srgb,var(--theme-icon-color,var(--c-primary)) 52%,transparent);
  border-radius:50%;
  background:transparent;
  box-shadow:none;
}
body.icones-familia-soft .item__icone {
  border:0;
  border-radius:50%;
  background:color-mix(in srgb,var(--theme-icon-color,var(--c-primary)) 11%,var(--c-surface));
  box-shadow:none;
}
body.icones-familia-solid .item__icone {
  border:0;
  border-radius:50%;
  background:var(--theme-icon-color,var(--c-primary));
  color:var(--c-surface,#fff);
  box-shadow:none;
}
body.icones-familia-minimal .item__icone {
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.icones-familia-square .item__icone {
  border:1px solid color-mix(in srgb,var(--theme-icon-color,var(--c-primary)) 48%,transparent);
  border-radius:.55rem;
  background:color-mix(in srgb,var(--theme-icon-color,var(--c-primary)) 5%,var(--c-surface));
  box-shadow:none;
}
body.icones-familia-jewel .item__icone {
  border:1px solid color-mix(in srgb,var(--c-metal) 72%,transparent);
  border-radius:50% 50% 44% 56%;
  background:linear-gradient(145deg,color-mix(in srgb,var(--c-metal) 14%,var(--c-surface)),var(--c-surface));
  box-shadow:0 5px 14px color-mix(in srgb,var(--c-metal) 16%,transparent);
}

/* Densidade do tema: "normal" não sobrescreve o desenho histórico. */
body.densidade-tema-compact { --section-space:clamp(2.2rem,6vw,4rem); --card-padding:clamp(.9rem,2.6vw,1.35rem); }
body.densidade-tema-airy { --section-space:clamp(4.6rem,12vw,8rem); --card-padding:clamp(1.55rem,4.5vw,2.45rem); }
body.densidade-texto-compact { --theme-body-line-height:1.5; }
body.densidade-texto-normal { --theme-body-line-height:1.75; }
body.densidade-texto-airy { --theme-body-line-height:1.95; }
body[class*="densidade-texto-"] { line-height:var(--theme-body-line-height,1.75); }
body[class*="densidade-texto-"] .texto p,
body[class*="densidade-texto-"] .item__texto,
body[class*="densidade-texto-"] .compromisso__endereco,
body[class*="densidade-texto-"] .compromisso__nota { line-height:var(--theme-body-line-height,1.75); }

/* 4.0.11 — guia visual do tema e tamanho real dos ícones. */
.item__icone {
  width:var(--theme-icon-size, 38px);
  height:var(--theme-icon-size, 38px);
  min-width:var(--theme-icon-size, 38px);
}
.item__icone svg { width:calc(var(--theme-icon-size,38px) * .48);height:calc(var(--theme-icon-size,38px) * .48); }
.item__icone i { font-size:calc(var(--theme-icon-size,38px) * .45); }
.theme-guide-icon{display:none;width:72%;height:72%;background-color:currentColor;background-repeat:no-repeat;background-position:center;background-size:contain}
body.icones-familia-guide .item__icone{border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--theme-icon-color,var(--c-primary));}
body.icones-familia-guide .theme-icon-fallback{display:none}
body.icones-familia-guide .theme-guide-icon{display:block;background-color:transparent;background-image:var(--theme-guide-icon-fallback,none)}
body.icones-familia-guide .theme-guide-icon--traje-feminino{background-image:var(--theme-guide-icon-traje-feminino)}
body.icones-familia-guide .theme-guide-icon--traje-masculino{background-image:var(--theme-guide-icon-traje-masculino)}
body.icones-familia-guide .theme-guide-icon--horario{background-image:var(--theme-guide-icon-horario)}
body.icones-familia-guide .theme-guide-icon--data{background-image:var(--theme-guide-icon-data)}
body.icones-familia-guide .theme-guide-icon--local{background-image:var(--theme-guide-icon-local)}
body.icones-familia-guide .theme-guide-icon--mapa{background-image:var(--theme-guide-icon-mapa)}
body.icones-familia-guide .theme-guide-icon--estacionamento{background-image:var(--theme-guide-icon-estacionamento)}
body.icones-familia-guide .theme-guide-icon--carro{background-image:var(--theme-guide-icon-carro)}
body.icones-familia-guide .theme-guide-icon--presente{background-image:var(--theme-guide-icon-presente)}
body.icones-familia-guide .theme-guide-icon--musica{background-image:var(--theme-guide-icon-musica)}
body.icones-familia-guide .theme-guide-icon--valsa{background-image:var(--theme-guide-icon-valsa)}
body.icones-familia-guide .theme-guide-icon--camera{background-image:var(--theme-guide-icon-camera)}
body.icones-familia-guide .theme-guide-icon--galeria{background-image:var(--theme-guide-icon-galeria)}
body.icones-familia-guide .theme-guide-icon--confirmacao{background-image:var(--theme-guide-icon-confirmacao)}
body.icones-familia-guide .theme-guide-icon--mensagem{background-image:var(--theme-guide-icon-mensagem)}
body.icones-familia-guide .theme-guide-icon--telefone{background-image:var(--theme-guide-icon-telefone)}
body.icones-familia-guide .theme-guide-icon--whatsapp{background-image:var(--theme-guide-icon-whatsapp)}
body.icones-familia-guide .theme-guide-icon--acessibilidade{background-image:var(--theme-guide-icon-acessibilidade)}
body.icones-familia-guide .theme-guide-icon--regras{background-image:var(--theme-guide-icon-regras)}
body.icones-familia-guide .theme-guide-icon--informacao{background-image:var(--theme-guide-icon-informacao)}
body.icones-familia-guide .theme-guide-icon--festa{background-image:var(--theme-guide-icon-festa)}
body.icones-familia-guide .theme-guide-icon--bolo{background-image:var(--theme-guide-icon-bolo)}
body.icones-familia-guide .theme-guide-icon--bebida{background-image:var(--theme-guide-icon-bebida)}
body.icones-familia-guide .theme-guide-icon--comida{background-image:var(--theme-guide-icon-comida)}
body.icones-familia-guide .theme-guide-icon--cor{background-image:var(--theme-guide-icon-cor)}
body.icones-familia-guide .theme-guide-icon--estrela{background-image:var(--theme-guide-icon-estrela)}
body.icones-familia-guide .theme-guide-icon--coracao{background-image:var(--theme-guide-icon-coracao)}
body.icones-familia-guide .theme-guide-icon--coroa{background-image:var(--theme-guide-icon-coroa)}
body.icones-familia-guide .theme-guide-icon--joia{background-image:var(--theme-guide-icon-joia)}
body.icones-familia-guide .theme-guide-icon--magia{background-image:var(--theme-guide-icon-magia)}
body.icones-familia-guide .theme-guide-icon--idade{background-image:var(--theme-guide-icon-idade)}
body.icones-familia-guide .theme-guide-icon--convite{background-image:var(--theme-guide-icon-convite)}

/* Artes complementares da guia: sempre decorativas e fora do corredor de leitura. */
body.tema-com-guia-elementos .capa::before{content:"";position:absolute;left:50%;top:clamp(.4rem,2vw,1.2rem);transform:translateX(-50%);width:min(92vw,720px);height:clamp(100px,20vw,220px);background:var(--theme-cover-ornament-image) center top/contain no-repeat;pointer-events:none;z-index:1}
body.tema-com-guia-elementos .secao__interno::before{content:"";display:block;width:min(88vw,620px);height:clamp(48px,9vw,92px);margin:0 auto clamp(.35rem,1vw,.7rem);background:var(--theme-section-ornament-image) center/contain no-repeat;pointer-events:none;opacity:.92}
body.tema-com-guia-elementos .bloco__foto{position:relative;padding:clamp(.45rem,1.2vw,.8rem)}
body.tema-com-guia-elementos .bloco__foto::after{content:"";position:absolute;inset:0;background:var(--theme-photo-frame-image) center/100% 100% no-repeat;pointer-events:none;z-index:2}
body.tema-com-guia-elementos .rodape::before{width:min(78vw,520px);height:72px;margin:0 auto .5rem;background:var(--theme-footer-ornament-image) center/contain no-repeat;opacity:.9}
body.tema-com-guia-elementos .capa__olho::before{content:"";display:inline-block;width:1.4em;height:1.4em;margin-right:.38em;vertical-align:-.34em;background:var(--theme-accent-image) center/contain no-repeat;pointer-events:none}
/* Recoloração segura: os PNGs do guia viram máscaras alfa. */
body.icones-familia-guide .theme-guide-icon{background-image:none!important;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
body.icones-familia-guide .theme-guide-icon--traje-feminino{-webkit-mask-image:var(--theme-guide-icon-traje-feminino);mask-image:var(--theme-guide-icon-traje-feminino)}
body.icones-familia-guide .theme-guide-icon--traje-masculino{-webkit-mask-image:var(--theme-guide-icon-traje-masculino);mask-image:var(--theme-guide-icon-traje-masculino)}
body.icones-familia-guide .theme-guide-icon--horario{-webkit-mask-image:var(--theme-guide-icon-horario);mask-image:var(--theme-guide-icon-horario)}
body.icones-familia-guide .theme-guide-icon--data{-webkit-mask-image:var(--theme-guide-icon-data);mask-image:var(--theme-guide-icon-data)}
body.icones-familia-guide .theme-guide-icon--local{-webkit-mask-image:var(--theme-guide-icon-local);mask-image:var(--theme-guide-icon-local)}
body.icones-familia-guide .theme-guide-icon--mapa{-webkit-mask-image:var(--theme-guide-icon-mapa);mask-image:var(--theme-guide-icon-mapa)}
body.icones-familia-guide .theme-guide-icon--estacionamento{-webkit-mask-image:var(--theme-guide-icon-estacionamento);mask-image:var(--theme-guide-icon-estacionamento)}
body.icones-familia-guide .theme-guide-icon--carro{-webkit-mask-image:var(--theme-guide-icon-carro);mask-image:var(--theme-guide-icon-carro)}
body.icones-familia-guide .theme-guide-icon--presente{-webkit-mask-image:var(--theme-guide-icon-presente);mask-image:var(--theme-guide-icon-presente)}
body.icones-familia-guide .theme-guide-icon--musica{-webkit-mask-image:var(--theme-guide-icon-musica);mask-image:var(--theme-guide-icon-musica)}
body.icones-familia-guide .theme-guide-icon--valsa{-webkit-mask-image:var(--theme-guide-icon-valsa);mask-image:var(--theme-guide-icon-valsa)}
body.icones-familia-guide .theme-guide-icon--camera{-webkit-mask-image:var(--theme-guide-icon-camera);mask-image:var(--theme-guide-icon-camera)}
body.icones-familia-guide .theme-guide-icon--galeria{-webkit-mask-image:var(--theme-guide-icon-galeria);mask-image:var(--theme-guide-icon-galeria)}
body.icones-familia-guide .theme-guide-icon--confirmacao{-webkit-mask-image:var(--theme-guide-icon-confirmacao);mask-image:var(--theme-guide-icon-confirmacao)}
body.icones-familia-guide .theme-guide-icon--mensagem{-webkit-mask-image:var(--theme-guide-icon-mensagem);mask-image:var(--theme-guide-icon-mensagem)}
body.icones-familia-guide .theme-guide-icon--telefone{-webkit-mask-image:var(--theme-guide-icon-telefone);mask-image:var(--theme-guide-icon-telefone)}
body.icones-familia-guide .theme-guide-icon--whatsapp{-webkit-mask-image:var(--theme-guide-icon-whatsapp);mask-image:var(--theme-guide-icon-whatsapp)}
body.icones-familia-guide .theme-guide-icon--acessibilidade{-webkit-mask-image:var(--theme-guide-icon-acessibilidade);mask-image:var(--theme-guide-icon-acessibilidade)}
body.icones-familia-guide .theme-guide-icon--regras{-webkit-mask-image:var(--theme-guide-icon-regras);mask-image:var(--theme-guide-icon-regras)}
body.icones-familia-guide .theme-guide-icon--informacao{-webkit-mask-image:var(--theme-guide-icon-informacao);mask-image:var(--theme-guide-icon-informacao)}
body.icones-familia-guide .theme-guide-icon--festa{-webkit-mask-image:var(--theme-guide-icon-festa);mask-image:var(--theme-guide-icon-festa)}
body.icones-familia-guide .theme-guide-icon--bolo{-webkit-mask-image:var(--theme-guide-icon-bolo);mask-image:var(--theme-guide-icon-bolo)}
body.icones-familia-guide .theme-guide-icon--bebida{-webkit-mask-image:var(--theme-guide-icon-bebida);mask-image:var(--theme-guide-icon-bebida)}
body.icones-familia-guide .theme-guide-icon--comida{-webkit-mask-image:var(--theme-guide-icon-comida);mask-image:var(--theme-guide-icon-comida)}
body.icones-familia-guide .theme-guide-icon--cor{-webkit-mask-image:var(--theme-guide-icon-cor);mask-image:var(--theme-guide-icon-cor)}
body.icones-familia-guide .theme-guide-icon--estrela{-webkit-mask-image:var(--theme-guide-icon-estrela);mask-image:var(--theme-guide-icon-estrela)}
body.icones-familia-guide .theme-guide-icon--coracao{-webkit-mask-image:var(--theme-guide-icon-coracao);mask-image:var(--theme-guide-icon-coracao)}
body.icones-familia-guide .theme-guide-icon--coroa{-webkit-mask-image:var(--theme-guide-icon-coroa);mask-image:var(--theme-guide-icon-coroa)}
body.icones-familia-guide .theme-guide-icon--joia{-webkit-mask-image:var(--theme-guide-icon-joia);mask-image:var(--theme-guide-icon-joia)}
body.icones-familia-guide .theme-guide-icon--magia{-webkit-mask-image:var(--theme-guide-icon-magia);mask-image:var(--theme-guide-icon-magia)}
body.icones-familia-guide .theme-guide-icon--idade{-webkit-mask-image:var(--theme-guide-icon-idade);mask-image:var(--theme-guide-icon-idade)}
body.icones-familia-guide .theme-guide-icon--convite{-webkit-mask-image:var(--theme-guide-icon-convite);mask-image:var(--theme-guide-icon-convite)}

/* 4.0.14 — Renderer oficial do Capítulo 15 Theme Composer 1.
   Tudo é opt-in por `composer-v1`; temas anteriores permanecem intactos. */
body.composer-v1.composer-com-page-texture::before { display:block;opacity:.16;background:var(--theme-page-texture-image) center/640px auto repeat; }

body.composer-v1 .capa { isolation:isolate;min-height:min(96svh,58rem); }
body.composer-v1.composer-com-cover-background .capa { background-image:linear-gradient(180deg,color-mix(in srgb,var(--c-bg) 58%,transparent),color-mix(in srgb,var(--c-bg) 72%,transparent)),var(--theme-cover-background-image);background-position:center;background-size:cover; }
body.composer-v1.composer-com-cover-ornament .capa::before { content:"";position:absolute;z-index:1;inset:0;background:var(--theme-cover-ornament-image) center/contain no-repeat;pointer-events:none; }
body.composer-v1.recipe-cover-framed .capa::after,
body.composer-v1.recipe-cover-royal .capa::after { content:"";position:absolute;z-index:2;inset:clamp(.75rem,3vw,2rem);border:1px solid color-mix(in srgb,var(--c-metal) 68%,transparent);outline:1px solid color-mix(in srgb,var(--c-metal) 25%,transparent);outline-offset:-.5rem;pointer-events:none; }
body.composer-v1.recipe-cover-minimal.composer-com-cover-ornament .capa::before { opacity:.22;background-size:72% auto;background-position:center bottom; }
body.composer-v1.recipe-cover-botanical.composer-com-cover-ornament .capa::before { background-size:min(96vw,900px) auto;background-position:center bottom; }
body.composer-v1.recipe-cover-cinematic .capa { min-height:100svh;background-position:center; }
body.composer-v1.recipe-cover-cinematic .capa::after { content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--c-ink) 28%,transparent),transparent 32% 62%,color-mix(in srgb,var(--c-ink) 34%,transparent));pointer-events:none; }
body.composer-v1.recipe-cover-royal .monograma { border-width:3px;border-style:double;border-radius:50% 50% 42% 58%;box-shadow:0 10px 28px color-mix(in srgb,var(--c-metal) 22%,transparent); }

body.composer-v1.composer-com-section-ornament .secao__interno::after { content:"";position:absolute;z-index:-1;top:-1.1rem;right:-.65rem;width:clamp(70px,18vw,130px);aspect-ratio:1;background:var(--theme-section-ornament-image) center/contain no-repeat;opacity:.34;pointer-events:none; }
body.composer-v1.recipe-sections-clean .secao { background:transparent; }
body.composer-v1.recipe-sections-editorial .secao__interno { max-width:min(var(--content-width,46rem),88vw); }
body.composer-v1.recipe-sections-editorial .titulo-secao { text-align:left; }
body.composer-v1.recipe-sections-editorial .divisor { margin-left:0; }
body.composer-v1.recipe-sections-paper .secao__interno { padding:clamp(1.2rem,4vw,2.5rem);border:1px solid color-mix(in srgb,var(--c-line) 82%,transparent);border-radius:var(--radius);background:color-mix(in srgb,var(--c-surface) 88%,transparent);box-shadow:0 18px 48px color-mix(in srgb,var(--c-ink) 8%,transparent); }
body.composer-v1.recipe-sections-soft .secao:nth-of-type(even) { background:color-mix(in srgb,var(--c-bg-deep) 58%,transparent); }
body.composer-v1.recipe-sections-contrast .secao:nth-of-type(even) { color:var(--c-primary-ink);background:var(--c-primary); }
body.composer-v1.recipe-sections-contrast .secao:nth-of-type(even) :is(.titulo-secao,.texto,.item__titulo,.compromisso__local) { color:var(--c-primary-ink); }
body.composer-v1.recipe-sections-contrast .secao:nth-of-type(even) :is(.item__texto,.compromisso__endereco,.compromisso__nota) { color:color-mix(in srgb,var(--c-primary-ink) 88%,transparent); }

body.composer-v1.recipe-history-photo-led .bloco--com-foto { align-items:center;gap:clamp(1.5rem,5vw,4rem); }
body.composer-v1.composer-com-photo-frame .bloco__foto { position:relative;padding:clamp(.45rem,1.5vw,.9rem);overflow:visible; }
body.composer-v1.composer-com-photo-frame .bloco__foto::after { content:"";position:absolute;z-index:2;inset:0;background:var(--theme-photo-frame-image) center/100% 100% no-repeat;pointer-events:none; }
body.composer-v1.recipe-history-editorial .bloco--com-foto .texto { font-family:var(--font-title);font-size:1.12em; }
body.composer-v1.recipe-history-timeline .bloco--com-foto { display:grid;grid-template-columns:1fr; }
body.composer-v1.recipe-history-timeline .bloco--com-foto .texto { padding-left:1.4rem;border-left:1px solid var(--c-metal); }
body.composer-v1.recipe-history-cards .bloco--com-foto > * { padding:1.2rem;border:1px solid var(--c-line);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow); }

body.composer-v1.recipe-items-cards :is(.itens--grade,.itens--lista) .item { padding:1rem;border:1px solid var(--c-line);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow); }
body.composer-v1.recipe-items-list :is(.itens--grade,.itens--lista) { display:grid;grid-template-columns:1fr;gap:.7rem; }
body.composer-v1.recipe-items-list .item { max-width:none;padding-bottom:.7rem;border-bottom:1px solid var(--c-line); }
body.composer-v1.recipe-items-clean .item__icone { border:0;background:transparent; }

body.composer-v1.recipe-program-timeline .programacao { position:relative;padding-left:1.75rem; }
body.composer-v1.recipe-program-timeline .programacao::before { content:"";position:absolute;left:5px;top:.6rem;bottom:.6rem;width:1px;background:var(--c-metal);opacity:.7; }
body.composer-v1.recipe-program-timeline .compromisso::before { content:"";position:absolute;left:-1.75rem;top:.75rem;width:11px;height:11px;border:1px solid var(--c-metal);background:var(--c-bg);transform:rotate(45deg); }
body.composer-v1.recipe-program-timeline .compromisso { position:relative; }
body.composer-v1.recipe-program-cards .programacao .compromisso { padding:1.1rem;border:1px solid var(--c-line);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--shadow); }
body.composer-v1.recipe-program-minimal .programacao .compromisso { grid-template-columns:minmax(4rem,7rem) 1fr;padding:.7rem 0;border-bottom:1px solid var(--c-line); }

body.composer-v1.recipe-countdown-minimal .contagem__item { border:0;background:transparent;box-shadow:none; }
body.composer-v1.recipe-countdown-cards .contagem__item { box-shadow:var(--shadow); }
body.composer-v1.recipe-countdown-inline .contagem { flex-wrap:nowrap;gap:0; }
body.composer-v1.recipe-countdown-inline .contagem__item { min-width:0;flex:1;padding:.55rem .3rem;border:0;border-radius:0;background:transparent; }
body.composer-v1.recipe-countdown-inline .contagem__item+.contagem__item { border-left:1px solid var(--c-line); }

body.composer-v1.recipe-gallery-polaroid .galeria { gap:1rem; }
body.composer-v1.recipe-gallery-polaroid .galeria__foto { padding:.45rem .45rem 2rem;border-radius:2px;background:var(--c-surface);box-shadow:0 10px 25px color-mix(in srgb,var(--c-ink) 16%,transparent); }
body.composer-v1.recipe-gallery-polaroid .galeria__foto:nth-child(odd) { transform:rotate(-1.25deg); }
body.composer-v1.recipe-gallery-polaroid .galeria__foto:nth-child(even) { transform:rotate(1.25deg); }
body.composer-v1.recipe-gallery-editorial .galeria__foto:first-child { grid-column:1/-1;aspect-ratio:16/9; }
body.composer-v1.recipe-gallery-strip .galeria { display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.75rem; }
body.composer-v1.recipe-gallery-strip .galeria__foto { flex:0 0 min(76vw,22rem);scroll-snap-align:center; }

body.composer-v1.recipe-rsvp-minimal .rsvp-cartao { padding:0;border:0;background:transparent;box-shadow:none; }
body.composer-v1.recipe-rsvp-panel .rsvp-cartao { border:0;background:linear-gradient(145deg,color-mix(in srgb,var(--c-primary) 10%,var(--c-surface)),var(--c-surface)); }
body.composer-v1.recipe-rsvp-framed .rsvp-cartao { position:relative;border:1px solid var(--c-metal); }
body.composer-v1.recipe-rsvp-framed .rsvp-cartao::after { content:"";position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--c-metal) 50%,transparent);border-radius:calc(var(--radius,16px) - 4px);pointer-events:none; }

body.composer-v1.recipe-footer-minimal .rodape::before { width:2rem; }
body.composer-v1.recipe-footer-signature .rodape::before { width:min(12rem,44vw);background:linear-gradient(90deg,transparent,var(--c-metal),transparent); }

@media (min-width:700px) {
  body.composer-v1.recipe-history-photo-led .bloco--com-foto,
  body.composer-v1.recipe-history-editorial .bloco--com-foto { grid-template-columns:minmax(240px,.85fr) 1.15fr; }
  body.composer-v1.recipe-gallery-editorial .galeria { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:560px) {
  body.composer-v1.composer-com-cover-ornament .capa::before { background-size:contain;background-position:center; }
  body.composer-v1.recipe-sections-paper .secao__interno { padding:1.1rem .9rem; }
  body.composer-v1.recipe-gallery-polaroid .galeria { gap:.55rem; }
  body.composer-v1.recipe-countdown-inline .contagem__numero { font-size:1.45rem; }
}
.item__presente-pix{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:.45rem;padding:.65rem 1rem;border:1px solid currentColor;border-radius:999px;font-weight:700;text-decoration:none}

/* 4.0.35 — prévia compartilhável, sem ações reais */
.preview-share-notice-4035{position:sticky;top:0;z-index:9999;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 14px;background:rgba(19,35,58,.94);color:#fff;font-family:Arial,sans-serif;font-size:13px;text-align:center;backdrop-filter:blur(10px)}.preview-share-notice-4035 strong{letter-spacing:.02em}.preview-share-notice-4035 span{opacity:.82}.rsvp-preview-note-4035{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:rgba(20,35,55,.07);font-size:.88rem;text-align:center}

/* 4.0.35 ajuste fino: retorno da prévia flutuante, sem deslocar o convite */
.retorno-editor{position:fixed;z-index:10000;left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));inset:auto auto auto auto;display:block;min-height:0;padding:0;background:transparent;color:inherit;box-shadow:none;backdrop-filter:none}
.retorno-editor a{display:inline-flex;align-items:center;min-height:40px;padding:.48rem .86rem;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.94);color:#2d1b45;font:750 13px/1 system-ui,sans-serif;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(10px)}
.retorno-editor span{display:none}.tem-retorno-editor{padding-top:0!important}.tem-retorno-editor .capa{height:100dvh;min-height:100dvh;max-height:100dvh}.tem-retorno-editor .musica{top:calc(64px + env(safe-area-inset-top))}

/* 4.0.40 — avisos que não podem passar despercebidos no convite */
.lista-preset--traje .item--reserved-color-4040{position:relative;margin-top:.55rem;padding:1rem!important;border:1px solid color-mix(in srgb,#d7a900 48%,var(--c-line));border-radius:var(--radius-sm,14px);background:linear-gradient(135deg,color-mix(in srgb,#fff1a8 48%,var(--c-surface)),var(--c-surface));box-shadow:0 8px 24px rgba(124,92,9,.08)}.lista-preset--traje .item--reserved-color-4040 .item__icone{background:#f3d45d!important;color:#5f4900!important}.lista-preset--traje .item--reserved-color-4040 .item__titulo{font-weight:800!important;color:color-mix(in srgb,#5f4900 76%,var(--c-ink))}.lista-preset--traje .item--reserved-color-4040 .item__texto{font-weight:600;color:var(--c-ink)}
.rsvp-companion-warning-4040{display:grid;grid-template-columns:38px minmax(0,1fr);gap:.75rem;align-items:start;padding:.9rem 1rem;border:1px solid #ddb842;border-radius:14px;background:#fff6c9;color:#4e3e08;box-shadow:0 7px 20px rgba(133,99,5,.08)}.rsvp-companion-warning-4040__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f4d65f;color:#5e4907;font-size:1rem}.rsvp-companion-warning-4040 strong{display:block;margin:0 0 .18rem;font-size:.9rem}.rsvp-companion-warning-4040 p{margin:0;font-size:.82rem;line-height:1.48}.rsvp-companion-warning-4040 b{font-weight:850}.rsvp-companion-warning-final-4040{display:flex;align-items:flex-start;gap:.55rem;padding:.72rem .8rem;border:1px solid #e1c45e;border-radius:12px;background:#fffae4;color:#5b4809;font-size:.76rem;line-height:1.42}.rsvp-companion-warning-final-4040>i{margin-top:.1rem}.rsvp-companion-warning-final-4040 strong{display:block;margin-bottom:.08rem}.rsvp-membros-campo-4040 label{font-weight:800}
@media(max-width:430px){.rsvp-companion-warning-4040{grid-template-columns:34px minmax(0,1fr);padding:.8rem}.rsvp-companion-warning-4040__icon{width:32px;height:32px}.rsvp-companion-warning-4040 p{font-size:.77rem}}

/* 4.0.43 — o controle fixo de música não cobre o botão final do RSVP em telas estreitas. */
@media(max-width:520px){.tem-musica #confirmar .secao__interno{padding-bottom:calc(4.6rem + env(safe-area-inset-bottom))}}

/* 4.0.45 — contagem regressiva progressiva: unidades irrelevantes somem de verdade. */
.contagem__item[hidden]{display:none!important}
.contagem:has(.contagem__item:not([hidden])){align-items:stretch}

/* 4.0.45 — tinta específica para superfícies claras/escuras. */
.cartao{color:var(--c-surface-ink,var(--c-ink))}
.cartao :is(.item__texto,.compromisso__endereco,.compromisso__nota){color:var(--c-surface-ink-soft,var(--c-ink-soft))}
.contagem:not(.contagem--linha) .contagem__rotulo{color:var(--c-surface-ink-soft,var(--c-ink-soft))}


/* 4.0.51 — legibilidade é contrato, não preferência do tema.
   `primary` é ótimo como fundo/acento, mas nem sempre tem contraste suficiente
   como texto. Os tokens *_text são calculados no servidor para o fundo real. */
a { color:var(--c-primary-text,var(--c-primary)); }
.nome-debutante,
.assinatura,
.compromisso__hora { color:var(--c-primary-text,var(--c-primary)); }
.botao--contorno,
.botao-estilo-outline .botao:not(.botao--contorno) { color:var(--c-primary-text,var(--c-primary)); }
.botao-estilo-soft .botao:not(.botao--contorno) { color:var(--c-primary-text-surface,var(--c-primary-text,var(--c-primary))); }

/* Elementos que realmente pintam uma superfície usam tinta calculada para
   essa superfície. Isso é especialmente importante em temas escuros que têm
   cards claros. */
:is(.cartao,.contagem__item,.acordeao,.rsvp-membro,.rsvp__resposta) {
  color:var(--c-surface-ink,var(--c-ink));
}
:is(.cartao,.contagem__item,.acordeao,.rsvp-membro,.rsvp__resposta)
:is(.item__texto,.compromisso__endereco,.compromisso__nota,.acordeao__corpo,small,.contagem__rotulo) {
  color:var(--c-surface-ink-soft,var(--c-ink-soft));
}
.contagem__item .contagem__numero { color:var(--c-primary-text-surface,var(--c-surface-ink,var(--c-ink))); }
.acordeao > summary::after { color:var(--c-primary-text-surface,var(--c-surface-ink,var(--c-ink))); }
.rsvp-membro small { color:var(--c-surface-ink-soft,var(--c-ink-soft)); }

body.composer-v1.recipe-sections-paper .secao__interno,
body.composer-v1.recipe-items-cards :is(.itens--grade,.itens--lista) .item,
body.composer-v1.recipe-program-cards .programacao .compromisso,
body.composer-v1.recipe-history-cards .bloco--com-foto > *,
.tema-social-chic .secao,
.tema-lacre-imperial .secao {
  color:var(--c-surface-ink,var(--c-ink));
}
body.composer-v1.recipe-sections-paper .secao__interno :is(.item__texto,.compromisso__endereco,.compromisso__nota),
body.composer-v1.recipe-items-cards :is(.itens--grade,.itens--lista) .item .item__texto,
body.composer-v1.recipe-program-cards .programacao .compromisso :is(.compromisso__endereco,.compromisso__nota),
body.composer-v1.recipe-history-cards .bloco--com-foto > * .texto,
.tema-social-chic .secao :is(.item__texto,.compromisso__endereco,.compromisso__nota),
.tema-lacre-imperial .secao :is(.item__texto,.compromisso__endereco,.compromisso__nota) {
  color:var(--c-surface-ink-soft,var(--c-ink-soft));
}
body.composer-v1.recipe-items-cards :is(.itens--grade,.itens--lista) .item .item__icone,
body.composer-v1.recipe-program-cards .programacao .compromisso .compromisso__hora {
  color:var(--c-primary-text-surface,var(--c-surface-ink,var(--c-ink)));
}

/* Fotos e texturas continuam visíveis, mas nunca dominam o contraste. O wash
   mínimo do fundo é calculado no PHP; na capa do Composer a camada já chega
   com 58–72% de cor-base. */
body.fundo-base-image.tema-com-fundo-imagem { background-blend-mode:normal; }

/* Texto pequeno muito fino fica bonito em desktop e some no celular. A
   proteção só sobe o peso mínimo dos microtextos; títulos/nome não mudam. */
:is(.subtitulo,.item__texto,.compromisso__endereco,.compromisso__nota,.contagem__rotulo,.rodape,.acordeao__corpo) {
  font-weight:400;
}

/* 4.0.51 — piso tipográfico para leitura real no celular.
   Fontes de assinatura continuam decorativas no nome, mas informação nunca
   depende de corpo minúsculo, caixa-alta apertada ou fonte ornamental. */
.capa__olho { font-size:max(.82rem,13px); }
.capa__seta { font-size:max(.75rem,12px); }
.contagem__rotulo { font-size:max(.72rem,12px);letter-spacing:.14em; }
.compromisso__nome { font-size:max(.86rem,14px);letter-spacing:.16em; }
.item__titulo { font-size:max(.88rem,14px);letter-spacing:.10em; }
.campo > label { font-size:max(.82rem,13px);letter-spacing:.10em; }
.rodape { font-size:max(.84rem,13px); }
.rodape__ano { font-size:max(.76rem,12px); }

/* Presentes é informação prática: usa a fonte de leitura, não a fonte
   ornamental do título. Isso evita tamanhos e palavras difíceis de ler em
   combinações caligráficas. */
.lista-preset--presentes .item__titulo {
  font-family:var(--font-body,system-ui,sans-serif);
  font-size:clamp(.92rem,2.5vw,1rem);
  font-weight:650;
  letter-spacing:.025em;
  text-transform:none;
}
.lista-preset--presentes .item__texto {
  font-family:var(--font-body,system-ui,sans-serif);
  font-size:clamp(.92rem,2.5vw,1rem);
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
  text-transform:none;
}

/* Nomes muito longos não podem virar um bloco caligráfico impossível de ler.
   Nessa condição, priorizamos a família de títulos do próprio tema. */
.nome-debutante[data-nome-muito-longo="1"] {
  font-family:var(--font-title,Georgia,serif);
  font-style:normal;
  letter-spacing:min(var(--name-tracking,.04em),.06em);
}


/* 4.0.52 — mapa estático Geoapify */
.compromisso__mapa-estatico{margin:.85rem 0 0;overflow:hidden;border:1px solid var(--c-line);border-radius:calc(var(--radius,18px) * .82);background:var(--c-surface);box-shadow:0 8px 24px color-mix(in srgb,var(--c-ink) 8%,transparent)}
.compromisso__mapa-estatico img{display:block;width:100%;height:auto;aspect-ratio:5/2;object-fit:cover}
.compromisso__mapa-estatico figcaption{padding:.42rem .6rem;text-align:right;font:500 .64rem/1.25 var(--font-body,system-ui,sans-serif);color:var(--c-surface-ink-soft,var(--c-ink-soft));background:var(--c-surface)}
.compromisso__mapa-estatico figcaption a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* 4.0.53 — acabamento do endereço: dado prático nunca herda lettering
   ornamental, negrito, caixa alta ou tracking do tema. */
.compromisso__endereco{
  font-family:var(--font-body,system-ui,sans-serif)!important;
  font-size:clamp(.92rem,2.55vw,1rem);
  font-weight:400!important;
  font-style:normal!important;
  line-height:1.55;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* 4.0.53 — Regras da festa são sempre duas colunas. Quando há quantidade
   ímpar, o último card ocupa a linha toda mas mantém a largura de uma coluna,
   centralizado. */
.lista-preset--regras :is(.itens--grade,.itens--lista){
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.85rem!important;
  align-items:stretch;
  max-width:46rem;
  margin-inline:auto;
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item{
  box-sizing:border-box;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%;
  margin:0!important;
  padding:.9rem!important;
  border:1px solid var(--c-line);
  border-radius:var(--radius-sm,14px);
  background:color-mix(in srgb,var(--c-surface) 94%,transparent);
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){
  grid-column:1/-1;
  width:calc(50% - .425rem)!important;
  justify-self:center;
}
@media(max-width:430px){
  .lista-preset--regras :is(.itens--grade,.itens--lista){gap:.55rem!important}
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item{padding:.62rem!important}
  .lista-preset--regras .item__icone{width:2.65rem;height:2.65rem}
  .lista-preset--regras .item__titulo{font-size:max(.78rem,12px);letter-spacing:.055em}
  .lista-preset--regras .item__texto{font-size:max(.82rem,13px);line-height:1.42}
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){width:calc(50% - .275rem)!important}
}

/* 4.0.53 — cor reservada segue o tema. O amarelo fixo da 4.0.40 foi
   removido; o destaque continua forte por composição, borda e acento. */
.lista-preset--traje .item--reserved-color-4040{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--c-primary) 42%,var(--c-line))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--c-primary) 9%,var(--c-surface)),var(--c-surface) 72%)!important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--c-primary) 10%,transparent)!important;
}
.lista-preset--traje .item--reserved-color-4040::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--c-primary),var(--c-metal));
}
.lista-preset--traje .item--reserved-color-4040 .item__icone{
  background:var(--c-primary)!important;
  color:var(--c-primary-ink,#fff)!important;
  border-color:transparent!important;
}
.lista-preset--traje .item--reserved-color-4040 .item__titulo{
  color:var(--c-surface-ink,var(--c-ink))!important;
  font-weight:750!important;
}
.lista-preset--traje .item--reserved-color-4040 .item__texto{
  color:var(--c-surface-ink-soft,var(--c-ink-soft))!important;
  font-weight:500!important;
}


/* =====================================================================
   4.0.54 — navegação, densidade e tipografia de leitura
   ===================================================================== */

/* O lettering do tema fica reservado aos pontos de identidade (nome da
   debutante, título principal e assinatura). Todo dado que o convidado precisa
   realmente ler usa a fonte de corpo, mesmo quando o tema escolhe uma fonte
   ornamental. */
:is(
  .capa__olho,.capa__subtitulo,.capa__data,.capa__hora,
  .subtitulo,.texto,.texto p,
  .contagem__numero,.contagem__rotulo,.contagem__realizada,
  .compromisso__hora,.compromisso__nome,.compromisso__local,
  .compromisso__endereco,.compromisso__nota,.compromisso__mapa-estatico figcaption,
  .item__titulo,.item__texto,.acordeao>summary,.acordeao__corpo,
  .rsvp-saudacao,.rsvp-identificacao h3,.rsvp-identificacao p,.rsvp-membro,.rsvp-membro small,
  .campo,.campo label,.campo input,.campo select,.campo textarea,
  .botao,.rodape,.rodape__marca,.rodape__ano,.musica
){
  font-family:var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
}
:is(.capa__subtitulo,.capa__data,.capa__hora,.subtitulo,.compromisso__nome,.item__titulo){
  font-style:normal!important;
  text-shadow:none;
}
.compromisso__nome,.item__titulo{
  letter-spacing:.035em!important;
  text-transform:none!important;
  font-weight:650!important;
}
.subtitulo{
  letter-spacing:.12em!important;
  line-height:1.45;
  margin-bottom:1.25rem;
}

/* Menos rolagem sem transformar o convite em uma página apertada. As receitas
   antigas de espaçamento mobile não podem reabrir grandes vazios. */
.secao{
  padding-top:clamp(1.55rem,3.8vw,2.15rem)!important;
  padding-bottom:clamp(1.55rem,3.8vw,2.15rem)!important;
}
.secao .divisor{margin-top:.65rem;margin-bottom:1rem;}
.secao .titulo-secao{margin-bottom:.24em;}
.secao .texto p{margin-bottom:.72em;}
.secao :is(.itens--grade,.itens--lista){row-gap:.72rem;}
@media(max-width:639px){
  body .secao,
  body.resp-mobile-spacing-compact .secao,
  body.resp-mobile-spacing-balanced .secao,
  body.resp-mobile-spacing-airy .secao{
    padding-top:1.25rem!important;
    padding-bottom:1.25rem!important;
  }
  body .secao--larga{padding-top:1.35rem!important;padding-bottom:1.35rem!important;}
  body .secao .divisor{margin:.55rem auto .85rem;}
  body .secao .subtitulo{margin-bottom:.85rem;}
}

/* =====================================================================
   4.0.55 — ações úteis sem menu persistente
   ===================================================================== */

/* O endereço continua sendo dado de leitura, mas agora pode ser copiado com
   uma ação discreta que não compete com o nome do local nem com o mapa. */
.compromisso__endereco-linha{display:flex;align-items:center;flex-wrap:wrap;gap:.42rem .65rem;margin-top:.12rem;}
.compromisso__endereco-linha .compromisso__endereco{flex:1 1 16rem;min-width:0;margin:0;}
.compromisso__copiar-endereco{
  appearance:none;
  -webkit-appearance:none;
  min-height:34px;
  padding:.38rem .68rem;
  border:1px solid color-mix(in srgb,var(--c-primary) 32%,var(--c-line));
  border-radius:999px;
  background:color-mix(in srgb,var(--c-primary) 7%,var(--c-surface));
  color:var(--c-primary);
  cursor:pointer;
  font:700 .72rem/1.1 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:0!important;
  white-space:nowrap;
}
.compromisso__copiar-endereco:hover{background:color-mix(in srgb,var(--c-primary) 12%,var(--c-surface));}
.compromisso__copiar-endereco.is-copied{border-color:color-mix(in srgb,#2c7c55 55%,var(--c-line));color:#2c7c55;background:color-mix(in srgb,#2c7c55 8%,var(--c-surface));}
.compromisso__copiar-endereco:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px;}
.compromisso__copiar-feedback{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* A confirmação é a única ação persistente. Em vez de um menu com várias
   partes, há um CTA flutuante simples que some quando a própria seção de RSVP
   entra em foco ou quando a resposta é concluída. */
.rsvp-floating-cta{
  position:fixed;
  z-index:76;
  left:max(.75rem,env(safe-area-inset-left));
  right:max(.75rem,env(safe-area-inset-right));
  bottom:max(.72rem,env(safe-area-inset-bottom));
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  width:auto;
  min-height:50px;
  padding:.68rem 1rem;
  border:1px solid color-mix(in srgb,var(--c-primary) 78%,#fff);
  border-radius:999px;
  background:var(--c-primary);
  color:var(--c-primary-ink,#fff);
  box-shadow:0 12px 34px color-mix(in srgb,var(--c-primary) 32%,transparent);
  text-decoration:none;
  font:750 .86rem/1.1 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:.01em!important;
  -webkit-tap-highlight-color:transparent;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.rsvp-floating-cta>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--c-primary-ink,#fff) 18%,transparent);font-size:.8rem;}
.rsvp-floating-cta>strong{font:inherit;}
.rsvp-floating-cta:hover{filter:brightness(1.04);}
.rsvp-floating-cta:focus-visible{outline:3px solid color-mix(in srgb,var(--c-primary) 35%,#fff);outline-offset:3px;}
.rsvp-floating-cta.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 1.1rem));}
.tem-musica .rsvp-floating-cta{right:max(4.35rem,calc(env(safe-area-inset-right) + 3.65rem));}
.rodape:has(+ *){isolation:auto;}

@media(min-width:640px){
  .rsvp-floating-cta{left:50%;right:auto;width:min(300px,calc(100% - 2rem));transform:translateX(-50%);}
  .rsvp-floating-cta.is-hidden{transform:translate(-50%,calc(100% + 1.1rem));}
  .tem-musica .rsvp-floating-cta{right:auto;}
}
@media(prefers-reduced-motion:reduce){.rsvp-floating-cta{transition:none;}}


/* 4.0.59 — Pix em destaque, comodidades junto do endereço e mais respiro nos flutuantes. */
.item--pix-highlight{
  position:relative;
  overflow:hidden;
  padding:1.05rem!important;
  border:1px solid color-mix(in srgb,var(--c-primary) 32%,var(--c-line))!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--c-primary) 92%,transparent),color-mix(in srgb,var(--c-primary) 84%,var(--c-bg-deep)))!important;
  color:var(--c-primary-ink,#fff);
  box-shadow:0 16px 34px color-mix(in srgb,var(--c-primary) 18%,transparent)!important;
}
.item--pix-highlight .item__titulo,
.item--pix-highlight .item__texto,
.item--pix-highlight .item a{color:var(--c-primary-ink,#fff)!important}
.item--pix-highlight .item__icone{display:none}
.item--pix-highlight .item__presente-pix{
  position:relative;
  overflow:hidden;
  min-width:min(100%,270px);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
}
.gift-shimmer-lite{position:relative;overflow:hidden;isolation:isolate}
.gift-shimmer-lite::after{content:"";position:absolute;top:-40%;bottom:-40%;left:-42%;width:34%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),rgba(255,255,255,.55),rgba(255,255,255,.14),transparent);animation:gift-shimmer-sweep 2.8s ease-in-out infinite;pointer-events:none}
.compromisso__comodidades{display:grid;gap:.55rem;margin-top:.8rem}
.compromisso__comodidade{display:grid;grid-template-columns:2.6rem 1fr;gap:.85rem;align-items:start;padding:.8rem .9rem;border:1px solid color-mix(in srgb,var(--c-line) 88%,transparent);border-radius:16px;background:color-mix(in srgb,var(--c-surface) 96%,transparent)}
.compromisso__comodidade .item__titulo{margin:.1rem 0 .08rem}
.compromisso__comodidade .item__texto{line-height:1.45}
.compromisso__comodidade-icone{margin-top:.05rem}
.compromisso__nota--chegada{margin-top:.15rem;padding:.75rem .9rem;border-radius:14px;background:color-mix(in srgb,var(--c-primary) 5%,var(--c-surface));border-left:3px solid color-mix(in srgb,var(--c-primary) 42%,var(--c-line))}
.musica{right:max(1rem,calc(env(safe-area-inset-right) + .35rem));bottom:max(1rem,calc(env(safe-area-inset-bottom) + .15rem))}
@media (max-width:520px){.musica{right:max(.95rem,calc(env(safe-area-inset-right) + .55rem));bottom:max(.95rem,calc(env(safe-area-inset-bottom) + .25rem));box-shadow:0 10px 26px rgba(0,0,0,.18)}}
.rsvp-floating-cta{box-shadow:0 14px 36px color-mix(in srgb,var(--c-primary) 35%,transparent),0 0 0 1px color-mix(in srgb,var(--c-primary) 18%,transparent)}
@keyframes rsvp-glow{0%,100%{box-shadow:0 14px 36px color-mix(in srgb,var(--c-primary) 30%,transparent),0 0 0 0 color-mix(in srgb,var(--c-primary) 0%,transparent)}50%{box-shadow:0 18px 42px color-mix(in srgb,var(--c-primary) 40%,transparent),0 0 0 10px color-mix(in srgb,var(--c-primary) 0%,transparent)}}
@media(prefers-reduced-motion:no-preference){.rsvp-floating-cta{animation:rsvp-glow 2.8s ease-in-out infinite}}
@keyframes gift-shimmer-sweep{0%{left:-45%;opacity:0}10%{opacity:1}55%{left:118%;opacity:1}100%{left:118%;opacity:0}}
@media(prefers-reduced-motion:reduce){.gift-shimmer-lite::after,.rsvp-floating-cta{animation:none}}

/* =====================================================================
   4.0.60 — regras consistentes e ícones dentro da área segura
   ===================================================================== */
/* Reforço final: regras permanecem em duas colunas mesmo sob receitas de tema
   carregadas anteriormente. A última, quando ímpar, continua centralizada. */
.lista-preset--regras :is(.itens--grade,.itens--lista){
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.55rem!important;
  max-width:46rem!important;
  margin-inline:auto!important;
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:.68rem!important;
  overflow:hidden;
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){
  grid-column:1/-1!important;
  width:calc(50% - .275rem)!important;
  justify-self:center!important;
}
.lista-preset--regras .item__icone{
  position:static!important;
  box-sizing:border-box;
  max-width:100%;
  margin:.05rem auto .2rem!important;
  flex:none;
}
.lista-preset--regras .item>div{min-width:0;width:100%}

/* Comodidades novas ficam dentro do endereço. Nada pode “vazar” do card. */
.compromisso__comodidades{width:100%;max-width:100%;overflow:hidden}
.compromisso__comodidade{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  grid-template-columns:2.45rem minmax(0,1fr)!important;
  gap:.68rem!important;
  padding:.68rem .72rem!important;
  overflow:hidden;
}
.compromisso__comodidade>div{min-width:0}
.compromisso__comodidade .item__icone{
  position:static!important;
  width:2.35rem!important;
  height:2.35rem!important;
  min-width:2.35rem!important;
  margin:0!important;
  box-sizing:border-box;
}
.compromisso__comodidade .item__titulo,
.compromisso__comodidade .item__texto{overflow-wrap:anywhere}

/* O controle de música usa o ícone do próprio tema e fica mais para dentro da
   safe-area. O triângulo/pausa continua como estado funcional discreto. */
.musica__icone{
  position:relative;
  display:grid!important;
  place-items:center;
  width:1.45rem;
  height:1.45rem;
  min-width:1.45rem!important;
}
.musica__tema-icone{display:grid;place-items:center;width:1.15rem;height:1.15rem}
.musica__tema-icone .theme-guide-icon,
.musica__tema-icone .theme-icon-fallback{width:100%;height:100%}
.musica__tema-icone svg{width:100%;height:100%}
.musica__estado-icone{
  position:absolute;
  right:-.28rem;
  bottom:-.24rem;
  display:grid;
  place-items:center;
  min-width:.72rem;
  height:.72rem;
  padding:0 .08rem;
  border-radius:999px;
  background:var(--c-surface,#fff);
  color:var(--c-primary);
  font:800 .42rem/1 system-ui,sans-serif;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--c-primary) 22%,transparent);
}
@media(max-width:520px){
  .musica{
    right:max(1.2rem,calc(env(safe-area-inset-right) + .8rem))!important;
    bottom:max(1.1rem,calc(env(safe-area-inset-bottom) + .4rem))!important;
  }
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item{padding:.58rem!important}
  .lista-preset--regras .item__titulo{font-size:max(.75rem,12px)!important;line-height:1.25!important}
  .lista-preset--regras .item__texto{font-size:max(.79rem,12.5px)!important;line-height:1.35!important}
}

/* 5.6.36 — regras da festa permanecem em duas colunas no celular. Uma regra
   histórica fixava todos os itens na coluna 1 mesmo depois da grade voltar a
   ter duas colunas. O último ímpar ocupa a linha, mas conserva uma coluna e
   fica centralizado. */
@media(max-width:620px){
  .lista-preset--regras :is(.itens--grade,.itens--lista){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.5rem!important;
  }
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item{
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){
    grid-column:1/-1!important;
    width:calc((100% - .5rem)/2)!important;
    justify-self:center!important;
  }
}


/* 5.6.72 — régua tipográfica única e legível para todos os temas. */
.pagina-convite{
  --font-name:"Bodoni Moda","Playfair Display",Georgia,serif;
  --font-title:"Marcellus","Playfair Display",Georgia,serif;
  --font-body:"Jost",Arial,sans-serif;
  --font-button:"Jost",Arial,sans-serif;
  --font-subtitle:"Marcellus","Playfair Display",Georgia,serif;
  --font-meta:"Jost",Arial,sans-serif;
  --font-item:"Jost",Arial,sans-serif;
}
.pagina-convite .nome-debutante,
.pagina-convite .nome-debutante[data-nome-longo="1"],
.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{
  max-width:min(92vw,18ch)!important;
  font-family:"Bodoni Moda","Playfair Display",Georgia,serif!important;
  font-size:clamp(2.35rem,8.2vw,4.3rem)!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
}
.pagina-convite .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.05rem,7vw,3.65rem)!important}
.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.8rem,6vw,3.05rem)!important;line-height:1.06!important}
.pagina-convite .titulo-secao{
  max-width:min(100%,30ch)!important;
  margin-inline:auto!important;
  font-family:"Marcellus","Playfair Display",Georgia,serif!important;
  font-size:clamp(1.35rem,3.8vw,1.85rem)!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
  text-wrap:balance;
}
.pagina-convite :is(.texto,.item__texto,.evento__texto,.evento__nota,.local-card__endereco,.rsvp__intro,.rsvp-identificacao p){
  font-family:"Jost",Arial,sans-serif!important;
  font-weight:400!important;
  line-height:1.58!important;
}
.pagina-convite :is(.item__titulo,.evento__nome,.local-card__nome,.rsvp-identificacao h3,.rsvp-membro strong){
  font-family:"Jost",Arial,sans-serif!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
.pagina-convite :is(.botao,button,.rsvp-floating-cta){
  font-family:"Jost",Arial,sans-serif!important;
  font-weight:650!important;
}
.pagina-convite .capa__olho{
  font-family:"Jost",Arial,sans-serif!important;
  font-size:clamp(.78rem,2.2vw,.95rem)!important;
  font-weight:550!important;
  line-height:1.35!important;
  letter-spacing:clamp(.12em,.55vw,.22em)!important;
}
body.sg-engine-album_v1.pagina-convite .nome-debutante,
body.sg-engine-album_v1.pagina-convite .nome-debutante[data-nome-longo="1"],
body.sg-engine-album_v1.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{
  font-size:clamp(1.75rem,7.2vw,2.55rem)!important;
}
.debutante-message-form-5647 h2,.debutante-message-feed-5647 h2{
  font-family:"Marcellus","Playfair Display",Georgia,serif!important;
  font-size:clamp(1.45rem,4vw,2rem)!important;
  font-weight:500!important;
  line-height:1.18!important;
}
.debutante-message-form-5647__eyebrow{font-family:"Jost",Arial,sans-serif!important;font-weight:600!important}
.debutante-message-form-5647__form label{font-weight:600!important}
.debutante-message-form-5647__form button{font-weight:650!important}

/* 5.6.73 — preserva a fonte escolhida e limita apenas a escala. */
.pagina-convite{
  --font-name:var(--font-name-choice,"Bodoni Moda","Playfair Display",Georgia,serif);
  --font-title:var(--font-title-choice,"Marcellus","Playfair Display",Georgia,serif);
}
.pagina-convite .nome-debutante,
.pagina-convite .nome-debutante[data-nome-longo="1"],
.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{
  font-family:var(--font-name-choice,var(--font-name))!important;
  font-size:clamp(2.75rem,11.2vw,5rem)!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.02!important;
}
.pagina-convite .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.3rem,9.25vw,4.15rem)!important}
.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.95rem,7.6vw,3.45rem)!important;line-height:1.06!important}
.pagina-convite .titulo-secao{font-family:var(--font-title-choice,var(--font-title))!important}
body.sg-engine-album_v1.pagina-convite .nome-debutante{font-size:clamp(2.3rem,8.8vw,3.35rem)!important}
body.sg-engine-album_v1.pagina-convite .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.05rem,7.8vw,3rem)!important}
body.sg-engine-album_v1.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.8rem,6.8vw,2.6rem)!important}

/* 5.6.74-final — a tipografia avançada nunca pode invalidar a escala. */
body.pagina-convite.tipografia-avancada .nome-debutante,
body.pagina-convite.tipografia-avancada .nome-debutante[data-nome-longo="1"],
body.pagina-convite.tipografia-avancada .nome-debutante[data-nome-muito-longo="1"]{
  font-family:var(--font-name-choice,var(--font-name,"Playfair Display",Georgia,serif))!important;
  font-size:clamp(2.75rem,11.2vw,5rem)!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.02!important;
}
body.pagina-convite.tipografia-avancada .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.3rem,9.25vw,4.15rem)!important}
body.pagina-convite.tipografia-avancada .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.95rem,7.6vw,3.45rem)!important;line-height:1.06!important}
body.pagina-convite.tipografia-avancada .titulo-secao{
  font-family:var(--font-title-choice,var(--font-title,"Marcellus","Playfair Display",Georgia,serif))!important;
  font-size:var(--title-size,clamp(1.35rem,3.8vw,1.85rem))!important;
}
body.pagina-convite.tipografia-avancada :is(.texto,.item__texto,.compromisso__endereco,.compromisso__nota){font-size:var(--body-size,1rem)!important}
body.pagina-convite.tipografia-avancada .capa__frase{font-size:var(--cover-phrase-size,var(--title-size,clamp(1rem,2.8vw,1.25rem)))!important}
body.pagina-convite.tipografia-avancada :is(.capa__olho,.capa__data,.capa__hora){font-size:var(--cover-meta-size,var(--body-size,.95rem))!important}
body.pagina-convite.tipografia-avancada .subtitulo{font-size:var(--subtitle-size,var(--body-size,1rem))!important}
body.pagina-convite.tipografia-avancada :is(.contagem__numero,.contagem__realizada){font-size:var(--countdown-size,var(--title-size,clamp(2rem,6vw,3rem)))!important}
body.pagina-convite.tipografia-avancada :is(.compromisso__hora,.compromisso__nome){font-size:var(--schedule-size,var(--body-size,1rem))!important}
body.pagina-convite.tipografia-avancada :is(.item__titulo,.acordeao>summary,.rsvp-identificacao h3){font-size:var(--item-size,var(--body-size,1rem))!important}
body.pagina-convite.tipografia-avancada .botao{font-size:var(--button-size,var(--body-size,1rem))!important}
body.sg-engine-album_v1.pagina-convite.tipografia-avancada .nome-debutante{font-size:clamp(2.3rem,8.8vw,3.35rem)!important}
body.sg-engine-album_v1.pagina-convite.tipografia-avancada .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.05rem,7.8vw,3rem)!important}
body.sg-engine-album_v1.pagina-convite.tipografia-avancada .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.8rem,6.8vw,2.6rem)!important}


/* 4.0.61 — Pix primeiro e reconhecível na lista de presentes. */
.lista-preset--presentes .item--pix-highlight{
  display:grid!important;
  grid-template-columns:3rem minmax(0,1fr)!important;
  gap:.8rem!important;
  align-items:center!important;
  text-align:left!important;
  border-radius:20px!important;
  padding:.9rem 1rem!important;
}
.lista-preset--presentes .item--pix-highlight .item__icone{
  display:grid!important;
  width:3rem!important;
  height:3rem!important;
  margin:0!important;
  border:1px solid color-mix(in srgb,var(--c-primary-ink,#fff) 42%,transparent)!important;
  background:color-mix(in srgb,var(--c-primary-ink,#fff) 12%,transparent)!important;
  color:var(--c-primary-ink,#fff)!important;
  border-radius:50%!important;
}
.lista-preset--presentes .item--pix-highlight .item__icone i{font-size:1.35rem!important}
.lista-preset--presentes .item--pix-highlight>div{min-width:0;text-align:left}.lista-preset--presentes .item--pix-highlight .item__titulo{font-size:.95rem!important}.lista-preset--presentes .item--pix-highlight .item__texto{font-size:.78rem!important;text-transform:none!important;letter-spacing:0!important;line-height:1.4!important}
.lista-preset--presentes .item--pix-highlight .item__presente-pix{min-height:42px;margin-top:.45rem;padding:.55rem .9rem}
@media(max-width:520px){.lista-preset--presentes .item--pix-highlight{grid-template-columns:2.65rem minmax(0,1fr)!important;padding:.78rem .8rem!important}.lista-preset--presentes .item--pix-highlight .item__icone{width:2.65rem!important;height:2.65rem!important}}


/* =====================================================================
   4.0.62 — Traje coerente, centro óptico e RSVP realmente visível
   ===================================================================== */
/* Traje deixa de parecer texto solto: orientação e cor reservada usam a mesma
   linguagem de card, com ícone dentro da área segura e texto de leitura. */
.lista-preset--traje :is(.itens--lista,.itens--grade){
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.72rem!important;
  width:min(100%,38rem)!important;
  margin-inline:auto!important;
}
.lista-preset--traje .item{
  box-sizing:border-box;
  display:grid!important;
  grid-template-columns:2.7rem minmax(0,1fr)!important;
  align-items:center!important;
  gap:.78rem!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:.86rem .9rem!important;
  border:1px solid color-mix(in srgb,var(--c-line) 82%,var(--c-primary) 18%)!important;
  border-radius:16px!important;
  background:var(--c-surface)!important;
  box-shadow:0 10px 26px color-mix(in srgb,var(--c-ink) 8%,transparent)!important;
  color:var(--c-surface-ink,var(--c-ink))!important;
  text-align:left!important;
  overflow:hidden!important;
}
.lista-preset--traje .item>div{min-width:0!important;width:100%!important}
.lista-preset--traje .item__icone{
  position:static!important;
  width:2.7rem!important;
  height:2.7rem!important;
  min-width:2.7rem!important;
  margin:0!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--c-primary) 9%,var(--c-surface))!important;
  color:var(--c-primary-text-surface,var(--c-primary))!important;
  border:1px solid color-mix(in srgb,var(--c-primary) 25%,var(--c-line))!important;
}
.lista-preset--traje .item__titulo{
  margin:0!important;
  color:var(--c-surface-ink,var(--c-ink))!important;
  font-family:var(--font-body,system-ui,sans-serif)!important;
  font-size:max(.92rem,15px)!important;
  font-weight:700!important;
  line-height:1.35!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  overflow-wrap:anywhere;
}
.lista-preset--traje .item__texto{
  margin:.18rem 0 0!important;
  color:var(--c-surface-ink-soft,var(--c-ink-soft))!important;
  font-family:var(--font-body,system-ui,sans-serif)!important;
  font-size:max(.86rem,14px)!important;
  font-weight:500!important;
  line-height:1.42!important;
}
.lista-preset--traje .item--dress-main-4062{
  border-color:color-mix(in srgb,var(--c-primary) 32%,var(--c-line))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--c-primary) 5%,var(--c-surface)),var(--c-surface))!important;
}
.lista-preset--traje .item--reserved-color-4040{
  margin-top:0!important;
  border-color:color-mix(in srgb,var(--c-primary) 38%,var(--c-line))!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--c-primary) 8%,var(--c-surface)),var(--c-surface))!important;
  box-shadow:0 10px 26px color-mix(in srgb,var(--c-primary) 9%,transparent)!important;
}
.lista-preset--traje .item--reserved-color-4040::before{width:3px!important;background:var(--c-primary)!important}
.lista-preset--traje .item--reserved-color-4040 .item__icone{
  background:var(--c-primary)!important;
  color:var(--c-primary-ink,#fff)!important;
  border-color:transparent!important;
}
.lista-preset--traje .item--reserved-color-4040 .item__titulo{color:var(--c-surface-ink,var(--c-ink))!important}
.lista-preset--traje .item--reserved-color-4040 .item__texto{color:var(--c-surface-ink-soft,var(--c-ink-soft))!important}

/* Títulos longos ficam balanceados e centralizados no mesmo eixo da seção.
   Corrige o efeito de “Detalhes escolhidos com carinho” visualmente puxado. */
.secao__interno>.titulo-secao{
  box-sizing:border-box;
  width:fit-content;
  max-width:min(100%,22ch);
  margin-left:auto!important;
  margin-right:auto!important;
  padding-inline:.08em;
  text-align:center!important;
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.secao__interno>.titulo-secao + .divisor{margin-left:auto!important;margin-right:auto!important}
@media(max-width:639px){
  .secao{padding-left:1rem!important;padding-right:1rem!important}
  .secao__interno{width:100%!important;max-width:100%!important;margin-inline:auto!important}
  .secao__interno>.titulo-secao{max-width:min(100%,20ch);line-height:1.18!important}
  .galeria:not(.galeria--faixa){width:100%!important;margin-inline:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .galeria__foto{min-width:0!important;max-width:100%!important;margin:0!important}
}

/* O CTA de presença fica acima do controle de música e nunca é removido por
   receitas de tema. Ele só se esconde quando a própria seção entra em vista. */
.rsvp-floating-cta{
  display:flex!important;
  z-index:90!important;
  visibility:visible;
}
.rsvp-floating-cta.is-hidden{visibility:hidden!important}
@media(max-width:639px){
  .tem-musica .rsvp-floating-cta{
    left:1rem!important;
    right:5.3rem!important;
    width:auto!important;
    bottom:max(1rem,calc(env(safe-area-inset-bottom) + .35rem))!important;
  }
}


/* 4.0.63 — presentes só existem quando foram escolhidos; linhas reais nunca
   podem colapsar em uma coluna estreita por herança de receitas do tema. */
.lista-preset--presentes .itens--lista{
  width:min(100%,42rem)!important;
  margin-inline:auto!important;
}
.lista-preset--presentes .itens--lista>.item:not(.item--pix-highlight){
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  grid-template-columns:1fr!important;
}
.lista-preset--presentes .itens--lista>.item:not(.item--pix-highlight)>div{
  width:100%!important;
  min-width:0!important;
}


/* 4.0.66 — aceite obrigatório da política de acompanhantes no RSVP. */
.rsvp-guest-policy-ack{
  display:grid;grid-template-columns:1.55rem minmax(0,1fr);gap:.7rem;align-items:start;
  padding:.85rem .9rem;border:1px solid color-mix(in srgb,var(--c-primary) 26%,var(--c-line));
  border-radius:14px;background:color-mix(in srgb,var(--c-primary) 5%,var(--c-surface));
  color:var(--c-surface-ink,var(--c-ink));cursor:pointer;font-size:.8rem;line-height:1.45;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.rsvp-guest-policy-ack input{position:absolute;opacity:0;pointer-events:none}
.rsvp-guest-policy-ack__box{
  display:grid;place-items:center;width:1.45rem;height:1.45rem;margin-top:.05rem;border:1.5px solid color-mix(in srgb,var(--c-primary) 54%,var(--c-line));
  border-radius:7px;background:var(--c-surface);color:transparent;transition:.18s ease;
}
.rsvp-guest-policy-ack input:checked + .rsvp-guest-policy-ack__box{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-primary-ink,#fff)}
.rsvp-guest-policy-ack input:focus-visible + .rsvp-guest-policy-ack__box{outline:3px solid color-mix(in srgb,var(--c-primary) 24%,transparent);outline-offset:2px}
.rsvp-guest-policy-ack strong{font-weight:800}
.rsvp-guest-policy-ack.is-error{border-color:#b93a3a;background:#fff1f1;box-shadow:0 0 0 2px rgba(185,58,58,.08)}
@media(max-width:430px){.rsvp-guest-policy-ack{padding:.78rem .8rem;font-size:.77rem}}


/* 4.0.67 - tarja de conversao somente na previa privada da cliente. */
.preview-publish-banner-4067{position:fixed;z-index:110;top:0;left:0;right:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:1rem;padding:.45rem max(.8rem,env(safe-area-inset-left)) .45rem max(.8rem,env(safe-area-inset-right));background:rgba(24,19,29,.94);color:#fff;backdrop-filter:blur(14px);box-shadow:0 5px 18px rgba(0,0,0,.18);font-family:var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important}.preview-publish-banner-4067 span{display:flex;align-items:baseline;gap:.4rem;min-width:0}.preview-publish-banner-4067 strong{font-size:.78rem;white-space:nowrap}.preview-publish-banner-4067 small{opacity:.78;font-size:.7rem;white-space:nowrap}.preview-publish-banner-4067 a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:.42rem .8rem;border-radius:999px;background:#fff;color:#3a214a;text-decoration:none;font-size:.75rem;font-weight:850;white-space:nowrap}.tem-publicar-agora-4067{padding-top:48px}.tem-publicar-agora-4067 .retorno-editor{top:48px}.tem-publicar-agora-4067.tem-retorno-editor{padding-top:100px!important}.tem-publicar-agora-4067.tem-retorno-editor .musica{top:calc(112px + env(safe-area-inset-top))}@media(max-width:520px){.preview-publish-banner-4067{justify-content:space-between;gap:.55rem;min-height:46px}.preview-publish-banner-4067 small{display:none}.preview-publish-banner-4067 strong{font-size:.72rem}.preview-publish-banner-4067 a{min-height:32px;padding:.38rem .7rem}.tem-publicar-agora-4067{padding-top:46px}.tem-publicar-agora-4067.tem-retorno-editor{padding-top:94px!important}}@media(prefers-reduced-motion:reduce){.preview-publish-banner-4067{backdrop-filter:none}}


/* 4.0.68 — ajuste estritamente visual/comportamental do RSVP solicitado. */
.rsvp-cartao--simples{padding:clamp(.85rem,2.2vw,1.15rem)!important}
.rsvp-cartao--simples .formulario{gap:.65rem!important}
.rsvp-etapa{gap:.58rem!important;margin-top:.7rem!important}
.rsvp-cartao--simples .campo{margin-bottom:.15rem!important}
.rsvp-cartao--simples .campo>label,.rsvp-cartao--simples .campo__rotulo{margin-bottom:.35rem!important}
.rsvp-cartao--simples .rsvp-membros{gap:.42rem!important}
.rsvp-cartao--simples .rsvp-membro{padding:.55rem .65rem!important;gap:.25rem!important}
.rsvp-cartao--simples .rsvp-membro__topo{gap:.5rem!important}
.rsvp-companion-warning-4040{grid-template-columns:30px minmax(0,1fr)!important;gap:.6rem!important;padding:.68rem .75rem!important;border-radius:12px!important;box-shadow:none!important}
.rsvp-companion-warning-4040__icon{width:28px!important;height:28px!important;border-radius:8px!important;font-size:.85rem!important}
.rsvp-companion-warning-4040__icon :is(svg,.theme-icon-fallback svg){width:16px!important;height:16px!important}
.rsvp-companion-warning-4040 strong{font-size:.82rem!important;margin-bottom:.08rem!important}
.rsvp-companion-warning-4040 p{font-size:.76rem!important;line-height:1.38!important}
.rsvp-guest-policy-ack{grid-template-columns:1.35rem minmax(0,1fr)!important;gap:.55rem!important;padding:.62rem .72rem!important;border-radius:11px!important;font-size:.78rem!important;line-height:1.3!important}
.rsvp-guest-policy-ack__box{width:1.25rem!important;height:1.25rem!important;border-radius:6px!important}
.rsvp-saudacao{display:grid;gap:.12rem;padding:.68rem .78rem!important;font-family:var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;font-size:.9rem!important;line-height:1.38!important}
.rsvp-saudacao__ola{display:block}
.rsvp-saudacao__nome{font-size:1.28em;font-weight:850;letter-spacing:-.015em}
.rsvp-saudacao__texto{display:block;color:inherit}
.rsvp-message-field{display:grid;gap:.28rem}
.rsvp-message-field label{margin-bottom:0!important}
.rsvp-message-help{margin:0;color:var(--c-surface-ink-soft,var(--c-ink-soft));font-size:.74rem;line-height:1.35}
.rsvp-message-field textarea{min-height:78px!important}
.rsvp-respostas-lista{margin-top:.45rem!important}
.rsvp-cartao--simples #rsvp-enviar,.rsvp-cartao--simples #rsvp-trocar-telefone{min-height:42px!important}
@media(max-width:430px){
  .rsvp-cartao--simples{padding:.72rem!important}
  .rsvp-companion-warning-4040{grid-template-columns:28px minmax(0,1fr)!important;padding:.62rem .68rem!important}
  .rsvp-guest-policy-ack{padding:.58rem .65rem!important;font-size:.75rem!important}
  .rsvp-saudacao__nome{font-size:1.34em}
}

/* =====================================================================
   4.0.69 — contraste, alinhamento e ícones como contratos de renderização
   ===================================================================== */
.icon-safety-fallback{display:none!important;width:1em;height:1em}.icon-font-missing .icon-font-candidate{display:none!important}.icon-font-missing .icon-safety-fallback{display:block!important}
.item__icone :is(.theme-icon-fallback,.theme-guide-icon,.icon-font-candidate){width:100%;height:100%;place-items:center}.item__icone .theme-icon-fallback{display:grid}.item__icone svg{display:block;width:62%;height:62%;margin:auto}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item{
  border:1px solid color-mix(in srgb,var(--c-primary) 18%,var(--c-line))!important;
  background:color-mix(in srgb,var(--c-surface) 96%,var(--c-primary) 4%)!important;
  color:var(--c-surface-ink,var(--c-ink))!important;
  box-shadow:0 8px 24px color-mix(in srgb,var(--c-ink) 7%,transparent)!important;
}
.lista-preset--regras .item__titulo{color:var(--c-surface-ink,var(--c-ink))!important;font-family:var(--font-body,system-ui,sans-serif)!important;font-weight:800!important}
.lista-preset--regras .item__texto{color:var(--c-surface-ink-soft,var(--c-ink-soft))!important;font-family:var(--font-body,system-ui,sans-serif)!important;font-weight:500!important}
.lista-preset--presentes .item--pix-highlight{
  background:var(--c-primary)!important;color:var(--c-primary-ink,#fff)!important;
  border-color:color-mix(in srgb,var(--c-primary-ink,#fff) 38%,transparent)!important;
  box-shadow:0 12px 28px color-mix(in srgb,var(--c-primary) 24%,transparent)!important;
}
.lista-preset--presentes .item--pix-highlight :is(.item__titulo,.item__texto,.item__presente-pix,.item__icone){color:var(--c-primary-ink,#fff)!important;font-family:var(--font-body,system-ui,sans-serif)!important}
.lista-preset--presentes .item--pix-highlight .item__presente-pix{border:1px solid color-mix(in srgb,var(--c-primary-ink,#fff) 72%,transparent)!important;background:color-mix(in srgb,var(--c-primary-ink,#fff) 10%,transparent)!important;text-decoration:none!important;font-weight:800!important}
.lista-preset--presentes :is(.itens--grade,.itens--lista){grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important}
.lista-preset--presentes .item{min-width:0!important;align-content:start!important}.lista-preset--presentes .item>div{min-width:0!important}.lista-preset--presentes :is(.item__titulo,.item__texto){font-family:var(--font-body,system-ui,sans-serif)!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;white-space:normal!important}
.lista-preset--presentes .item--pix-highlight{grid-column:auto!important}.lista-preset--presentes .item--pix-highlight:only-child{grid-column:1/-1!important;width:min(100%,34rem)!important;justify-self:center!important}
@media(max-width:620px){.lista-preset--presentes :is(.itens--grade,.itens--lista){grid-template-columns:1fr!important}.lista-preset--presentes .item--pix-highlight{grid-column:1!important}}

/* =====================================================================
   4.5 — primeira dobra, prévia compacta e controles móveis seguros
   ===================================================================== */
html,body{width:100%;max-width:100%;overflow-x:clip!important;overscroll-behavior-x:none;touch-action:pan-y!important}.pagina-convite,.convite,.secao,.capa{width:100%;max-width:100%;overflow-x:clip}.pagina-convite{touch-action:pan-y!important}.convite :is(img,video,iframe,svg){max-width:100%}
.preview-publish-banner-4067{display:none!important}.tem-publicar-agora-4067{padding-top:0!important}.retorno-editor--450{top:max(10px,env(safe-area-inset-top))!important;left:max(10px,env(safe-area-inset-left))!important}.retorno-editor--450 a{display:grid!important;gap:.08rem;min-height:44px!important;padding:.5rem .78rem!important;background:rgba(24,21,29,.86)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important}.retorno-editor--450 a small{display:block!important;color:rgba(255,255,255,.7);font:700 .55rem/1 system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase}.retorno-editor--450 a strong{font:800 .72rem/1.15 system-ui,sans-serif}.tem-retorno-editor{padding-top:0!important}.tem-retorno-editor .capa{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}
.capa .botao[href="#depois-da-capa"]{position:relative;isolation:isolate;overflow:hidden;min-height:52px;padding:.82rem 1.45rem!important;box-shadow:0 14px 34px color-mix(in srgb,var(--c-primary) 30%,transparent),0 0 0 1px color-mix(in srgb,var(--c-primary-ink,#fff) 30%,transparent)!important;font-weight:900!important;letter-spacing:.02em}.capa .botao[href="#depois-da-capa"]::after{content:"";position:absolute;z-index:-1;inset:-40% auto -40% -55%;width:38%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:abrir-convite-reflexo-450 3.8s ease-in-out infinite}
@keyframes abrir-convite-reflexo-450{0%,48%{left:-55%;opacity:0}55%{opacity:1}78%{left:125%;opacity:0}100%{left:125%;opacity:0}}@keyframes abrir-convite-pulso-450{0%,88%,100%{transform:translateY(0)}92%{transform:translateY(-4px)}96%{transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.capa .botao[href="#depois-da-capa"]{animation:abrir-convite-pulso-450 4.8s ease-in-out infinite}}
.rsvp-floating-cta{left:auto!important;right:max(1rem,env(safe-area-inset-right))!important;bottom:max(1rem,env(safe-area-inset-bottom))!important;width:auto!important;min-height:44px!important;padding:.55rem .8rem!important;font-size:.76rem!important;box-shadow:0 10px 24px color-mix(in srgb,var(--c-primary) 24%,transparent)!important;transform:none!important}.rsvp-floating-cta>span{width:21px!important;height:21px!important}.rsvp-floating-cta.is-hidden{transform:translateY(calc(100% + 1.2rem))!important}.tem-musica .rsvp-floating-cta{right:max(5.1rem,calc(env(safe-area-inset-right) + 4.5rem))!important}
@media(prefers-reduced-motion:no-preference){.rsvp-floating-cta:not(.is-hidden){animation:rsvp-glow 3.2s ease-in-out infinite!important}}
@media(prefers-reduced-motion:reduce){.rsvp-floating-cta{animation:none!important}}
@media(max-width:520px){.convite :is(input,select,textarea){font-size:16px!important}.rsvp-floating-cta{max-width:calc(100% - 2rem)!important}.tem-musica .rsvp-floating-cta{left:1rem!important;right:5.1rem!important;justify-content:center}.retorno-editor--450 a{min-height:42px!important;padding:.45rem .68rem!important}}
@media(prefers-reduced-motion:reduce){.capa .botao[href="#depois-da-capa"],.capa .botao[href="#depois-da-capa"]::after{animation:none!important}}

/* =====================================================================
   4.5.2 — contraste do cartão real e leitura prática em todos os temas
   ===================================================================== */
/* Cartões transparentes e semitransparentes não usam mais, por engano, a
   tinta calculada apenas para uma superfície opaca. Os tokens `card-*` já
   consideram o fundo final, inclusive as duas pontas do degradê. */
:is(
  .cartao,.contagem__item,.acordeao,.rsvp-membro,.rsvp__resposta,
  .lista-preset--traje .item,.lista-preset--regras .item,
  .lista-preset--presentes .item:not(.item--pix-highlight),
  .compromisso__comodidade,.tema-social-chic .item,
  body.composer-v1.recipe-items-cards :is(.itens--grade,.itens--lista) .item,
  body.composer-v1.recipe-program-cards .programacao .compromisso,
  body.composer-v1.recipe-history-cards .bloco--com-foto>*
){color:var(--c-card-ink,var(--c-surface-ink,var(--c-ink)))!important}
:is(
  .cartao,.contagem__item,.acordeao,.rsvp-membro,.rsvp__resposta,
  .lista-preset--traje .item,.lista-preset--regras .item,
  .lista-preset--presentes .item:not(.item--pix-highlight),
  .compromisso__comodidade,.tema-social-chic .item,
  body.composer-v1.recipe-items-cards :is(.itens--grade,.itens--lista) .item,
  body.composer-v1.recipe-program-cards .programacao .compromisso,
  body.composer-v1.recipe-history-cards .bloco--com-foto>*
) :is(.item__texto,.compromisso__endereco,.compromisso__nota,.acordeao__corpo,.contagem__rotulo,.rsvp-message-help,small){color:var(--c-card-ink-soft,var(--c-surface-ink-soft,var(--c-ink-soft)))!important}
:is(.cartao,.contagem__item,.acordeao,.rsvp-membro,.rsvp__resposta) :is(h3,p,label,legend,.campo__rotulo,.rsvp-saudacao,.rsvp__fechado){color:var(--c-card-ink,var(--c-surface-ink,var(--c-ink)))!important}
.contagem__item .contagem__numero,.acordeao>summary::after{color:var(--c-primary-text-card,var(--c-card-ink,var(--c-ink)))!important}

/* Campos sempre pintam uma superfície própria; texto, ajuda e placeholder
   são vinculados a ela, não à cor decorativa da seção. */
.convite :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){background-color:var(--c-surface)!important;color:var(--c-surface-ink,var(--c-ink))!important}
.convite :is(input,textarea)::placeholder{color:var(--c-surface-ink-soft,var(--c-ink-soft))!important;opacity:1}

/* Social Chic e Lacre Imperial tinham uma regra histórica que aplicava tinta
   de superfície à seção inteira, mesmo quando ela era transparente. */
:is(.tema-social-chic,.tema-lacre-imperial) .secao{color:var(--c-ink)!important}
:is(.tema-social-chic,.tema-lacre-imperial) .secao :is(.titulo-secao,.texto,.texto p,.compromisso__local){color:var(--c-ink)!important}
:is(.tema-social-chic,.tema-lacre-imperial) .secao :is(.subtitulo,.compromisso__endereco,.compromisso__nota){color:var(--c-ink-soft)!important}
:is(.tema-social-chic,.tema-lacre-imperial) .secao .item{color:var(--c-card-ink,var(--c-surface-ink,var(--c-ink)))!important}
:is(.tema-social-chic,.tema-lacre-imperial) .secao .item .item__texto{color:var(--c-card-ink-soft,var(--c-surface-ink-soft,var(--c-ink-soft)))!important}

body.composer-v1.recipe-sections-paper .secao__interno{color:var(--c-card-ink,var(--c-surface-ink,var(--c-ink)))!important}
body.composer-v1.recipe-sections-paper .secao__interno :is(.titulo-secao,.texto,.texto p,.compromisso__local){color:var(--c-card-ink,var(--c-surface-ink,var(--c-ink)))!important}
body.composer-v1.recipe-sections-paper .secao__interno :is(.subtitulo,.item__texto,.compromisso__endereco,.compromisso__nota){color:var(--c-card-ink-soft,var(--c-surface-ink-soft,var(--c-ink-soft)))!important}
body.composer-v1.recipe-sections-contrast .secao:nth-of-type(even),body.composer-v1.recipe-sections-contrast .secao:nth-of-type(even) :is(.titulo-secao,.subtitulo,.texto,.texto p,.item__titulo,.item__texto,.compromisso__local,.compromisso__endereco,.compromisso__nota){color:var(--c-primary-ink)!important}

/* Avisos de segurança possuem paletas fixas auditadas e não herdam a tinta
   do cartão pai. */
.rsvp-companion-warning-4040,.rsvp-companion-warning-4040 :is(strong,p){color:#4e3e08!important}
.rsvp-companion-warning-final-4040,.rsvp-companion-warning-final-4040 :is(strong,p){color:#5b4809!important}

/* =====================================================================
   4.5.3 — presentes sem quebras artificiais e data/local completos
   ===================================================================== */
/* A grade externa pode mudar entre uma e duas colunas conforme o tema. O
   conteúdo de cada presente, porém, sempre ocupa a coluna inteira: nenhum
   max-width, flex-basis ou receita antiga pode reduzi-lo à largura da palavra. */
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item:not(.item--pix-highlight){
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  inline-size:100%!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item:not(.item--pix-highlight)>.item__conteudo{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-self:stretch!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  inline-size:100%!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item:not(.item--pix-highlight) :is(.item__titulo,.item__texto){
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  inline-size:100%!important;
  max-inline-size:none!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
  white-space:normal!important;
  text-wrap:pretty;
}

/* Data e horário pertencem ao primeiro bloco do local. A faixa substitui o
   antigo ponto usado quando o evento legado não tinha horário próprio. */
.compromisso__quando{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.28rem .6rem;
  min-width:0;
  margin:0 0 .2rem;
  padding:0 0 .72rem;
  border-bottom:1px solid color-mix(in srgb,var(--c-line) 86%,transparent);
  color:inherit;
  font-family:var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  line-height:1.4;
}
.compromisso__data{
  min-width:0;
  color:inherit;
  font:750 clamp(.86rem,2.5vw,.98rem)/1.4 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:.005em;
}
.compromisso__quando .compromisso__hora{
  margin:0!important;
  color:inherit!important;
  font:850 clamp(.86rem,2.5vw,.98rem)/1.4 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:.01em!important;
  white-space:nowrap;
}
.compromisso__quando-separador{opacity:.55;font-weight:800}
.compromisso__corpo{min-width:0}
/* A receita minimalista antiga reservava só 4–7rem para o horário. Como a
   faixa agora contém a data por extenso, ela passa a ocupar a largura real. */
body.composer-v1.recipe-program-minimal .programacao .compromisso{
  grid-template-columns:minmax(0,1fr)!important;
}
@media(max-width:620px){
  .compromisso__quando{gap:.2rem .45rem;padding-bottom:.58rem}
}

/* 4.5.11 — Papel de Alta Costura.
   Cada PNG tem um papel único: canto, assinatura de capa, divisor, apoio de
   seção, moldura de foto, fechamento e acento. A textura fica em uma camada
   fixa para nunca começar ou terminar no meio de uma seção longa. */
body.tema-papel-alta-costura{
  --corner-size:clamp(76px,11vw,108px)!important;
  background-color:var(--c-bg);
  background-image:none!important;
}
body.tema-papel-alta-costura::before{
  display:block!important;
  opacity:.72;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c-bg) 24%,transparent),color-mix(in srgb,var(--c-bg) 24%,transparent)),
    var(--theme-background-image);
  background-size:auto,cover;
  background-position:center;
  background-repeat:no-repeat;
}
body.tema-papel-alta-costura .capa::before{
  inset:auto!important;
  left:50%!important;
  top:clamp(.7rem,2vw,1.2rem)!important;
  right:auto!important;
  bottom:auto!important;
  width:min(46vw,240px)!important;
  height:clamp(48px,8vw,64px)!important;
  transform:translateX(-50%)!important;
  opacity:1!important;
  background-position:center!important;
  background-size:contain!important;
}
body.tema-papel-alta-costura.divisor-estilo-image.tema-com-divisor-imagem .divisor{
  width:min(var(--divider-width,620px),88vw);
  height:auto!important;
  aspect-ratio:9.87 / 1;
  margin:.85rem auto 1.65rem;
  background-size:100% 100%;
}
body.tema-papel-alta-costura .secao__interno::before{
  width:min(64vw,420px);
  height:auto;
  aspect-ratio:4.54 / 1;
  margin:0 auto clamp(.45rem,1vw,.75rem);
  background-size:100% 100%;
}
body.tema-papel-alta-costura.composer-v1.composer-com-section-ornament .secao__interno::after{content:none}
body.tema-papel-alta-costura .galeria__foto::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:var(--theme-photo-frame-image) center/100% 100% no-repeat;
}
body.tema-papel-alta-costura .galeria__foto figcaption{z-index:3}
body.tema-papel-alta-costura .rodape::before{
  width:min(44vw,230px);
  height:auto;
  aspect-ratio:2.83 / 1;
  background-size:100% 100%;
}
body.tema-papel-alta-costura .card,
body.tema-papel-alta-costura .painel-convite{backdrop-filter:blur(1.5px)}
@media(max-width:620px){
  body.tema-papel-alta-costura{--corner-size:76px!important}
  body.tema-papel-alta-costura .capa::before{width:min(52vw,208px)!important;height:54px!important;top:.55rem!important}
  body.tema-papel-alta-costura.divisor-estilo-image.tema-com-divisor-imagem .divisor{width:88vw;margin:.75rem auto 1.35rem}
  body.tema-papel-alta-costura .secao__interno::before{width:min(68vw,286px)}
  body.tema-papel-alta-costura .rodape::before{width:min(46vw,190px)}
}

/* 4.5.12 — Baile da Regência.
   Jardim inglês nas bordas, papel azul-porcelana contínuo e corredor de leitura
   limpo. A composição é original e usa os oito PNGs em funções distintas. */
body.tema-baile-regencia{
  --corner-size:clamp(92px,14vw,136px)!important;
  background-color:var(--c-bg);
  background-image:none!important;
}
body.tema-baile-regencia::before{
  display:block!important;
  opacity:.74;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c-bg) 22%,transparent),color-mix(in srgb,var(--c-bg) 22%,transparent)),
    var(--theme-background-image);
  background-size:auto,cover;
  background-position:center;
  background-repeat:no-repeat;
}
body.tema-baile-regencia .capa::before{
  inset:auto!important;
  left:50%!important;
  top:clamp(.75rem,2vw,1.25rem)!important;
  right:auto!important;
  bottom:auto!important;
  width:min(48vw,260px)!important;
  height:clamp(54px,9vw,74px)!important;
  transform:translateX(-50%)!important;
  opacity:1!important;
  background-position:center!important;
  background-size:contain!important;
}
body.tema-baile-regencia.divisor-estilo-image.tema-com-divisor-imagem .divisor{
  width:min(var(--divider-width,620px),88vw);
  height:auto!important;
  aspect-ratio:7.24 / 1;
  margin:.82rem auto 1.55rem;
  background-size:100% 100%;
}
body.tema-baile-regencia .secao__interno::before{
  width:min(62vw,380px);
  height:auto;
  aspect-ratio:4 / 1;
  margin:0 auto clamp(.42rem,1vw,.72rem);
  background-size:100% 100%;
}
body.tema-baile-regencia.composer-v1.composer-com-section-ornament .secao__interno::after{content:none}
body.tema-baile-regencia .galeria__foto::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:var(--theme-photo-frame-image) center/100% 100% no-repeat;
}
body.tema-baile-regencia .galeria__foto figcaption{z-index:3}
body.tema-baile-regencia .rodape::before{
  width:min(46vw,240px);
  height:auto;
  aspect-ratio:3.67 / 1;
  background-size:100% 100%;
}
body.tema-baile-regencia .card,
body.tema-baile-regencia .painel-convite{backdrop-filter:blur(2px)}
@media(max-width:620px){
  body.tema-baile-regencia{--corner-size:96px!important}
  body.tema-baile-regencia .capa::before{width:min(54vw,220px)!important;height:62px!important;top:.58rem!important}
  body.tema-baile-regencia.divisor-estilo-image.tema-com-divisor-imagem .divisor{width:88vw;margin:.72rem auto 1.3rem}
  body.tema-baile-regencia .secao__interno::before{width:min(68vw,286px)}
  body.tema-baile-regencia .rodape::before{width:min(48vw,198px)}
}

/* 4.5.14 — Flores de Aquarela.
   As oito aquarelas possuem funções distintas. Flores vivem nas bordas; o
   centro permanece livre para nome, data, botões e leitura no celular. */
body.tema-flores-aquarela{
  --corner-size:clamp(90px,13vw,124px)!important;
  background-color:var(--c-bg);
  background-image:none!important;
}
body.tema-flores-aquarela::before{
  display:block!important;
  opacity:.7;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c-bg) 16%,transparent),color-mix(in srgb,var(--c-bg) 16%,transparent)),
    var(--theme-background-image);
  background-size:auto,cover;
  background-position:center;
  background-repeat:no-repeat;
}
body.tema-flores-aquarela .capa::before{
  inset:auto!important;
  left:50%!important;
  top:clamp(.65rem,1.8vw,1.05rem)!important;
  right:auto!important;
  bottom:auto!important;
  width:min(74vw,560px)!important;
  height:auto!important;
  aspect-ratio:25 / 7;
  transform:translateX(-50%)!important;
  opacity:.96!important;
  background-position:center!important;
  background-size:100% 100%!important;
}
body.tema-flores-aquarela.divisor-estilo-image.tema-com-divisor-imagem .divisor{
  width:min(var(--divider-width,640px),90vw);
  height:auto!important;
  aspect-ratio:7.24 / 1;
  margin:.78rem auto 1.5rem;
  background-size:100% 100%;
}
body.tema-flores-aquarela .secao__interno::before{
  width:min(66vw,420px);
  height:auto;
  aspect-ratio:4 / 1;
  margin:0 auto clamp(.38rem,1vw,.7rem);
  background-size:100% 100%;
}
body.tema-flores-aquarela.composer-v1.composer-com-section-ornament .secao__interno::after{content:none}
body.tema-flores-aquarela .galeria__foto::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:var(--theme-photo-frame-image) center/100% 100% no-repeat;
}
body.tema-flores-aquarela .galeria__foto figcaption{z-index:3}
body.tema-flores-aquarela .rodape::before{
  width:min(50vw,260px);
  height:auto;
  aspect-ratio:3.67 / 1;
  background-size:100% 100%;
}
body.tema-flores-aquarela :is(.card,.painel-convite,.cartao){backdrop-filter:blur(1.5px)}
body.tema-flores-aquarela .capa__olho::before{width:1.55em;height:1.55em}
@media(max-width:620px){
  body.tema-flores-aquarela{--corner-size:92px!important}
  body.tema-flores-aquarela .capa::before{width:min(80vw,390px)!important;height:auto!important;top:.55rem!important}
  body.tema-flores-aquarela.divisor-estilo-image.tema-com-divisor-imagem .divisor{width:90vw;margin:.68rem auto 1.24rem}
  body.tema-flores-aquarela .secao__interno::before{width:min(72vw,306px)}
  body.tema-flores-aquarela .rodape::before{width:min(52vw,210px)}
}
@media(prefers-reduced-motion:reduce){body.tema-flores-aquarela *{scroll-behavior:auto!important}}

/* =====================================================================
   4.5.17 — Presentes em duas camadas: Pix em destaque, dados em grade
   ===================================================================== */
.lista-preset--presentes .secao__interno{
  max-width:58rem;
}
.lista-preset--presentes .texto{
  max-width:43rem;
  margin-left:auto;
  margin-right:auto;
  color:var(--c-ink-soft)!important;
  font-family:var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  font-size:clamp(.92rem,2.1vw,1.04rem);
  line-height:1.58;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista).presentes-grade-4517{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:.78rem!important;
  width:min(100%,48rem)!important;
  max-width:48rem!important;
  margin-inline:auto!important;
}
.lista-preset--presentes .presentes-dados-titulo-4517{
  grid-column:1/-1;
  width:100%;
  margin:.72rem 0 .08rem;
  color:var(--c-ink)!important;
  font:800 clamp(.88rem,2.1vw,1rem)/1.35 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:.04em;
  text-align:left;
  text-transform:uppercase;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item--pix-highlight{
  grid-column:1/-1!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:3.35rem minmax(0,1fr)!important;
  align-items:center!important;
  width:min(100%,43rem)!important;
  max-width:43rem!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:1rem 1.08rem!important;
  border:1px solid color-mix(in srgb,var(--c-primary-ink,#fff) 36%,transparent)!important;
  border-radius:20px!important;
  background:var(--c-primary)!important;
  color:var(--c-primary-ink,#fff)!important;
  box-shadow:0 12px 30px color-mix(in srgb,var(--c-primary) 22%,transparent)!important;
  text-align:left!important;
}
.lista-preset--presentes .item--pix-highlight .item__icone{
  display:grid!important;
  width:2.9rem!important;
  height:2.9rem!important;
  margin:0!important;
  border:1px solid color-mix(in srgb,var(--c-primary-ink,#fff) 52%,transparent)!important;
  border-radius:50%!important;
  color:var(--c-primary-ink,#fff)!important;
}
.lista-preset--presentes .item--pix-highlight .item__conteudo{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:100%!important;
  gap:.18rem!important;
  text-align:left!important;
}
.lista-preset--presentes .item--pix-highlight .item__titulo{
  color:var(--c-primary-ink,#fff)!important;
  font:850 clamp(.96rem,2.5vw,1.08rem)/1.3 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:0!important;
}
.lista-preset--presentes .item--pix-highlight .item__texto{
  color:color-mix(in srgb,var(--c-primary-ink,#fff) 88%,transparent)!important;
  font:500 clamp(.82rem,2.2vw,.94rem)/1.45 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.lista-preset--presentes .item--pix-highlight .item__presente-pix{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:auto!important;
  min-height:42px!important;
  margin:.55rem 0 0!important;
  padding:.58rem 1rem!important;
  border:1px solid color-mix(in srgb,var(--c-primary-ink,#fff) 68%,transparent)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--c-primary-ink,#fff) 11%,transparent)!important;
  color:var(--c-primary-ink,#fff)!important;
  font:800 .86rem/1.2 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  text-decoration:none!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item:not(.item--pix-highlight){
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:.88rem 1rem!important;
  border:1px solid color-mix(in srgb,var(--c-primary) 18%,var(--c-line))!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--c-surface) 96%,var(--c-primary) 4%)!important;
  color:var(--c-card-ink,var(--c-surface-ink,var(--c-ink)))!important;
  box-shadow:0 7px 20px color-mix(in srgb,var(--c-ink) 6%,transparent)!important;
  text-align:left!important;
}
.lista-preset--presentes .item:not(.item--pix-highlight) .item__icone{display:none!important}
.lista-preset--presentes .item:not(.item--pix-highlight) .item__conteudo{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:.18rem!important;
  width:100%!important;
  text-align:left!important;
}
.lista-preset--presentes .item:not(.item--pix-highlight) .item__titulo{
  color:var(--c-card-ink,var(--c-surface-ink,var(--c-ink)))!important;
  font:800 clamp(.84rem,2.1vw,.96rem)/1.32 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.lista-preset--presentes .item:not(.item--pix-highlight) .item__texto{
  color:var(--c-card-ink-soft,var(--c-surface-ink-soft,var(--c-ink-soft)))!important;
  font:550 clamp(.88rem,2.3vw,1rem)/1.42 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
  letter-spacing:0!important;
  overflow-wrap:anywhere!important;
  text-transform:none!important;
}
.lista-preset--presentes .item--gift-odd-last-4517{
  grid-column:1/-1!important;
  width:min(100%,23.6rem)!important;
  justify-self:center!important;
}
@media(max-width:620px){
  .lista-preset--presentes :is(.itens--grade,.itens--lista).presentes-grade-4517{grid-template-columns:1fr!important;gap:.68rem!important}
  .lista-preset--presentes .presentes-dados-titulo-4517{margin-top:.55rem}
  .lista-preset--presentes :is(.itens--grade,.itens--lista)>.item--pix-highlight{grid-column:1!important;grid-template-columns:2.75rem minmax(0,1fr)!important;width:100%!important;padding:.86rem!important;border-radius:17px!important}
  .lista-preset--presentes .item--pix-highlight .item__icone{width:2.45rem!important;height:2.45rem!important}
  .lista-preset--presentes .item--gift-odd-last-4517{grid-column:1!important;width:100%!important}
}

/* 4.6.0 — precedência final. Regras históricas de coleções podem mudar a
   decoração, mas não podem quebrar densidade, alinhamento ou semântica. */
body{position:relative!important;--section-space:clamp(1.55rem,3.8vw,2.7rem)!important;background-attachment:scroll!important}
body::before,body::after{position:absolute!important;height:auto!important;min-height:100%!important;background-attachment:scroll!important}
.secao{padding:var(--section-space) clamp(.82rem,2.8vw,1.2rem)!important}
.secao__interno{width:min(100%,56rem)!important;max-width:56rem!important;margin-inline:auto!important}
.secao__interno>.titulo-secao{width:auto!important;max-width:min(100%,26ch)!important;margin:0 auto .18rem!important;text-align:center!important;line-height:1.12!important;overflow-wrap:normal!important;word-break:normal!important}
.divisor,body:not(.divisor-estilo-theme) .divisor{width:min(var(--divider-width,360px),76vw)!important;max-width:720px!important;margin:.62rem auto 1.05rem!important}
.tema-com-divisor-imagem .divisor{width:min(var(--divider-width,520px),84vw)!important;background-size:100% 100%!important}
.lista-preset--regras :is(.itens--grade,.itens--lista){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.68rem!important;width:min(100%,48rem)!important;max-width:48rem!important;margin:auto!important}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item{display:grid!important;grid-template-columns:2.55rem minmax(0,1fr)!important;align-items:center!important;gap:.65rem!important;min-height:0!important;padding:.72rem .78rem!important;border:1px solid var(--c-line)!important;border-radius:14px!important;background:color-mix(in srgb,var(--c-surface) 96%,transparent)!important;box-shadow:none!important;text-align:left!important;color:var(--c-surface-ink,var(--c-ink))!important}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){grid-column:1/-1!important;width:calc(50% - .34rem)!important}
.lista-preset--regras .item__icone{margin:0!important}
.lista-preset--regras .item__conteudo{text-align:left!important}
.lista-preset--regras .item__titulo{margin:0 0 .08rem!important;font:750 .88rem/1.28 var(--font-body)!important;letter-spacing:0!important;text-transform:none!important;color:var(--c-surface-ink,var(--c-ink))!important}
.lista-preset--regras .item__texto{margin:0!important;font:500 .82rem/1.38 var(--font-body)!important;color:var(--c-surface-ink-soft,var(--c-ink-soft))!important}
.lista-preset--traje :is(.itens--grade,.itens--lista){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.7rem!important;max-width:48rem!important;margin:auto!important}
.lista-preset--traje .item{display:grid!important;grid-template-columns:2.75rem minmax(0,1fr)!important;align-items:center!important;gap:.72rem!important;min-height:0!important;padding:.78rem!important;border-radius:14px!important;background:var(--c-surface)!important;box-shadow:none!important}
.item__icone--semantic{display:grid!important;width:2.55rem!important;height:2.55rem!important;min-width:2.55rem!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;transform:none!important;color:var(--theme-icon-color,var(--c-primary))!important}
.programacao{gap:.72rem!important;width:min(100%,52rem)!important;margin:auto!important}
.programacao>.compromisso{padding:clamp(.78rem,2vw,1rem)!important;border:1px solid var(--c-line)!important;border-radius:14px!important;background:color-mix(in srgb,var(--c-surface) 96%,transparent)!important;box-shadow:none!important}
.compromisso__local{margin:0 0 .22rem!important;font:800 clamp(1rem,2.5vw,1.16rem)/1.32 var(--font-body)!important;color:var(--c-surface-ink,var(--c-ink))!important}
.compromisso__endereco{font:500 clamp(.88rem,2vw,.98rem)/1.48 var(--font-body)!important;color:var(--c-surface-ink-soft,var(--c-ink-soft))!important}
.musica{display:grid!important;place-items:center!important;width:2.8rem!important;height:2.8rem!important;min-width:2.8rem!important;min-height:2.8rem!important;max-width:2.8rem!important;max-height:2.8rem!important;padding:0!important;border-radius:50%!important;background:var(--c-surface)!important;color:var(--c-primary)!important}
.musica__estado-icone{position:static!important;width:1rem!important;height:1rem!important;min-width:1rem!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:currentColor!important;font:800 .62rem/1 system-ui!important}
.musica__texto{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
@media(max-width:620px){body{--section-space:1.45rem!important}.lista-preset--regras :is(.itens--grade,.itens--lista){grid-template-columns:1fr!important;gap:.5rem!important}.lista-preset--regras :is(.itens--grade,.itens--lista)>.item,.lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){grid-column:1!important;width:100%!important;grid-template-columns:2rem minmax(0,1fr)!important;gap:.45rem!important;padding:.58rem!important;border-radius:11px!important}.lista-preset--regras .item__icone{width:2rem!important;height:2rem!important;min-width:2rem!important}.lista-preset--regras .item__titulo{font-size:max(.76rem,12px)!important}.lista-preset--regras .item__texto{font-size:max(.74rem,11.8px)!important;line-height:1.32!important}.lista-preset--traje :is(.itens--grade,.itens--lista),.compromisso__comodidades{grid-template-columns:1fr!important}}

/* =====================================================================
   4.6.1 — régua editorial única e correção estrutural dos alinhamentos
   ===================================================================== */
body{
  --layout-gutter:clamp(.85rem,2.8vw,1.25rem);
  --layout-content:48rem;
  --layout-copy:42rem;
  --layout-form:38rem;
  --layout-wide:64rem;
  --section-space:clamp(1.45rem,3.1vw,2rem)!important;
}
.secao{
  box-sizing:border-box!important;
  padding:var(--section-space) var(--layout-gutter)!important;
}
.secao__interno{
  box-sizing:border-box!important;
  width:min(100%,var(--layout-content))!important;
  max-width:var(--layout-content)!important;
  min-width:0!important;
  margin-inline:auto!important;
}
.secao--larga .secao__interno{
  width:min(100%,var(--layout-wide))!important;
  max-width:var(--layout-wide)!important;
}
.secao__interno>.titulo-secao{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:min(100%,34rem)!important;
  margin:0 auto .15rem!important;
  padding:0!important;
  text-align:center!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.secao__interno>.titulo-secao+.divisor{
  margin:.52rem auto .82rem!important;
}
.divisor,body:not(.divisor-estilo-theme) .divisor{
  width:min(var(--divider-width,340px),78vw)!important;
  max-width:32rem!important;
}
.tema-com-divisor-imagem .divisor{
  width:min(var(--divider-width,520px),86vw)!important;
  max-width:40rem!important;
}
.texto{
  box-sizing:border-box!important;
  width:min(100%,var(--layout-copy))!important;
  max-width:var(--layout-copy)!important;
  margin-inline:auto!important;
  text-wrap:pretty;
}
.texto p{max-width:100%;overflow-wrap:break-word;word-break:normal;hyphens:none}
.secao__introducao{margin:0 auto .9rem!important}
.item__conteudo,.item__principal{box-sizing:border-box;min-width:0;max-width:100%}
.item__principal{width:100%}
.item__acao{margin:0}

/* Blocos editoriais possuem uma medida própria; não se esticam até as bordas
   apenas porque a seção aceita conteúdo largo. */
[class*="bloco-preset--"] .cartao--editorial{
  box-sizing:border-box!important;
  width:min(100%,44rem)!important;
  max-width:44rem!important;
  min-height:0!important;
  height:auto!important;
  margin-inline:auto!important;
  padding:clamp(.95rem,2.4vw,1.35rem)!important;
}
[class*="bloco-preset--"] .cartao--editorial .texto{
  width:min(100%,38rem)!important;
  max-width:38rem!important;
  font-size:clamp(.95rem,1.7vw,1.03rem)!important;
  line-height:1.58!important;
}
.bloco-preset--familia.bloco-texto--curto .cartao--editorial .texto{
  text-align:center!important;
  text-wrap:balance;
}
.bloco-preset--familia .secao__interno>.titulo-secao{
  max-width:min(100%,30rem)!important;
}
.bloco-preset--familia .cartao--editorial{
  width:min(100%,38rem)!important;
  max-width:38rem!important;
  padding:clamp(.95rem,2.2vw,1.18rem)!important;
}
.bloco-preset--familia .cartao--editorial .texto{
  width:min(100%,32rem)!important;
  max-width:32rem!important;
}
.bloco-preset--familia .assinatura{
  width:min(100%,26rem)!important;
  margin:.72rem auto 0!important;
  padding-top:.68rem;
  border-top:1px solid color-mix(in srgb,var(--c-line) 72%,transparent);
  font-size:clamp(1.45rem,4vw,1.95rem)!important;
  line-height:1.12!important;
  text-align:center!important;
}
[class*="bloco-preset--"] .moldura::after{inset:5px!important;opacity:.62}
.bloco__foto-avulsa{
  width:min(100%,38rem)!important;
  max-width:38rem!important;
  aspect-ratio:auto!important;
  margin:.9rem auto 0!important;
  cursor:default!important;
}

/* Presentes: Pix e os dados práticos compartilham exatamente a mesma régua.
   A versão anterior reservava uma coluna para um ícone que não existia e
   comprimia todo o texto nessa coluna. */
.lista-preset--presentes .secao__interno{
  width:min(100%,var(--layout-content))!important;
  max-width:var(--layout-content)!important;
}
.lista-preset--presentes .texto{
  width:min(100%,var(--layout-copy))!important;
  max-width:var(--layout-copy)!important;
  margin:0 auto .82rem!important;
  text-align:center!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista).presentes-grade-4517{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:min(100%,var(--layout-content))!important;
  max-width:var(--layout-content)!important;
  gap:.68rem!important;
  margin-inline:auto!important;
}
.lista-preset--presentes .presentes-dados-titulo-4517{
  width:100%!important;
  margin:.58rem 0 .02rem!important;
  padding:0!important;
  text-align:left!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item--pix-highlight{
  grid-column:1/-1!important;
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:.88rem 1rem!important;
  text-align:left!important;
}
.lista-preset--presentes .item--pix-highlight .item__icone{display:none!important}
.lista-preset--presentes .item--pix-highlight .item__conteudo{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:.72rem 1rem!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  text-align:left!important;
}
.lista-preset--presentes .item--pix-highlight .item__principal{
  min-width:0!important;
  width:100%!important;
}
.lista-preset--presentes .item--pix-highlight .item__titulo{
  width:100%!important;
  margin:0!important;
  line-height:1.28!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.lista-preset--presentes .item--pix-highlight .item__texto{
  width:100%!important;
  max-width:34rem!important;
  margin:.12rem 0 0!important;
  line-height:1.42!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.lista-preset--presentes .item--pix-highlight .item__acao{
  align-self:center!important;
  margin:0!important;
}
.lista-preset--presentes .item--pix-highlight .item__presente-pix{
  width:auto!important;
  min-width:8.5rem!important;
  min-height:40px!important;
  margin:0!important;
  padding:.55rem .9rem!important;
  white-space:nowrap!important;
}
.lista-preset--presentes .item:not(.item--pix-highlight) .item__conteudo,
.lista-preset--presentes .item:not(.item--pix-highlight) .item__principal{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item:not(.item--pix-highlight){
  width:100%!important;
  max-width:none!important;
  align-self:stretch!important;
  padding:.78rem .86rem!important;
}
.lista-preset--presentes .item--gift-odd-last-4517{
  grid-column:auto!important;
  width:100%!important;
  max-width:none!important;
  justify-self:stretch!important;
}
.lista-preset--presentes .item:not(.item--pix-highlight) :is(.item__titulo,.item__texto){
  width:100%!important;
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Todos os módulos práticos partem do mesmo eixo de 48rem. */
.lista-preset--regras :is(.itens--grade,.itens--lista),
.lista-preset--traje :is(.itens--grade,.itens--lista),
.programacao{
  box-sizing:border-box!important;
  width:min(100%,var(--layout-content))!important;
  max-width:var(--layout-content)!important;
  margin-inline:auto!important;
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item,
.lista-preset--traje :is(.itens--grade,.itens--lista)>.item,
.programacao>.compromisso{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){
  justify-self:center!important;
}
.lista-preset--regras :is(.item__conteudo,.item__principal),
.lista-preset--traje :is(.item__conteudo,.item__principal){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}
/* Regras antigas de coleções aplicavam círculo, preenchimento ou rotação com
   seletor mais específico. A ilustração semântica é sempre line art e recebe
   somente a cor calculada da paleta. */
.convite .lista-preset--regras .item .item__icone--semantic,
.convite .lista-preset--traje .item .item__icone--semantic,
.convite .compromisso__comodidade .item__icone--semantic,
.convite .programacao--memorias .item__icone--semantic{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  transform:none!important;
  color:var(--theme-icon-color,var(--c-primary))!important;
}
.contagem{width:min(100%,var(--layout-copy))!important;margin-inline:auto!important}
.rsvp-cartao{box-sizing:border-box!important;width:min(100%,var(--layout-form))!important;max-width:var(--layout-form)!important;margin-inline:auto!important}
.galeria:not(.galeria--faixa){margin-inline:auto!important}

@media(max-width:620px){
  body{--layout-gutter:.82rem;--section-space:1.25rem!important}
  .secao__interno>.titulo-secao{max-width:100%!important;font-size:clamp(1.28rem,7.2vw,1.8rem)!important;line-height:1.12!important}
  [class*="bloco-preset--"] .cartao--editorial{padding:.9rem!important}
  [class*="bloco-preset--"] .cartao--editorial .texto{line-height:1.52!important}
  .bloco-preset--familia .assinatura{margin-top:.58rem!important;padding-top:.58rem;font-size:clamp(1.35rem,7vw,1.72rem)!important}
  .lista-preset--presentes .item--pix-highlight .item__conteudo{grid-template-columns:minmax(0,1fr)!important;gap:.58rem!important}
  .lista-preset--presentes .item--pix-highlight .item__presente-pix{width:100%!important;min-width:0!important}
  .lista-preset--presentes .presentes-dados-titulo-4517{font-size:.82rem!important}
}
@media(min-width:521px) and (max-width:760px){
  .lista-preset--presentes :is(.itens--grade,.itens--lista).presentes-grade-4517{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .lista-preset--presentes .item--gift-odd-last-4517{
    grid-column:1/-1!important;
  }
}
@media(max-width:520px){
  .lista-preset--presentes :is(.itens--grade,.itens--lista).presentes-grade-4517{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .lista-preset--presentes .item--gift-odd-last-4517{grid-column:1!important}
}

/* =====================================================================
   4.7.1 — reconstrução visual dos temas premium
   ---------------------------------------------------------------------
   A arte, o texto e o divisor compartilham um único eixo. O papel deixa de
   ser ampliado pela altura inteira do documento (causa do fundo manchado),
   as seções usam uma só assinatura ornamental e as cantoneiras preservam
   presença real no celular.
   ===================================================================== */
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
){
  --layout-gutter:clamp(.9rem,3.6vw,1.25rem);
  --section-space:clamp(1.55rem,4.2vw,2.25rem)!important;
  background-color:var(--c-bg)!important;
  background-image:
    radial-gradient(90% 42% at 50% 0%,color-mix(in srgb,var(--c-surface) 42%,transparent),transparent 72%),
    linear-gradient(180deg,var(--c-bg),color-mix(in srgb,var(--c-bg-deep) 10%,var(--c-bg)))!important;
  background-size:auto!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* O tema de papel antigo desenhava a textura em uma camada fixa com 72% de
   opacidade. Em telas longas ela era ampliada milhares de pixels. */
body.tema-papel-alta-costura::before{content:none!important;display:none!important}

body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .capa{
  min-height:min(88svh,48rem);
  padding:clamp(4.6rem,11vw,6.2rem) var(--layout-gutter) clamp(4rem,10vw,5.4rem)!important;
}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .capa__conteudo{
  width:min(100%,30rem);
  max-width:30rem;
  margin-inline:auto;
  text-align:center;
}

/* Cantoneiras novas: arte grande, ancorada na borda e fora do corredor. */
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea
) .cantoneira{
  width:clamp(170px,18vw,224px)!important;
  height:clamp(170px,18vw,224px)!important;
}
body.tema-papel-alta-costura .cantoneira{
  width:clamp(150px,16vw,196px)!important;
  height:clamp(150px,16vw,196px)!important;
}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) :is(.cantoneira--tl,.cantoneira--tr){top:0!important}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) :is(.cantoneira--bl,.cantoneira--br){bottom:0!important}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) :is(.cantoneira--tl,.cantoneira--bl){left:0!important}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) :is(.cantoneira--tr,.cantoneira--br){right:0!important}

/* Uma única arte por seção. O antigo apoio antes do título somado ao divisor
   criava a duplicação vista em Traje e Regras da festa. */
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .secao__interno::before{content:none!important;display:none!important}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .capa::before{content:none!important;display:none!important}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .capa__olho::before{content:none!important;display:none!important}

body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .secao__interno>.titulo-secao{
  width:min(100%,30rem)!important;
  max-width:30rem!important;
  margin-inline:auto!important;
  padding-inline:0!important;
  font-size:clamp(1.4rem,5.6vw,2rem)!important;
  line-height:1.12!important;
  letter-spacing:min(var(--title-tracking,.08em),.1em)!important;
  text-align:center!important;
}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
).divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  width:min(76vw,20rem)!important;
  max-width:20rem!important;
  height:clamp(30px,7vw,46px)!important;
  margin:.35rem auto .88rem!important;
  background-size:contain!important;
  background-position:center!important;
}

body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) :is(.capa__olho,.nome-debutante,.capa__frase,.capa__data,.capa__hora){
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .nome-debutante{
  font-size:clamp(2.65rem,10.8vw,4.8rem)!important;
  line-height:.96!important;
  overflow-wrap:normal!important;
}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.25rem,9vw,4.1rem)!important}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.9rem,7.5vw,3.45rem)!important}
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-papel-alta-costura
) .capa__data{
  max-width:28rem;
  padding-inline:.25rem;
  font-size:clamp(.82rem,3.2vw,1rem)!important;
  line-height:1.45!important;
  letter-spacing:.12em!important;
  text-wrap:balance;
}

@media(max-width:620px){
  body:is(
    .tema-lacos-perolas,
    .tema-noite-dourada,
    .tema-disco-cristal,
    .tema-baile-cristal,
    .tema-riviera-mediterranea
  ) .cantoneira{
    width:clamp(184px,49vw,200px)!important;
    height:clamp(184px,49vw,200px)!important;
  }
  body.tema-papel-alta-costura .cantoneira{
    width:clamp(132px,38vw,150px)!important;
    height:clamp(132px,38vw,150px)!important;
  }
  body:is(
    .tema-lacos-perolas,
    .tema-noite-dourada,
    .tema-disco-cristal,
    .tema-baile-cristal,
    .tema-riviera-mediterranea,
    .tema-papel-alta-costura
  ) .capa{
    min-height:min(86svh,44rem)!important;
    padding:4.35rem .95rem 4.3rem!important;
  }
  body:is(
    .tema-lacos-perolas,
    .tema-noite-dourada,
    .tema-disco-cristal,
    .tema-baile-cristal,
    .tema-riviera-mediterranea,
    .tema-papel-alta-costura
  ) .capa__conteudo{width:min(100%,24rem)}
  body:is(
    .tema-lacos-perolas,
    .tema-noite-dourada,
    .tema-disco-cristal,
    .tema-baile-cristal,
    .tema-riviera-mediterranea,
    .tema-papel-alta-costura
  ) .monograma{
    width:104px!important;
    height:104px!important;
    font-size:35px!important;
  }
  body:is(
    .tema-lacos-perolas,
    .tema-noite-dourada,
    .tema-disco-cristal,
    .tema-baile-cristal,
    .tema-riviera-mediterranea,
    .tema-papel-alta-costura
  ) .nome-debutante{font-size:clamp(2.45rem,10.8vw,3.2rem)!important}
  body:is(
    .tema-lacos-perolas,
    .tema-noite-dourada,
    .tema-disco-cristal,
    .tema-baile-cristal,
    .tema-riviera-mediterranea,
    .tema-papel-alta-costura
  ) .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.12rem,9vw,2.75rem)!important}
  body:is(
    .tema-lacos-perolas,
    .tema-noite-dourada,
    .tema-disco-cristal,
    .tema-baile-cristal,
    .tema-riviera-mediterranea,
    .tema-papel-alta-costura
  ) .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.82rem,7.45vw,2.35rem)!important}
}

/* =====================================================================
   4.7.5 — papel autoral e tipografia impressa
   ---------------------------------------------------------------------
   Os cinco fundos já são papéis raster próprios e suaves. A correção 4.7.1
   os substituía por um gradiente chapado; aqui o papel volta sem ampliar uma
   única imagem pela página inteira. A repetição acompanha a leitura e mantém
   a fibra no tamanho correto. Títulos recebem profundidade curta de tinta
   impressa, sem glow ou sombra preta artificial.
   ===================================================================== */
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea
){
  background-color:var(--c-bg)!important;
  background-image:
    radial-gradient(85% 34% at 50% 12%,color-mix(in srgb,var(--c-surface) 14%,transparent),transparent 76%),
    var(--theme-background-image)!important;
  background-size:auto,clamp(520px,70vw,880px) auto!important;
  background-position:center top,center top!important;
  background-repeat:no-repeat,repeat!important;
  background-attachment:scroll,scroll!important;
}

body:is(
  .tema-lacos-perolas,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea
) :is(.nome-debutante,.titulo-secao){
  text-shadow:
    0 1px 0 color-mix(in srgb,#fff 76%,transparent),
    0 2px 3px color-mix(in srgb,var(--c-ink) 20%,transparent),
    0 0 .65px color-mix(in srgb,currentColor 58%,transparent)!important;
}

body.tema-noite-dourada :is(.nome-debutante,.titulo-secao){
  text-shadow:
    0 1px 0 rgba(0,0,0,.92),
    0 2px 7px color-mix(in srgb,var(--c-metal) 24%,transparent),
    0 0 .8px color-mix(in srgb,currentColor 62%,transparent)!important;
}

body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea
) .monograma{
  background:color-mix(in srgb,var(--c-surface) 18%,transparent);
  text-shadow:
    0 1px 0 color-mix(in srgb,var(--c-surface) 76%,transparent),
    0 2px 3px color-mix(in srgb,var(--c-ink) 22%,transparent);
  box-shadow:
    inset 0 1px 0 color-mix(in srgb,var(--c-surface) 88%,transparent),
    inset 0 -2px 4px color-mix(in srgb,var(--c-ink) 12%,transparent),
    0 4px 12px color-mix(in srgb,var(--c-ink) 11%,transparent)!important;
}

body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea
) :is(.capa__olho,.capa__data,.capa__hora){
  text-shadow:0 1px 0 color-mix(in srgb,var(--c-surface) 72%,transparent);
}

/* 4.7.3 — trava final de cascata das camadas decorativas antigas.
   Neutraliza as receitas 4.5.12 e 4.5.14; a 4.7.6 restaura depois somente o
   papel do body, muito lavado, sem reativar estes pseudo-elementos pesados. */
body:is(.tema-baile-regencia,.tema-flores-aquarela)::before{
  content:none!important;
  display:none!important;
  background-image:none!important;
  opacity:0!important;
}
body:is(.tema-baile-regencia,.tema-flores-aquarela) :is(.capa::before,.secao__interno::before){
  content:none!important;
  display:none!important;
}
@media(max-width:620px){
  body:is(.tema-baile-regencia,.tema-flores-aquarela) .cantoneira{
    width:clamp(184px,50vw,204px)!important;
    height:clamp(184px,50vw,204px)!important;
  }
}

/* =====================================================================
   4.7.6 — acabamento de papel em todo o catálogo e glitter da Noite Dourada
   ---------------------------------------------------------------------
   O acabamento abaixo é uma fibra curta e repetível: ele acompanha a altura
   real do convite, não estica uma imagem e não transforma o fundo em névoa.
   Papéis raster autorais usam intensidade menor; fundos gráficos e receitas
   em CSS recebem mais fibra para continuarem claramente táteis.
   ===================================================================== */
body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-jardim-lavanda,
  .tema-princesa-real,
  .tema-orquidea-noir,
  .tema-aurora-boreal,
  .tema-papel-alta-costura,
  .tema-baile-regencia,
  .tema-flores-aquarela,
  .tema-ceu-de-safira,
  .tema-arabesque,
  .tema-bosque-encantado,
  .tema-cerejeira-imperial,
  .tema-lacre-imperial,
  .tema-perola-rose,
  .tema-porcelana-azul,
  .tema-social-chic
){
  --sg-paper-finish-opacity:.36;
}

body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea
){
  --sg-paper-finish-opacity:.14;
}

body:is(
  .tema-papel-alta-costura,
  .tema-baile-regencia,
  .tema-flores-aquarela
){
  --sg-paper-finish-opacity:.24;
}

body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-jardim-lavanda,
  .tema-princesa-real,
  .tema-orquidea-noir,
  .tema-aurora-boreal,
  .tema-papel-alta-costura,
  .tema-baile-regencia,
  .tema-flores-aquarela,
  .tema-ceu-de-safira,
  .tema-arabesque,
  .tema-bosque-encantado,
  .tema-cerejeira-imperial,
  .tema-lacre-imperial,
  .tema-perola-rose,
  .tema-porcelana-azul,
  .tema-social-chic
) .pagina-convite::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:var(--sg-paper-finish-opacity,.32);
  background-image:
    radial-gradient(circle at center,color-mix(in srgb,var(--c-ink) 22%,transparent) 0 .42px,transparent .82px),
    radial-gradient(circle at center,color-mix(in srgb,var(--c-metal) 18%,transparent) 0 .34px,transparent .76px),
    repeating-linear-gradient(93deg,transparent 0 16px,color-mix(in srgb,var(--c-ink) 9%,transparent) 16.5px 17.25px,transparent 17.75px 34px),
    repeating-linear-gradient(2deg,transparent 0 12px,color-mix(in srgb,var(--c-surface) 24%,transparent) 12.5px 13.2px,transparent 13.8px 31px);
  background-size:13px 17px,19px 23px,37px 31px,31px 41px;
  background-position:0 0,7px 11px,3px 5px,13px 17px;
  background-repeat:repeat;
}

body:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-jardim-lavanda,
  .tema-princesa-real,
  .tema-orquidea-noir,
  .tema-aurora-boreal,
  .tema-papel-alta-costura,
  .tema-baile-regencia,
  .tema-flores-aquarela,
  .tema-ceu-de-safira,
  .tema-arabesque,
  .tema-bosque-encantado,
  .tema-cerejeira-imperial,
  .tema-lacre-imperial,
  .tema-perola-rose,
  .tema-porcelana-azul,
  .tema-social-chic
) .pagina-convite>.rodape{
  z-index:1;
}

/* Três receitas haviam ficado apenas com gradiente. As imagens voltam na
   escala do papel, mas Baile e Flores recebem uma lavagem forte para que a
   ilustração não dispute atenção com o texto. */
body.tema-papel-alta-costura{
  background-color:var(--c-bg)!important;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c-bg) 12%,transparent),color-mix(in srgb,var(--c-bg) 12%,transparent)),
    var(--theme-background-image)!important;
  background-size:auto,clamp(760px,88vw,1080px) auto!important;
  background-position:center top,center top!important;
  background-repeat:no-repeat,repeat!important;
  background-attachment:scroll,scroll!important;
}

body:is(.tema-baile-regencia,.tema-flores-aquarela){
  --sg-paper-art-wash:88%;
  background-color:var(--c-bg)!important;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c-bg) var(--sg-paper-art-wash),transparent),color-mix(in srgb,var(--c-bg) var(--sg-paper-art-wash),transparent)),
    var(--theme-background-image)!important;
  background-size:auto,clamp(780px,94vw,1120px) auto!important;
  background-position:center top,center top!important;
  background-repeat:no-repeat,repeat!important;
  background-attachment:scroll,scroll!important;
}
body.tema-flores-aquarela{--sg-paper-art-wash:84%}

/* O canvas é criado somente no tema preto e dourado. Dentro do stacking
   context do convite ele fica sobre o papel, porém abaixo de textos e cards. */
.sg-gold-glitter-rain{
  position:fixed;
  inset:0;
  z-index:2;
  width:100vw;
  height:100vh;
  height:100dvh;
  pointer-events:none;
  opacity:.88;
  mix-blend-mode:screen;
}
body:not(.tema-noite-dourada) .sg-gold-glitter-rain{display:none}

@media(prefers-reduced-motion:reduce){
  .sg-gold-glitter-rain{display:none!important}
}

/* =====================================================================
   4.7.7 — reflexos sutis nos cristais do Baile de Cristal
   ---------------------------------------------------------------------
   Os pontos de luz coincidem com gemas reais da cantoneira. Duas famílias
   piscam em ritmos longos e desencontrados; cada canto recebe outro atraso.
   O divisor ganha apenas um reflexo curto sobre o cristal central.
   ===================================================================== */
body.tema-baile-cristal .cantoneira{
  isolation:isolate;
}

body.tema-baile-cristal .cantoneira::before,
body.tema-baile-cristal .cantoneira::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:.025;
  background-repeat:no-repeat;
  filter:drop-shadow(0 0 3px rgba(188,179,255,.32));
}

body.tema-baile-cristal .cantoneira::before{
  background-image:
    radial-gradient(circle at 13% 17%,rgba(255,255,255,.98) 0 .7px,rgba(220,230,255,.82) 1.1px,rgba(184,164,255,.26) 3px,transparent 7px),
    radial-gradient(circle at 49% 16%,rgba(255,255,255,.96) 0 .65px,rgba(213,226,255,.76) 1.2px,rgba(170,153,244,.22) 3.2px,transparent 6.8px),
    radial-gradient(circle at 11% 93%,rgba(255,255,255,.94) 0 .6px,rgba(211,225,255,.72) 1.1px,rgba(177,159,248,.2) 2.8px,transparent 6px);
  animation:sg-baile-cristal-glint-a 9.8s ease-in-out infinite;
}

body.tema-baile-cristal .cantoneira::after{
  background-image:
    radial-gradient(circle at 31% 5%,rgba(255,255,255,.96) 0 .55px,rgba(219,232,255,.72) 1px,rgba(181,162,251,.2) 2.7px,transparent 5.8px),
    radial-gradient(circle at 88% 14%,rgba(255,255,255,.94) 0 .6px,rgba(210,226,255,.7) 1.1px,rgba(181,162,251,.18) 2.8px,transparent 6px),
    radial-gradient(circle at 7% 59%,rgba(255,255,255,.92) 0 .55px,rgba(215,229,255,.68) 1px,rgba(171,157,242,.18) 2.6px,transparent 5.6px),
    radial-gradient(circle at 20% 36%,rgba(255,255,255,.9) 0 .5px,rgba(216,230,255,.64) 1px,rgba(175,157,245,.16) 2.5px,transparent 5.2px);
  animation:sg-baile-cristal-glint-b 12.6s ease-in-out infinite;
}

body.tema-baile-cristal .cantoneira--tl::before{animation-delay:-1.1s}
body.tema-baile-cristal .cantoneira--tr::before{animation-delay:-4.3s}
body.tema-baile-cristal .cantoneira--bl::before{animation-delay:-7.2s}
body.tema-baile-cristal .cantoneira--br::before{animation-delay:-8.8s}
body.tema-baile-cristal .cantoneira--tl::after{animation-delay:-5.6s}
body.tema-baile-cristal .cantoneira--tr::after{animation-delay:-9.4s}
body.tema-baile-cristal .cantoneira--bl::after{animation-delay:-2.7s}
body.tema-baile-cristal .cantoneira--br::after{animation-delay:-11.1s}

@keyframes sg-baile-cristal-glint-a{
  0%,6%,11%,34%,40%,67%,73%,100%{opacity:.025}
  8%{opacity:.7}
  9.2%{opacity:.16}
  37%{opacity:.42}
  69.5%{opacity:.58}
  71%{opacity:.12}
}

@keyframes sg-baile-cristal-glint-b{
  0%,17%,22%,48%,53%,78%,84%,100%{opacity:.02}
  19.2%{opacity:.52}
  20.4%{opacity:.1}
  50.5%{opacity:.36}
  81%{opacity:.48}
  82.4%{opacity:.08}
}

body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .divisor{
  position:relative;
}

body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .divisor::after{
  content:"";
  display:block!important;
  position:absolute;
  left:50%;
  top:50%;
  width:clamp(18px,4.5vw,28px);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  pointer-events:none;
  opacity:.025;
  background:
    linear-gradient(90deg,transparent 5%,rgba(255,255,255,.88) 50%,transparent 95%) center/100% 1px no-repeat,
    linear-gradient(0deg,transparent 5%,rgba(255,255,255,.8) 50%,transparent 95%) center/1px 100% no-repeat,
    radial-gradient(circle,rgba(255,255,255,.96) 0 1px,rgba(205,218,255,.62) 1.5px,rgba(173,154,244,.2) 3px,transparent 7px);
  filter:drop-shadow(0 0 4px rgba(170,151,242,.28));
  animation:sg-baile-cristal-divisor-glint 11.4s ease-in-out infinite -3.8s;
}

@keyframes sg-baile-cristal-divisor-glint{
  0%,29%,34%,72%,77%,100%{opacity:.025}
  31%{opacity:.56}
  32.2%{opacity:.11}
  74.5%{opacity:.38}
}

@media(prefers-reduced-motion:reduce){
  body.tema-baile-cristal .cantoneira::before,
  body.tema-baile-cristal .cantoneira::after,
  body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .divisor::after{
    animation:none!important;
    opacity:.08;
  }
}

/* =====================================================================
   4.7.8 — molduras contínuas, papel da Regência e cristal perceptível
   ---------------------------------------------------------------------
   A vitrine sempre mostrou uma linha ligando as quatro cantoneiras, porém
   essa linha não existia no convite renderizado. A moldura agora pertence ao
   próprio contêiner das cantoneiras e é pintada atrás das artes: ramos, laços,
   flores e cristais escondem as junções e o encaixe permanece correto em
   qualquer largura. Cada coleção recebe geometria e acabamento próprios.
   ===================================================================== */
body.cantoneira-4:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-jardim-lavanda,
  .tema-princesa-real,
  .tema-orquidea-noir,
  .tema-aurora-boreal,
  .tema-papel-alta-costura,
  .tema-baile-regencia,
  .tema-flores-aquarela,
  .tema-ceu-de-safira,
  .tema-arabesque,
  .tema-bosque-encantado,
  .tema-cerejeira-imperial,
  .tema-lacre-imperial,
  .tema-perola-rose,
  .tema-porcelana-azul
){
  --sg-frame-inset-x:clamp(11px,1.45vw,22px);
  --sg-frame-inset-y:clamp(11px,1.45vw,22px);
  --sg-frame-gap:5px;
  --sg-frame-width:1px;
  --sg-frame-radius:10px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 62%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-line) 36%,transparent);
  --sg-frame-inner-opacity:.7;
  --sg-frame-shadow:none;
}

body.cantoneira-4:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-jardim-lavanda,
  .tema-princesa-real,
  .tema-orquidea-noir,
  .tema-aurora-boreal,
  .tema-papel-alta-costura,
  .tema-baile-regencia,
  .tema-flores-aquarela,
  .tema-ceu-de-safira,
  .tema-arabesque,
  .tema-bosque-encantado,
  .tema-cerejeira-imperial,
  .tema-lacre-imperial,
  .tema-perola-rose,
  .tema-porcelana-azul
) :is(.capa,.secao)>.cantoneiras::before,
body.cantoneira-4:is(
  .tema-lacos-perolas,
  .tema-noite-dourada,
  .tema-disco-cristal,
  .tema-baile-cristal,
  .tema-riviera-mediterranea,
  .tema-jardim-lavanda,
  .tema-princesa-real,
  .tema-orquidea-noir,
  .tema-aurora-boreal,
  .tema-papel-alta-costura,
  .tema-baile-regencia,
  .tema-flores-aquarela,
  .tema-ceu-de-safira,
  .tema-arabesque,
  .tema-bosque-encantado,
  .tema-cerejeira-imperial,
  .tema-lacre-imperial,
  .tema-perola-rose,
  .tema-porcelana-azul
) :is(.capa,.secao)>.cantoneiras::after{
  content:"";
  position:absolute;
  z-index:0;
  pointer-events:none;
  box-sizing:border-box;
  border-radius:var(--sg-frame-radius,10px);
}

body.cantoneira-4 :is(.capa,.secao)>.cantoneiras::before{
  inset:var(--sg-frame-inset-y) var(--sg-frame-inset-x);
  border:var(--sg-frame-width,1px) solid var(--sg-frame-color);
  box-shadow:var(--sg-frame-shadow,none);
}

body.cantoneira-4 :is(.capa,.secao)>.cantoneiras::after{
  inset:
    calc(var(--sg-frame-inset-y) + var(--sg-frame-gap,5px))
    calc(var(--sg-frame-inset-x) + var(--sg-frame-gap,5px));
  border:1px solid var(--sg-frame-inner-color);
  border-radius:calc(var(--sg-frame-radius,10px) - 2px);
  opacity:var(--sg-frame-inner-opacity,.7);
}

body.cantoneira-4 :is(.capa,.secao)>.cantoneiras>.cantoneira{z-index:1}

/* Champagne couture: duas linhas finas, quentes e quase retas. */
body.tema-lacos-perolas{
  --sg-frame-inset-x:clamp(12px,1.55vw,24px);
  --sg-frame-inset-y:clamp(12px,1.55vw,24px);
  --sg-frame-gap:6px;
  --sg-frame-radius:8px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 72%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal-soft) 58%,transparent);
  --sg-frame-shadow:inset 0 0 10px color-mix(in srgb,var(--c-metal-soft) 10%,transparent);
}

/* Preto e ouro: filete luminoso com segunda linha mais discreta. */
body.tema-noite-dourada{
  --sg-frame-inset-x:clamp(10px,1.3vw,20px);
  --sg-frame-inset-y:clamp(10px,1.3vw,20px);
  --sg-frame-gap:6px;
  --sg-frame-radius:7px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 84%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal-soft) 48%,transparent);
  --sg-frame-shadow:0 0 8px color-mix(in srgb,var(--c-metal) 18%,transparent),inset 0 0 8px color-mix(in srgb,var(--c-metal) 9%,transparent);
}

/* Cristais: molduras frias, lapidadas e com reflexo muito curto. */
body.tema-disco-cristal{
  --sg-frame-inset-x:clamp(12px,1.5vw,23px);
  --sg-frame-inset-y:clamp(12px,1.5vw,23px);
  --sg-frame-gap:4px;
  --sg-frame-radius:5px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 68%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-primary) 31%,transparent);
  --sg-frame-shadow:0 0 7px color-mix(in srgb,var(--c-primary) 12%,transparent);
}
body.tema-baile-cristal{
  --sg-frame-inset-x:clamp(13px,1.65vw,25px);
  --sg-frame-inset-y:clamp(13px,1.65vw,25px);
  --sg-frame-gap:5px;
  --sg-frame-radius:12px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 64%,#dfe8ff 18%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-primary) 27%,transparent);
  --sg-frame-shadow:0 0 9px rgba(185,178,232,.13),inset 0 0 8px rgba(224,230,255,.12);
}

/* Mediterrâneo: friso azul com miolo dourado, como azulejo pintado. */
body.tema-riviera-mediterranea{
  --sg-frame-inset-x:clamp(11px,1.4vw,22px);
  --sg-frame-inset-y:clamp(11px,1.4vw,22px);
  --sg-frame-gap:5px;
  --sg-frame-radius:6px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 66%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal) 54%,transparent);
}

/* Jardins e flores: linha orgânica, arredondada e de baixa saturação. */
body.tema-jardim-lavanda{
  --sg-frame-inset-x:clamp(13px,1.7vw,26px);
  --sg-frame-inset-y:clamp(13px,1.7vw,26px);
  --sg-frame-gap:6px;
  --sg-frame-radius:18px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 42%,var(--c-metal) 22%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-line) 34%,transparent);
  --sg-frame-inner-opacity:.48;
}
body.tema-flores-aquarela{
  --sg-frame-inset-x:clamp(13px,1.65vw,25px);
  --sg-frame-inset-y:clamp(13px,1.65vw,25px);
  --sg-frame-gap:7px;
  --sg-frame-radius:20px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 43%,var(--c-metal) 20%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-line) 28%,transparent);
  --sg-frame-inner-opacity:.42;
}
body.tema-bosque-encantado{
  --sg-frame-inset-x:clamp(15px,1.9vw,29px);
  --sg-frame-inset-y:clamp(15px,1.9vw,29px);
  --sg-frame-gap:5px;
  --sg-frame-radius:22px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 44%,var(--c-metal) 29%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-line) 37%,transparent);
}
body.tema-cerejeira-imperial{
  --sg-frame-inset-x:clamp(15px,1.9vw,29px);
  --sg-frame-inset-y:clamp(15px,1.9vw,29px);
  --sg-frame-gap:5px;
  --sg-frame-radius:24px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 44%,var(--c-metal) 32%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal-soft) 45%,transparent);
}

/* Realeza e papelaria clássica: duplo filete de impressão. */
body.tema-princesa-real{
  --sg-frame-inset-x:clamp(12px,1.55vw,24px);
  --sg-frame-inset-y:clamp(12px,1.55vw,24px);
  --sg-frame-gap:6px;
  --sg-frame-radius:9px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 75%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-primary) 33%,transparent);
}
body.tema-papel-alta-costura{
  --sg-frame-inset-x:clamp(14px,1.75vw,27px);
  --sg-frame-inset-y:clamp(14px,1.75vw,27px);
  --sg-frame-gap:7px;
  --sg-frame-radius:4px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 61%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-line) 30%,transparent);
  --sg-frame-inner-opacity:.5;
}
body.tema-baile-regencia{
  --sg-frame-inset-x:clamp(11px,1.4vw,22px);
  --sg-frame-inset-y:clamp(11px,1.4vw,22px);
  --sg-frame-gap:6px;
  --sg-frame-radius:9px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 72%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-primary) 35%,transparent);
}
body.tema-ceu-de-safira{
  --sg-frame-inset-x:clamp(11px,1.45vw,22px);
  --sg-frame-inset-y:clamp(11px,1.45vw,22px);
  --sg-frame-gap:5px;
  --sg-frame-radius:6px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 76%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-primary) 34%,transparent);
}
body.tema-arabesque{
  --sg-frame-inset-x:clamp(12px,1.55vw,24px);
  --sg-frame-inset-y:clamp(12px,1.55vw,24px);
  --sg-frame-gap:6px;
  --sg-frame-radius:8px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 73%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal-soft) 43%,transparent);
}
body.tema-lacre-imperial{
  --sg-frame-inset-x:clamp(12px,1.55vw,24px);
  --sg-frame-inset-y:clamp(12px,1.55vw,24px);
  --sg-frame-gap:7px;
  --sg-frame-width:1.2px;
  --sg-frame-radius:5px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 56%,var(--c-metal) 28%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal) 55%,transparent);
}
body.tema-perola-rose{
  --sg-frame-inset-x:clamp(12px,1.55vw,24px);
  --sg-frame-inset-y:clamp(12px,1.55vw,24px);
  --sg-frame-gap:6px;
  --sg-frame-radius:13px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 48%,var(--c-metal) 29%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal-soft) 43%,transparent);
}
body.tema-porcelana-azul{
  --sg-frame-inset-x:clamp(15px,1.9vw,29px);
  --sg-frame-inset-y:clamp(15px,1.9vw,29px);
  --sg-frame-gap:5px;
  --sg-frame-radius:21px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 55%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal) 48%,transparent);
}
body.tema-orquidea-noir{
  --sg-frame-inset-x:clamp(15px,1.9vw,29px);
  --sg-frame-inset-y:clamp(15px,1.9vw,29px);
  --sg-frame-gap:5px;
  --sg-frame-radius:22px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 63%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-primary) 34%,transparent);
  --sg-frame-shadow:0 0 8px color-mix(in srgb,var(--c-primary) 10%,transparent);
}
body.tema-aurora-boreal{
  --sg-frame-inset-x:clamp(16px,2vw,31px);
  --sg-frame-inset-y:clamp(16px,2vw,31px);
  --sg-frame-gap:5px;
  --sg-frame-radius:24px;
  --sg-frame-color:color-mix(in srgb,var(--c-primary) 48%,var(--c-metal) 31%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-secondary,var(--c-primary)) 36%,transparent);
  --sg-frame-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 13%,transparent);
}

/* A arte de papel da Regência volta a aparecer de verdade: a lavagem passa
   de 88% para 68%, ainda suave, mas com fibra e botânica reconhecíveis. */
body.tema-baile-regencia{--sg-paper-art-wash:68%}

/* No Baile de Cristal, além dos pontos localizados, um reflexo estreito corre
   somente dentro dos pixels da própria cantoneira. É perceptível sem criar
   uma camada branca sobre o convite. */
body.tema-baile-cristal .cantoneira::before{
  filter:drop-shadow(0 0 4px rgba(188,179,255,.5)) drop-shadow(0 0 8px rgba(221,229,255,.2));
}

body.tema-baile-cristal .cantoneira::after{
  inset:0;
  opacity:.06;
  background-image:linear-gradient(112deg,transparent 31%,rgba(218,224,255,.12) 40%,rgba(255,255,255,.95) 49%,rgba(205,193,255,.34) 54%,transparent 68%);
  background-size:265% 100%;
  background-position:165% 0;
  background-repeat:no-repeat;
  -webkit-mask-image:var(--theme-corner-image);
  -webkit-mask-position:left top;
  -webkit-mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-image:var(--theme-corner-image);
  mask-position:left top;
  mask-size:contain;
  mask-repeat:no-repeat;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 5px rgba(190,181,255,.42));
  will-change:background-position,opacity;
  animation:sg-baile-cristal-sweep 7.6s ease-in-out infinite!important;
}

body.tema-baile-cristal .cantoneira--tl::after{animation-delay:-.8s!important}
body.tema-baile-cristal .cantoneira--tr::after{animation-delay:-2.7s!important}
body.tema-baile-cristal .cantoneira--bl::after{animation-delay:-4.6s!important}
body.tema-baile-cristal .cantoneira--br::after{animation-delay:-6.5s!important}

@keyframes sg-baile-cristal-sweep{
  0%,12%{background-position:165% 0;opacity:.04}
  26%{opacity:.74}
  41%{background-position:-160% 0;opacity:.3}
  49%,100%{background-position:-160% 0;opacity:.04}
}

body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .divisor::after{
  filter:drop-shadow(0 0 5px rgba(170,151,242,.42));
}

@media(max-width:620px){
  body.cantoneira-4:is(
    .tema-lacos-perolas,
    .tema-noite-dourada,
    .tema-disco-cristal,
    .tema-baile-cristal,
    .tema-riviera-mediterranea,
    .tema-jardim-lavanda,
    .tema-princesa-real,
    .tema-orquidea-noir,
    .tema-aurora-boreal,
    .tema-papel-alta-costura,
    .tema-baile-regencia,
    .tema-flores-aquarela,
    .tema-ceu-de-safira,
    .tema-arabesque,
    .tema-bosque-encantado,
    .tema-cerejeira-imperial,
    .tema-lacre-imperial,
    .tema-perola-rose,
    .tema-porcelana-azul
  ){
    --sg-frame-inset-x:10px;
    --sg-frame-inset-y:10px;
    --sg-frame-gap:4px;
  }
}

@media(prefers-reduced-motion:reduce){
  body.tema-baile-cristal .cantoneira::after{
    animation:none!important;
    background-position:50% 0;
    opacity:.13;
  }
}

/* =====================================================================
   4.7.9 — reconstrução raster, papel dirigido pela paleta e céu pontual
   ===================================================================== */

/* A imagem fornece somente fibra/relevo; a paleta fornece a cor final.
   `multiply` funciona tanto no marfim quanto no preto sem apagar o papel. */
body.fundo-paleta-tint.fundo-base-image.tema-com-fundo-imagem{
  background-color:var(--c-bg)!important;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c-bg) var(--bg-image-wash,18%),transparent),color-mix(in srgb,var(--c-bg) var(--bg-image-wash,18%),transparent)),
    var(--theme-background-image)!important;
  background-blend-mode:normal,multiply!important;
  background-size:auto,var(--bg-image-size,cover)!important;
  background-position:center,center var(--bg-image-position,center)!important;
  background-repeat:no-repeat,no-repeat!important;
  background-attachment:scroll!important;
}
body.fundo-paleta-tint.fundo-base-image.tema-com-fundo-imagem.fundo-imagem-tile{
  background-size:auto,var(--bg-image-size,720px)!important;
  background-position:center,left top!important;
  background-repeat:no-repeat,repeat!important;
}

body.tema-orquidea-noir{
  background-color:var(--c-bg)!important;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c-bg) 16%,transparent),color-mix(in srgb,var(--c-bg-deep) 10%,transparent)),
    var(--theme-background-image)!important;
  background-size:auto,clamp(620px,76vw,920px) auto!important;
  background-position:center top,left top!important;
  background-repeat:no-repeat,repeat!important;
  background-attachment:scroll!important;
  --sg-paper-finish-opacity:.1;
  --sg-frame-inset-x:clamp(11px,1.35vw,21px);
  --sg-frame-inset-y:clamp(11px,1.35vw,21px);
  --sg-frame-gap:5px;
  --sg-frame-radius:5px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 57%,var(--c-primary) 18%);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-primary) 28%,transparent);
  --sg-frame-shadow:0 0 10px color-mix(in srgb,var(--c-primary) 16%,transparent);
}

body.tema-papel-alta-costura{
  --sg-paper-finish-opacity:.08;
  --sg-frame-inset-x:clamp(12px,1.5vw,23px);
  --sg-frame-inset-y:clamp(12px,1.5vw,23px);
  --sg-frame-gap:6px;
  --sg-frame-radius:4px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 65%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal-soft) 48%,transparent);
}

body.tema-arabesque{
  --sg-paper-finish-opacity:.08;
  --sg-frame-inset-x:clamp(11px,1.4vw,22px);
  --sg-frame-inset-y:clamp(11px,1.4vw,22px);
  --sg-frame-gap:6px;
  --sg-frame-radius:6px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 76%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-metal-soft) 56%,transparent);
  --sg-frame-shadow:inset 0 0 12px color-mix(in srgb,var(--c-metal) 8%,transparent);
}

/* Uma única assinatura por eixo: cantoneiras + moldura contínua + divisor.
   Os ornamentos de apoio não se repetem sobre o título ou sobre a capa. */
body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) .capa::before,
body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) .secao__interno::before,
body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) .capa__olho::before{
  content:none!important;
  display:none!important;
}

body.tema-arabesque .capa::after{content:none!important;display:none!important}

body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) .cantoneira{
  width:clamp(216px,22vw,292px)!important;
  height:clamp(216px,22vw,292px)!important;
  opacity:var(--corner-opacity,.94)!important;
}

body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) :is(.cantoneira--tl,.cantoneira--tr){top:0!important}
body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) :is(.cantoneira--bl,.cantoneira--br){bottom:0!important}
body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) :is(.cantoneira--tl,.cantoneira--bl){left:0!important}
body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) :is(.cantoneira--tr,.cantoneira--br){right:0!important}

body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque).divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  width:min(78vw,24rem)!important;
  max-width:24rem!important;
  height:clamp(34px,7vw,52px)!important;
  margin:.42rem auto 1rem!important;
  background-size:contain!important;
  background-position:center!important;
}

body:is(.tema-papel-alta-costura,.tema-arabesque) :is(.nome-debutante,.titulo-secao){
  text-shadow:
    0 1px 0 color-mix(in srgb,#fff 82%,transparent),
    0 2px 3px color-mix(in srgb,var(--c-ink) 18%,transparent),
    0 0 .55px color-mix(in srgb,currentColor 62%,transparent)!important;
}

body.tema-orquidea-noir :is(.nome-debutante,.titulo-secao){
  text-shadow:
    0 1px 0 rgba(0,0,0,.88),
    0 2px 8px color-mix(in srgb,var(--c-primary) 24%,transparent),
    0 0 .7px color-mix(in srgb,currentColor 72%,transparent)!important;
}

/* Céu de Safira: sete estrelas, divididas em dois ritmos longos. Não há
   grade, repetição ou chuva; os pontos apenas respiram em locais fixos. */
body.tema-ceu-de-safira .capa::before,
body.tema-ceu-de-safira .capa::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background-repeat:no-repeat;
  will-change:opacity,filter;
}

body.tema-ceu-de-safira .capa::before{
  background-image:
    radial-gradient(circle at 17% 24%,color-mix(in srgb,var(--c-metal) 92%,white 8%) 0 1.1px,transparent 2.3px),
    radial-gradient(circle at 81% 19%,color-mix(in srgb,var(--c-metal) 86%,white 14%) 0 1.25px,transparent 2.5px),
    radial-gradient(circle at 73% 63%,color-mix(in srgb,var(--c-metal) 78%,white 22%) 0 .9px,transparent 2px),
    radial-gradient(circle at 25% 72%,rgba(255,255,255,.88) 0 .8px,transparent 1.9px);
  animation:sg-safira-stars-a 7.8s ease-in-out infinite;
}

body.tema-ceu-de-safira .capa::after{
  background-image:
    radial-gradient(circle at 34% 15%,rgba(255,255,255,.92) 0 .75px,transparent 1.8px),
    radial-gradient(circle at 89% 46%,color-mix(in srgb,var(--c-metal) 82%,white 18%) 0 1px,transparent 2.2px),
    radial-gradient(circle at 12% 52%,color-mix(in srgb,var(--c-metal) 80%,white 20%) 0 .9px,transparent 2px);
  animation:sg-safira-stars-b 10.6s ease-in-out -3.2s infinite;
}

@keyframes sg-safira-stars-a{
  0%,100%{opacity:.12;filter:brightness(.9) drop-shadow(0 0 0 transparent)}
  42%{opacity:.74;filter:brightness(1.22) drop-shadow(0 0 4px color-mix(in srgb,var(--c-metal) 40%,transparent))}
  68%{opacity:.25;filter:brightness(1)}
}

@keyframes sg-safira-stars-b{
  0%,100%{opacity:.1;filter:brightness(.92) drop-shadow(0 0 0 transparent)}
  54%{opacity:.62;filter:brightness(1.18) drop-shadow(0 0 3px color-mix(in srgb,var(--c-metal) 34%,transparent))}
}

@media(max-width:620px){
  body:is(.tema-orquidea-noir,.tema-papel-alta-costura,.tema-arabesque) .cantoneira{
    width:clamp(184px,52vw,208px)!important;
    height:clamp(184px,52vw,208px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.tema-ceu-de-safira .capa::before,
  body.tema-ceu-de-safira .capa::after{
    animation:none!important;
    opacity:.22;
    filter:none;
  }
}

/* =====================================================================
   4.7.10 — capítulos autorais, molduras finas e tipografia de assinatura
   ===================================================================== */

/* O nome deve parecer uma assinatura impressa, não um título de catálogo.
   A fonte continua sendo selecionável; este acabamento acompanha qualquer
   manuscrita escolhida e mantém nomes longos em no máximo duas linhas. */
.nome-debutante{
  max-width:min(92vw,18ch);
  text-wrap:balance;
  text-shadow:
    0 .6px 0 color-mix(in srgb,var(--c-surface) 72%,transparent),
    0 2px 3px color-mix(in srgb,var(--c-ink) 14%,transparent),
    0 0 .45px color-mix(in srgb,currentColor 60%,transparent);
}
.nome-debutante[data-nome-longo="1"]{max-width:min(92vw,20ch);line-height:1.01}
.nome-debutante[data-nome-muito-longo="1"]{max-width:min(92vw,23ch);line-height:1.04}

/* Miolo em capítulos: os trilhos seguem de uma seção à outra, enquanto a
   pequena assinatura acima do título substitui a repetição de cantoneiras. */
body.tema-com-cantoneira{
  --sg-chapter-inset:clamp(12px,2.2vw,30px);
  --sg-chapter-rail:color-mix(in srgb,var(--c-metal) 47%,transparent);
  --sg-chapter-rail-soft:color-mix(in srgb,var(--c-metal-soft) 30%,transparent);
  --sg-chapter-wash:color-mix(in srgb,var(--c-surface) 8%,transparent);
}
body.tema-com-cantoneira .secao{
  isolation:isolate;
  background-image:
    linear-gradient(180deg,transparent,var(--sg-chapter-rail) 8%,var(--sg-chapter-rail) 92%,transparent),
    linear-gradient(180deg,transparent,var(--sg-chapter-rail) 8%,var(--sg-chapter-rail) 92%,transparent);
  background-position:var(--sg-chapter-inset) 0,calc(100% - var(--sg-chapter-inset)) 0;
  background-size:1px 100%,1px 100%;
  background-repeat:no-repeat;
}
body.tema-com-cantoneira .secao:nth-of-type(even){background-color:var(--sg-chapter-wash)}
body.tema-com-cantoneira .titulo-secao::before{
  content:"";
  display:block;
  width:clamp(24px,5vw,38px);
  height:clamp(24px,5vw,38px);
  margin:0 auto clamp(.5rem,1.4vw,.78rem);
  background-color:color-mix(in srgb,var(--c-bg) 86%,transparent);
  background-image:var(--theme-accent-image,none);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  border:1px solid color-mix(in srgb,var(--c-metal) 55%,transparent);
  border-radius:50%;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--c-metal-soft) 10%,transparent);
}
body.tema-com-guia-elementos .secao__interno::before{content:none!important;display:none!important}

body.tema-ceu-de-safira{
  --sg-paper-finish-opacity:.16;
  --sg-chapter-rail:color-mix(in srgb,var(--c-metal) 58%,transparent);
  --sg-chapter-rail-soft:color-mix(in srgb,var(--c-metal) 25%,transparent);
  --sg-chapter-wash:color-mix(in srgb,var(--c-surface) 24%,transparent);
}
body.tema-arabesque{
  --sg-paper-finish-opacity:.06;
  --sg-chapter-rail:color-mix(in srgb,var(--c-metal) 58%,transparent);
  --sg-chapter-wash:color-mix(in srgb,var(--c-metal-soft) 7%,transparent);
}
body.tema-papel-alta-costura{
  --sg-paper-finish-opacity:.035;
  --sg-chapter-rail:color-mix(in srgb,var(--c-metal) 43%,transparent);
  --sg-chapter-wash:color-mix(in srgb,var(--c-metal-soft) 5%,transparent);
  background-size:clamp(720px,78vw,980px) auto!important;
}
body.tema-orquidea-noir{
  --sg-chapter-rail:color-mix(in srgb,var(--c-metal) 62%,transparent);
  --sg-chapter-wash:color-mix(in srgb,var(--c-primary) 5%,transparent);
}

/* Arabesque clara, com cartões ainda legíveis sobre o marfim quase branco. */
body.tema-arabesque :is(.cartao,.item,.compromisso,.contagem__item){
  background-color:color-mix(in srgb,var(--c-surface) 92%,transparent);
  border-color:color-mix(in srgb,var(--c-metal-soft) 58%,var(--c-line));
  box-shadow:0 10px 30px color-mix(in srgb,var(--c-ink) 5%,transparent);
}

/* Divisórias com presença suficiente para realmente encerrar o cabeçalho. */
body:not(.divisor-estilo-none) .secao__interno>.titulo-secao+.divisor{
  width:min(84vw,var(--divider-width,520px));
  max-width:32rem;
  min-height:24px;
  margin:.55rem auto 1.45rem;
  opacity:clamp(.9,var(--divider-opacity,1),1);
  color:color-mix(in srgb,var(--c-metal) 82%,var(--c-ink));
}
body:not(.divisor-estilo-none) .secao__interno>.titulo-secao+.divisor::before,
body:not(.divisor-estilo-none) .secao__interno>.titulo-secao+.divisor::after{
  min-height:1.25px;
}
body.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  width:min(86vw,var(--divider-width,620px))!important;
  max-width:38.75rem!important;
  height:clamp(48px,8vw,68px)!important;
  min-height:48px!important;
  margin:.35rem auto 1.3rem!important;
  background-size:contain!important;
  background-position:center!important;
  filter:drop-shadow(0 1px 1px color-mix(in srgb,var(--c-ink) 11%,transparent));
}

/* Abertura útil de aproximadamente 93%: filete contínuo fino + somente os
   quatro pequenos cantos da arte raster, sem trilhos grossos sobre a foto. */
body.tema-com-guia-elementos .bloco__foto,
body.composer-v1.composer-com-photo-frame .bloco__foto{
  position:relative;
  padding:clamp(4px,.65vw,7px)!important;
  overflow:visible;
}
body.tema-com-guia-elementos .bloco__foto::before,
body.composer-v1.composer-com-photo-frame .bloco__foto::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:2px;
  border:1px solid color-mix(in srgb,var(--c-metal) 64%,transparent);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-metal-soft) 22%,transparent);
  pointer-events:none;
}
body.tema-com-guia-elementos .bloco__foto::after,
body.composer-v1.composer-com-photo-frame .bloco__foto::after{
  content:"";
  position:absolute;
  z-index:3;
  inset:0;
  background:var(--theme-photo-frame-image) center/100% 100% no-repeat!important;
  -webkit-mask:
    linear-gradient(#000 0 0) left top/22% 22% no-repeat,
    linear-gradient(#000 0 0) right top/22% 22% no-repeat,
    linear-gradient(#000 0 0) right bottom/22% 22% no-repeat,
    linear-gradient(#000 0 0) left bottom/22% 22% no-repeat;
  mask:
    linear-gradient(#000 0 0) left top/22% 22% no-repeat,
    linear-gradient(#000 0 0) right top/22% 22% no-repeat,
    linear-gradient(#000 0 0) right bottom/22% 22% no-repeat,
    linear-gradient(#000 0 0) left bottom/22% 22% no-repeat;
  opacity:.82;
  pointer-events:none;
}

/* As sete estrelas antigas davam a impressão de que nada havia mudado. A
   camada nova traz 18 pontos na capa e poucos ecos no miolo, cada qual com
   ritmo próprio entre 2,7 e 4,8 segundos. */
body.tema-ceu-de-safira .capa::before,
body.tema-ceu-de-safira .capa::after{content:none!important;display:none!important}
.sg-sapphire-stars{
  position:absolute;
  z-index:1;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.sg-sapphire-star{
  position:absolute;
  left:var(--star-x);
  top:var(--star-y);
  width:calc(var(--star-size) * 2);
  height:calc(var(--star-size) * 2);
  border-radius:50%;
  background:color-mix(in srgb,var(--c-metal) 78%,white 22%);
  box-shadow:0 0 5px color-mix(in srgb,var(--c-metal) 48%,transparent);
  opacity:.16;
  transform:translate(-50%,-50%) rotate(var(--star-phase));
  animation:sg-safira-twinkle var(--star-duration) ease-in-out var(--star-delay) infinite;
}
.sg-sapphire-star--flare{
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.sg-sapphire-star--flare::before,
.sg-sapphire-star--flare::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  background:color-mix(in srgb,var(--c-metal) 70%,white 30%);
  border-radius:999px;
  transform:translate(-50%,-50%);
  box-shadow:0 0 6px color-mix(in srgb,var(--c-metal) 42%,transparent);
}
.sg-sapphire-star--flare::before{width:1px;height:calc(var(--star-size) * 8)}
.sg-sapphire-star--flare::after{width:calc(var(--star-size) * 5);height:1px}
.sg-sapphire-stars--miolo{z-index:0;opacity:.52}
@keyframes sg-safira-twinkle{
  0%,100%{opacity:.12;filter:brightness(.82)}
  34%{opacity:.88;filter:brightness(1.35)}
  51%{opacity:.28;filter:brightness(1)}
  72%{opacity:.7;filter:brightness(1.18)}
}

@media(max-width:620px){
  body.tema-com-cantoneira{--sg-chapter-inset:12px}
  body.tema-com-cantoneira .secao{padding-left:1.35rem;padding-right:1.35rem}
  body.tema-com-cantoneira .titulo-secao::before{width:26px;height:26px}
  body.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
    width:min(88vw,var(--divider-width,620px))!important;
    height:clamp(48px,13vw,62px)!important;
  }
  body.tema-com-guia-elementos .bloco__foto::after,
  body.composer-v1.composer-com-photo-frame .bloco__foto::after{
    -webkit-mask-size:24% 24%,24% 24%,24% 24%,24% 24%;
    mask-size:24% 24%,24% 24%,24% 24%,24% 24%;
  }
}

@media(prefers-reduced-motion:reduce){
  .sg-sapphire-star{animation:none!important;opacity:.32;filter:none}
}

/* =====================================================================
   4.7.11 — Baile de Cristal: joia contínua no lugar de linhas genéricas
   ===================================================================== */
body.tema-baile-cristal{
  --sg-crystal-rail-size:clamp(30px,4.2vw,46px);
}

/* Capa: as linhas retas e o segundo retângulo desaparecem. Duas joias
   horizontais e duas verticais encontram as cantoneiras por baixo delas. */
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::before,
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::after{
  inset:0!important;
  border:0!important;
  border-radius:0!important;
  opacity:.82!important;
  box-shadow:none!important;
  filter:drop-shadow(0 1px 2px rgba(74,66,103,.12));
}
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::before{
  background-image:
    var(--theme-chapter-ornament-image),
    var(--theme-chapter-ornament-image);
  background-position:center top 8px,center bottom 8px;
  background-size:92% auto,92% auto;
  background-repeat:no-repeat;
}
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::after{
  background-image:
    var(--theme-chapter-rail-image),
    var(--theme-chapter-rail-right-image);
  background-position:left 7px top,right 7px top;
  background-size:var(--sg-crystal-rail-size) auto,var(--sg-crystal-rail-size) auto;
  background-repeat:repeat-y,repeat-y;
}

/* Miolo: a joia vertical acompanha cada capítulo. Não é uma borda fechada e
   tampouco um filete: ramos, gotas e pequenos cristais marcam o percurso. */
body.tema-baile-cristal.tema-com-cantoneira .secao{
  background-image:
    var(--theme-chapter-rail-image),
    var(--theme-chapter-rail-right-image)!important;
  background-position:left -7px top,right -7px top!important;
  background-size:var(--sg-crystal-rail-size) auto,var(--sg-crystal-rail-size) auto!important;
  background-repeat:repeat-y,repeat-y!important;
}

/* Cada título recebe a nova joia em versão horizontal. O pequeno círculo
   genérico e o divisor antigo de pontos não competem mais com a arte. */
body.tema-baile-cristal.tema-com-cantoneira .titulo-secao::before{
  content:none!important;
  display:none!important;
}
body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  width:min(86vw,34rem)!important;
  max-width:34rem!important;
  height:clamp(62px,10vw,92px)!important;
  min-height:62px!important;
  margin:.28rem auto 1.25rem!important;
  background-image:var(--theme-chapter-ornament-image)!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  opacity:.92!important;
  filter:drop-shadow(0 2px 3px rgba(74,66,103,.13));
  animation:sg-crystal-chapter-breathe 5.8s ease-in-out infinite;
}

/* =====================================================================
   4.7.21 — oito identidades raster completas
   Cantoneiras, conexões e miolo usam o mesmo sistema ornamental. Não há
   moldura genérica nem o medalhão circular repetido sobre cada título.
   ===================================================================== */
body:is(
  .tema-porcelana-delft,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-jardim-iris,
  .tema-champagne-art-deco,
  .tema-lua-prata,
  .tema-verde-inverno,
  .tema-aurora-nacar
){
  --sg-new-rail-size:clamp(25px,3.4vw,38px);
  --sg-frame-inset-x:clamp(12px,1.6vw,22px);
  --sg-frame-inset-y:clamp(12px,1.6vw,22px);
  --sg-frame-gap:4px;
  --sg-frame-radius:5px;
  --sg-frame-color:color-mix(in srgb,var(--c-metal) 54%,transparent);
  --sg-frame-inner-color:color-mix(in srgb,var(--c-primary) 20%,transparent);
  --sg-frame-shadow:0 10px 34px color-mix(in srgb,var(--c-ink) 6%,transparent);
}

body:is(
  .tema-porcelana-delft,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-jardim-iris,
  .tema-champagne-art-deco,
  .tema-lua-prata,
  .tema-verde-inverno,
  .tema-aurora-nacar
).cantoneira-4 .capa>.cantoneiras::before,
body:is(
  .tema-porcelana-delft,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-jardim-iris,
  .tema-champagne-art-deco,
  .tema-lua-prata,
  .tema-verde-inverno,
  .tema-aurora-nacar
).cantoneira-4 .capa>.cantoneiras::after{
  inset:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  pointer-events:none;
}

body:is(
  .tema-porcelana-delft,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-jardim-iris,
  .tema-champagne-art-deco,
  .tema-lua-prata,
  .tema-verde-inverno,
  .tema-aurora-nacar
).cantoneira-4 .capa>.cantoneiras::before{
  opacity:.76!important;
  background-image:var(--theme-chapter-ornament-image),var(--theme-chapter-ornament-image);
  background-position:center top 4px,center bottom 4px;
  background-size:calc(100% - 34px) auto,calc(100% - 34px) auto;
  background-repeat:no-repeat;
}

body:is(
  .tema-porcelana-delft,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-jardim-iris,
  .tema-champagne-art-deco,
  .tema-lua-prata,
  .tema-verde-inverno,
  .tema-aurora-nacar
).cantoneira-4 .capa>.cantoneiras::after{
  opacity:.7!important;
  background-image:var(--theme-chapter-rail-image),var(--theme-chapter-rail-right-image);
  background-position:left 3px top,right 3px top;
  background-size:var(--sg-new-rail-size) auto,var(--sg-new-rail-size) auto;
  background-repeat:repeat-y,repeat-y;
}

body:is(
  .tema-porcelana-delft,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-jardim-iris,
  .tema-champagne-art-deco,
  .tema-lua-prata,
  .tema-verde-inverno,
  .tema-aurora-nacar
).tema-com-cantoneira .secao{
  background-image:var(--theme-chapter-rail-image),var(--theme-chapter-rail-right-image)!important;
  background-position:left 0 top,right 0 top!important;
  background-size:var(--sg-new-rail-size) auto,var(--sg-new-rail-size) auto!important;
  background-repeat:repeat-y,repeat-y!important;
}

body:is(
  .tema-porcelana-delft,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-jardim-iris,
  .tema-champagne-art-deco,
  .tema-lua-prata,
  .tema-verde-inverno,
  .tema-aurora-nacar
).tema-com-cantoneira .titulo-secao::before{
  content:none!important;
  display:none!important;
}

body:is(
  .tema-porcelana-delft,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-jardim-iris,
  .tema-champagne-art-deco,
  .tema-lua-prata,
  .tema-verde-inverno,
  .tema-aurora-nacar
).tema-com-guia-elementos .secao__interno::before{
  content:""!important;
  display:block!important;
  width:min(76vw,520px)!important;
  height:clamp(44px,8vw,72px)!important;
  margin:0 auto clamp(.3rem,1vw,.65rem)!important;
  background:var(--theme-section-ornament-image) center/contain no-repeat!important;
  opacity:.96!important;
}

body:is(.tema-opera-carmim,.tema-champagne-art-deco,.tema-lua-prata) :is(.nome-debutante,.titulo-secao){
  text-shadow:0 1px 0 color-mix(in srgb,var(--c-bg) 55%,transparent),0 3px 9px color-mix(in srgb,var(--c-ink) 18%,transparent)!important;
}

@media(max-width:620px){
  body:is(
    .tema-porcelana-delft,
    .tema-magnolia-seda,
    .tema-opera-carmim,
    .tema-jardim-iris,
    .tema-champagne-art-deco,
    .tema-lua-prata,
    .tema-verde-inverno,
    .tema-aurora-nacar
  ){
    --sg-new-rail-size:22px;
    --sg-frame-inset-x:9px;
    --sg-frame-inset-y:9px;
  }
}

@keyframes sg-crystal-chapter-breathe{
  0%,100%{filter:drop-shadow(0 2px 3px rgba(74,66,103,.11)) brightness(.98)}
  50%{filter:drop-shadow(0 2px 5px rgba(120,103,176,.22)) brightness(1.08)}
}

@media(max-width:620px){
  body.tema-baile-cristal{--sg-crystal-rail-size:30px}
  body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::before{
    background-position:center top 5px,center bottom 5px;
    background-size:94% auto,94% auto;
  }
  body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::after{
    background-position:left 5px top,right 5px top;
    background-size:var(--sg-crystal-rail-size) auto,var(--sg-crystal-rail-size) auto;
  }
  body.tema-baile-cristal.tema-com-cantoneira .secao{
    background-position:left -8px top,right -8px top!important;
    padding-left:1.45rem;
    padding-right:1.45rem;
  }
  body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
    width:min(92vw,32rem)!important;
    height:clamp(62px,18vw,82px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
    animation:none!important;
  }
}

/* 4.7.12 — refino visual após conferência no iPhone. */
body.tema-baile-cristal.fundo-paleta-tint.fundo-base-image.tema-com-fundo-imagem{
  background-color:color-mix(in srgb,var(--c-bg) 76%,white 24%)!important;
  background-image:
    linear-gradient(rgba(255,255,255,.46),rgba(255,255,255,.46)),
    var(--theme-background-image)!important;
  background-blend-mode:normal,normal!important;
  background-size:auto,clamp(680px,76vw,900px) auto!important;
  background-position:center top,left top!important;
  background-repeat:repeat,repeat!important;
}

body.tema-baile-cristal{--sg-crystal-rail-size:clamp(24px,3vw,34px)}
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::before{opacity:.62!important}
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::after{opacity:.34!important}

body.tema-baile-cristal.tema-com-cantoneira .secao{
  background-image:none!important;
}

body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  width:min(56vw,18rem)!important;
  max-width:18rem!important;
  height:clamp(38px,5.5vw,48px)!important;
  min-height:38px!important;
  margin:.18rem auto 1.35rem!important;
  opacity:.68!important;
  animation-duration:9.6s;
}

body.tema-baile-cristal .nome-debutante{
  max-width:min(92vw,17ch);
  line-height:.92;
  text-shadow:
    0 1px 0 rgba(255,255,255,.72),
    0 3px 5px rgba(73,63,105,.13),
    0 0 .45px currentColor!important;
}

@media(max-width:620px){
  body.tema-baile-cristal{--sg-crystal-rail-size:23px}
  body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
    width:min(58vw,17rem)!important;
    height:clamp(38px,10vw,46px)!important;
  }
}

/* 4.7.13 — contraste correto: papel claro e poucas joias bem visíveis. */
body.tema-baile-cristal.tema-com-fundo-imagem,
body.tema-baile-cristal.fundo-base-image{
  background-color:#f8f6fb!important;
  background-image:
    linear-gradient(rgba(255,255,255,.72),rgba(255,255,255,.72)),
    var(--theme-background-image)!important;
  background-blend-mode:normal,normal!important;
  background-size:auto,clamp(720px,82vw,960px) auto!important;
  background-position:center top,left top!important;
  background-repeat:repeat,repeat!important;
}

body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::before{
  opacity:.86!important;
  filter:
    drop-shadow(0 1px 1px rgba(66,60,91,.2))
    drop-shadow(0 0 5px rgba(255,255,255,.72))!important;
}
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::after{
  opacity:.56!important;
  filter:
    drop-shadow(0 1px 1px rgba(66,60,91,.16))
    drop-shadow(0 0 4px rgba(255,255,255,.62))!important;
}

body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  opacity:.9!important;
  animation:sg-crystal-sparse-glow 8.8s ease-in-out infinite!important;
}

@keyframes sg-crystal-sparse-glow{
  0%,100%{
    filter:drop-shadow(0 1px 2px rgba(67,59,96,.2)) brightness(1.02) contrast(1.08)
  }
  50%{
    filter:drop-shadow(0 2px 6px rgba(116,96,176,.3)) brightness(1.14) contrast(1.1)
  }
}

@media(prefers-reduced-motion:reduce){
  body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
    animation:none!important;
    filter:drop-shadow(0 1px 2px rgba(67,59,96,.2)) brightness(1.06) contrast(1.08)!important;
  }
}

/* =====================================================================
   4.7.18 — restauração visual: arte do tema, sem cápsula genérica
   ===================================================================== */

/* O círculo da 4.7.10 igualava temas que possuem ornamentos completamente
   diferentes. Ele é removido sem criar outro ornamento genérico: as regras
   históricas de cada tema voltam a decidir se mostram a arte de seção, o
   divisor ou somente o título. */
body.tema-com-cantoneira .titulo-secao::before{
  content:none!important;
  display:none!important;
}

/* Caligrafias possuem floreios maiores que serifadas no mesmo corpo. Esta
   escala mantém o nome central, respirado e inteiro tanto na prévia quanto no
   convite público — sem tratar todas as famílias como se tivessem a mesma
   métrica. */
body.fonte-nome-manuscrita .nome-debutante{
  max-width:min(90vw,18ch)!important;
  padding:.08em .2em .15em!important;
  font-size:clamp(2.1rem,7.8vw,3.85rem)!important;
  line-height:1.05!important;
  letter-spacing:min(var(--name-tracking,.01em),.025em)!important;
  white-space:nowrap;
}
body.fonte-nome-manuscrita .nome-debutante[data-nome-longo="1"]{
  max-width:min(92vw,20ch)!important;
  font-size:clamp(1.9rem,6.7vw,3.15rem)!important;
  line-height:1.06!important;
  white-space:normal;
}
body.fonte-nome-manuscrita .nome-debutante[data-nome-muito-longo="1"]{
  max-width:min(93vw,23ch)!important;
  font-size:clamp(1.65rem,5.8vw,2.7rem)!important;
  line-height:1.08!important;
  white-space:normal;
}

/* Baile de Cristal volta à composição 1.0: papel lavanda-gelo, cantoneira
   leve original e ornamentos pontuais. Trilhos repetidos e moldura fechada,
   adicionados depois, deixam de competir com o conteúdo. */
body.tema-baile-cristal.tema-com-fundo-imagem,
body.tema-baile-cristal.fundo-base-image,
body.tema-baile-cristal.fundo-paleta-tint.fundo-base-image.tema-com-fundo-imagem{
  background-color:var(--c-bg)!important;
  background-image:
    linear-gradient(rgba(255,255,255,.58),rgba(255,255,255,.58)),
    var(--theme-background-image)!important;
  background-blend-mode:normal,normal!important;
  background-size:auto,clamp(720px,82vw,960px) auto!important;
  background-position:center top,left top!important;
  background-repeat:repeat,repeat!important;
}
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::before,
body.tema-baile-cristal.cantoneira-4 .capa>.cantoneiras::after{
  content:none!important;
  display:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}
body.tema-baile-cristal.tema-com-cantoneira .secao{
  background-image:none!important;
}
body.tema-baile-cristal .cantoneira{
  width:clamp(178px,21vw,235px)!important;
  height:clamp(178px,21vw,235px)!important;
}
body.tema-baile-cristal.divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  width:min(76vw,20rem)!important;
  max-width:20rem!important;
  height:clamp(34px,6vw,48px)!important;
  min-height:34px!important;
  margin:.28rem auto 1.05rem!important;
  background-image:var(--theme-divider-image)!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  opacity:.92!important;
  animation:none!important;
  filter:drop-shadow(0 1px 2px rgba(67,59,96,.16))!important;
}

@media(max-width:620px){
  body.tema-baile-cristal .cantoneira{
    width:clamp(164px,47vw,190px)!important;
    height:clamp(164px,47vw,190px)!important;
  }
  body.fonte-nome-manuscrita .nome-debutante{
    font-size:clamp(2.05rem,8.4vw,2.68rem)!important;
  }
  body.fonte-nome-manuscrita .nome-debutante[data-nome-longo="1"]{
    font-size:clamp(1.82rem,7.25vw,2.32rem)!important;
  }
  body.fonte-nome-manuscrita .nome-debutante[data-nome-muito-longo="1"]{
    font-size:clamp(1.58rem,6.15vw,2rem)!important;
  }
}

/* =====================================================================
   4.8.9 — acabamento exclusivo dos 14 temas novos
   Uma assinatura por seção, divisor legível e moldura fotográfica leve.
   ===================================================================== */
body:is(
  .tema-aurora-nacar,
  .tema-cerejeira-imperial,
  .tema-champagne-art-deco,
  .tema-disco-cristal,
  .tema-ebano-editorial,
  .tema-jardim-iris,
  .tema-lua-prata,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-orquidea-noir,
  .tema-porcelana-delft,
  .tema-princesa-real,
  .tema-romance-de-seul,
  .tema-verde-inverno
) :is(.capa::before,.secao__interno::before,.capa__olho::before,.titulo-secao::before){
  content:none!important;
  display:none!important;
}

body:is(
  .tema-aurora-nacar,
  .tema-cerejeira-imperial,
  .tema-champagne-art-deco,
  .tema-disco-cristal,
  .tema-ebano-editorial,
  .tema-jardim-iris,
  .tema-lua-prata,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-orquidea-noir,
  .tema-porcelana-delft,
  .tema-princesa-real,
  .tema-romance-de-seul,
  .tema-verde-inverno
) .capa__conteudo{
  position:relative;
  z-index:3;
}

body:is(
  .tema-aurora-nacar,
  .tema-cerejeira-imperial,
  .tema-champagne-art-deco,
  .tema-disco-cristal,
  .tema-ebano-editorial,
  .tema-jardim-iris,
  .tema-lua-prata,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-orquidea-noir,
  .tema-porcelana-delft,
  .tema-princesa-real,
  .tema-romance-de-seul,
  .tema-verde-inverno
).divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
  box-sizing:border-box!important;
  width:min(82vw,32rem)!important;
  max-width:32rem!important;
  height:clamp(44px,8vw,64px)!important;
  min-height:44px!important;
  margin:.35rem auto 1rem!important;
  background-position:center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  opacity:.94!important;
}

body:is(
  .tema-aurora-nacar,
  .tema-cerejeira-imperial,
  .tema-champagne-art-deco,
  .tema-disco-cristal,
  .tema-ebano-editorial,
  .tema-jardim-iris,
  .tema-lua-prata,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-orquidea-noir,
  .tema-porcelana-delft,
  .tema-princesa-real,
  .tema-romance-de-seul,
  .tema-verde-inverno
).tema-com-guia-elementos .bloco__foto::after,
body:is(
  .tema-aurora-nacar,
  .tema-cerejeira-imperial,
  .tema-champagne-art-deco,
  .tema-disco-cristal,
  .tema-ebano-editorial,
  .tema-jardim-iris,
  .tema-lua-prata,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-orquidea-noir,
  .tema-porcelana-delft,
  .tema-princesa-real,
  .tema-romance-de-seul,
  .tema-verde-inverno
).composer-v1.composer-com-photo-frame .bloco__foto::after{
  -webkit-mask:
    linear-gradient(#000 0 0) left top/17% 17% no-repeat,
    linear-gradient(#000 0 0) right top/17% 17% no-repeat,
    linear-gradient(#000 0 0) right bottom/17% 17% no-repeat,
    linear-gradient(#000 0 0) left bottom/17% 17% no-repeat!important;
  mask:
    linear-gradient(#000 0 0) left top/17% 17% no-repeat,
    linear-gradient(#000 0 0) right top/17% 17% no-repeat,
    linear-gradient(#000 0 0) right bottom/17% 17% no-repeat,
    linear-gradient(#000 0 0) left bottom/17% 17% no-repeat!important;
  opacity:.76!important;
}

@media(max-width:620px){
  body:is(
    .tema-aurora-nacar,
  .tema-cerejeira-imperial,
  .tema-champagne-art-deco,
  .tema-disco-cristal,
  .tema-ebano-editorial,
  .tema-jardim-iris,
  .tema-lua-prata,
  .tema-magnolia-seda,
  .tema-opera-carmim,
  .tema-orquidea-noir,
  .tema-porcelana-delft,
  .tema-princesa-real,
  .tema-romance-de-seul,
  .tema-verde-inverno
  ).divisor-estilo-image.tema-com-divisor-imagem .secao__interno>.titulo-secao+.divisor{
    width:min(86vw,26rem)!important;
    height:clamp(40px,12vw,56px)!important;
    min-height:40px!important;
    margin:.25rem auto .82rem!important;
  }
}

/* 5.6.16 — fotos sem molduras decorativas em qualquer tema. */
body :is(.bloco__foto,.galeria__foto,[data-theme-part="photo"]){padding:0!important;background-image:none!important}
body :is(.bloco__foto,.galeria__foto,[data-theme-part="photo"])::before,
body :is(.bloco__foto,.galeria__foto,[data-theme-part="photo"])::after{content:none!important;display:none!important;background:none!important;-webkit-mask:none!important;mask:none!important}
body.tipografia-avancada .nome-debutante{font-size:var(--name-size)!important}
body.tipografia-avancada .titulo-secao{font-size:var(--title-size)!important}
body.tipografia-avancada :is(.texto,.item__texto,.compromisso__endereco,.compromisso__nota){font-size:var(--body-size)!important}
body.tipografia-avancada .capa__frase{font-size:var(--cover-phrase-size,var(--title-size))!important}
body.tipografia-avancada :is(.capa__olho,.capa__data,.capa__hora){font-size:var(--cover-meta-size,var(--body-size))!important}
body.tipografia-avancada .subtitulo{font-size:var(--subtitle-size,var(--body-size))!important}
body.tipografia-avancada :is(.contagem__numero,.contagem__realizada){font-size:var(--countdown-size,var(--title-size))!important}
body.tipografia-avancada :is(.compromisso__hora,.compromisso__nome){font-size:var(--schedule-size,var(--body-size))!important}
body.tipografia-avancada :is(.item__titulo,.acordeao>summary,.rsvp-identificacao h3){font-size:var(--item-size,var(--body-size))!important}
body.tipografia-avancada .botao{font-size:var(--button-size,var(--body-size))!important}

/* 5.6.25 — artes semânticas do Estúdio 2. Cada arquivo ocupa um único papel. */
body.studio-art-v2 .bloco__foto{padding:0!important}
body.studio-art-v2 .bloco__foto::before,
body.studio-art-v2 .bloco__foto::after{content:none!important;display:none!important;background:none!important}
body.studio-art-v2.art-cover-corners .capa::before,
body.studio-art-v2.art-cover-none .capa::before{content:none!important;display:none!important}
body.studio-art-v2.art-cover-ornament .cantoneira,
body.studio-art-v2.art-cover-none .cantoneira{display:none!important}
body.studio-art-v2:is(.art-cover-ornament,.art-cover-both) .capa::before{content:""!important;display:block!important;position:absolute!important;left:calc(50% + var(--art-cover-x,0px))!important;top:calc(clamp(.4rem,2vw,1.2rem) + var(--art-cover-y,0px))!important;width:min(92vw,var(--art-cover-width,560px))!important;height:clamp(100px,20vw,240px)!important;margin:0!important;transform:translateX(-50%)!important;background:var(--theme-cover-ornament-image) center top/contain no-repeat!important;opacity:var(--art-cover-opacity,1)!important;pointer-events:none!important;z-index:1!important}
body.studio-art-v2:not(.art-section-ornament) .secao__interno::before{content:none!important;display:none!important}
body.studio-art-v2.art-section-ornament .secao__interno::before{content:""!important;display:block!important;width:min(88vw,var(--art-section-width,480px))!important;height:clamp(54px,10vw,110px)!important;margin:0 auto clamp(.35rem,1vw,.7rem)!important;transform:translate(var(--art-section-x,0px),var(--art-section-y,0px))!important;background:var(--theme-section-ornament-image) center/contain no-repeat!important;opacity:var(--art-section-opacity,.92)!important;pointer-events:none!important}
body.studio-art-v2:is(.art-section-ornament,.art-section-none) .divisor{display:none!important}
body.studio-art-v2.art-footer-off .rodape::before{content:none!important;display:none!important}
body.studio-art-v2.art-footer-on .rodape::before{content:""!important;display:block!important;width:min(82vw,var(--art-footer-width,420px))!important;height:clamp(54px,9vw,96px)!important;margin:0 auto .5rem!important;transform:translate(var(--art-footer-x,0px),var(--art-footer-y,0px))!important;background:var(--theme-footer-ornament-image) center/contain no-repeat!important;opacity:var(--art-footer-opacity,.92)!important;pointer-events:none!important}
body.studio-art-v2:not(.art-accent-cover):not(.art-accent-both) .capa__olho::before{content:none!important;display:none!important}
body.studio-art-v2:is(.art-accent-cover,.art-accent-both) .capa__olho::before{content:""!important;display:inline-block!important;width:var(--art-accent-width,44px)!important;height:var(--art-accent-width,44px)!important;margin-right:.38em!important;transform:translate(var(--art-accent-x,0px),var(--art-accent-y,0px))!important;vertical-align:middle!important;background:var(--theme-accent-image) center/contain no-repeat!important;opacity:var(--art-accent-opacity,1)!important}
body.studio-art-v2:is(.art-accent-sections,.art-accent-both) .titulo-secao::before{content:"";display:inline-block;width:var(--art-accent-width,44px);height:var(--art-accent-width,44px);margin-right:.35em;transform:translate(var(--art-accent-x,0px),var(--art-accent-y,0px));vertical-align:middle;background:var(--theme-accent-image) center/contain no-repeat;opacity:var(--art-accent-opacity,1)}
@media(max-width:640px){
  body.studio-art-v2:is(.art-cover-ornament,.art-cover-both) .capa::before{transform:translateX(-50%) scale(var(--art-cover-mobile-scale,.78))!important}
  body.studio-art-v2.art-section-ornament .secao__interno::before{transform:translate(var(--art-section-x,0px),var(--art-section-y,0px)) scale(var(--art-section-mobile-scale,.82))!important}
  body.studio-art-v2.art-footer-on .rodape::before{transform:translate(var(--art-footer-x,0px),var(--art-footer-y,0px)) scale(var(--art-footer-mobile-scale,.86))!important}
  body.studio-art-v2:is(.art-accent-cover,.art-accent-both) .capa__olho::before,
  body.studio-art-v2:is(.art-accent-sections,.art-accent-both) .titulo-secao::before{scale:var(--art-accent-mobile-scale,.9)}
}

/* 5.6.30 — convite canônico, compacto e sem conteúdo duplicado. */
body{--sg-motion-duration:.38s}
.pagina-convite .capa__olho{
  font-size:clamp(1.08rem,1.65vw,1.32rem)!important;
  line-height:1.35!important;
}
.convite .secao:not(.capa){
  padding-top:clamp(1.75rem,4vw,3rem)!important;
  padding-bottom:clamp(1.75rem,4vw,3rem)!important;
}
.evento-data-card{display:grid;justify-items:center;gap:.2rem;text-align:center}
.evento-data-card__data{font-family:var(--font-title);font-size:clamp(1.25rem,3vw,1.75rem);color:var(--c-ink);line-height:1.25}
.evento-data-card__hora{font-family:var(--font-body);font-size:clamp(.94rem,2vw,1.08rem);font-weight:700;color:var(--c-primary);letter-spacing:.08em}
.local-card{display:grid;justify-items:center;gap:.62rem;width:min(100%,46rem);margin:auto;text-align:center}
.local-card__nome{margin:0;color:var(--c-ink);font-family:var(--font-title);font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.25}
.local-card__endereco{font-size:max(.92rem,14px)!important;line-height:1.48!important}
.local-card__nota{margin-top:.1rem!important}
.local-card .compromisso__endereco-linha{display:grid;justify-items:center;gap:.45rem;width:100%}
.local-card__comodidades{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;width:100%;margin-top:.35rem}
.local-card__comodidades>p{display:grid;gap:.15rem;margin:0;padding:.7rem .8rem;border:1px solid var(--c-line);border-radius:var(--radius-sm,8px);background:color-mix(in srgb,var(--c-surface) 94%,transparent)}
.local-card__comodidades strong{font-size:.78rem;color:var(--c-ink)}
.local-card__comodidades span,.local-card__chegada{font-size:.78rem;color:var(--c-ink-soft)}
.local-card__chegada{grid-column:1/-1!important}
.local-card__mapa{width:100%;margin-top:.5rem}
.bloco-preset--ensaio .bloco--com-foto{align-items:center!important;gap:clamp(1rem,3vw,2rem)!important}
.bloco-preset--ensaio .bloco__foto{max-width:360px!important;justify-self:center!important}
.bloco-preset--ensaio .bloco__foto img{display:block;width:100%;max-height:430px;object-fit:cover}
.bloco-preset--ensaio .texto{max-width:34ch;font-size:clamp(.94rem,1.6vw,1.06rem);line-height:1.55}
.secao#galeria .secao__interno{max-width:54rem!important}
.secao#galeria .galeria:not(.galeria--faixa){grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.65rem!important}
.secao#galeria .galeria__foto{aspect-ratio:4/5}
.rodape{padding-block:1.6rem!important}

@media(max-width:620px){
  .convite .secao:not(.capa){padding-top:1.45rem!important;padding-bottom:1.45rem!important}
  .local-card__comodidades{grid-template-columns:1fr}
  .bloco-preset--ensaio .bloco--com-foto{display:grid!important;grid-template-columns:1fr!important}
  .bloco-preset--ensaio .bloco__foto{width:min(100%,290px)!important}
  .bloco-preset--ensaio .bloco__foto img{max-height:350px}
  .bloco-preset--ensaio .texto{max-width:34ch;margin:auto;text-align:center}
  .secao#galeria .galeria:not(.galeria--faixa){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.45rem!important}
  .lista-preset--regras :is(.itens--grade,.itens--lista){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.5rem!important}
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item,
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;gap:.35rem!important;width:100%!important;padding:.65rem .5rem!important;text-align:center!important}
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){grid-column:1/-1!important;width:calc(50% - .25rem)!important;justify-self:center!important}
  .lista-preset--regras .item__conteudo{text-align:center!important}
}

/* 5.6.32 — hierarquia correta da capa e confirmação realmente acionável. */
.pagina-convite .capa__olho{
  max-width:min(92vw,30rem)!important;
  margin:.45rem auto .28rem!important;
  font-size:clamp(.9rem,2.65vw,1.02rem)!important;
  line-height:1.35!important;
  letter-spacing:clamp(.18em,.8vw,.3em)!important;
  font-weight:650!important;
}
.pagina-convite .nome-debutante{
  max-width:min(92vw,18ch)!important;
  font-size:clamp(2.75rem,11.2vw,5rem)!important;
  line-height:1.02!important;
}
.pagina-convite .nome-debutante[data-nome-longo="1"]{
  max-width:min(92vw,20ch)!important;
  font-size:clamp(2.3rem,9.25vw,4.15rem)!important;
}
.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{
  max-width:min(93vw,23ch)!important;
  font-size:clamp(1.95rem,7.6vw,3.45rem)!important;
  line-height:1.06!important;
}

.rsvp-floating-cta{
  z-index:96!important;
  left:50%!important;
  right:auto!important;
  bottom:max(1rem,calc(env(safe-area-inset-bottom) + .4rem))!important;
  width:min(420px,calc(100% - 2rem))!important;
  min-height:58px!important;
  padding:.82rem 1.15rem!important;
  border:1px solid color-mix(in srgb,var(--c-primary-ink,#fff) 34%,var(--c-primary))!important;
  font-size:clamp(.91rem,2.8vw,1rem)!important;
  font-weight:850!important;
  line-height:1.2!important;
  text-align:center!important;
  box-shadow:0 18px 42px color-mix(in srgb,var(--c-primary) 42%,rgba(0,0,0,.2)),0 0 0 4px color-mix(in srgb,var(--c-primary) 13%,transparent)!important;
  transform:translateX(-50%)!important;
}
.rsvp-floating-cta>span{
  flex:0 0 auto;
  width:28px!important;
  height:28px!important;
  font-size:.9rem!important;
  font-weight:900!important;
}
.rsvp-floating-cta>strong{min-width:0;text-wrap:balance;}
.rsvp-floating-cta.is-hidden{
  transform:translate(-50%,calc(100% + 1.4rem))!important;
}
@keyframes rsvp-5632-attention{
  0%,72%,100%{box-shadow:0 18px 42px color-mix(in srgb,var(--c-primary) 42%,rgba(0,0,0,.2)),0 0 0 4px color-mix(in srgb,var(--c-primary) 13%,transparent)}
  82%{box-shadow:0 20px 48px color-mix(in srgb,var(--c-primary) 50%,rgba(0,0,0,.22)),0 0 0 10px color-mix(in srgb,var(--c-primary) 0%,transparent)}
}
@media(prefers-reduced-motion:no-preference){
  .rsvp-floating-cta:not(.is-hidden){animation:rsvp-5632-attention 3.6s ease-in-out infinite!important}
}
@media(prefers-reduced-motion:reduce){.rsvp-floating-cta{animation:none!important}}
@media(max-width:520px){
  .tem-musica .rsvp-floating-cta{
    left:1rem!important;
    right:5.15rem!important;
    width:auto!important;
    transform:none!important;
  }
  .tem-musica .rsvp-floating-cta.is-hidden{transform:translateY(calc(100% + 1.4rem))!important}
}

/* 5.6.36-final — precedência definitiva depois de todas as regras legadas. */
@media(max-width:620px){
  .lista-preset--regras :is(.itens--grade,.itens--lista){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.5rem!important;
  }
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item{
    grid-column:auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){
    grid-column:1/-1!important;
    width:calc((100% - .5rem)/2)!important;
    justify-self:center!important;
  }
}


/* 5.6.72-final — a régua tipográfica vem depois de todo CSS legado. */
.pagina-convite{
  --font-name:"Bodoni Moda","Playfair Display",Georgia,serif;
  --font-title:"Marcellus","Playfair Display",Georgia,serif;
  --font-body:"Jost",Arial,sans-serif;
  --font-button:"Jost",Arial,sans-serif;
  --font-subtitle:"Marcellus","Playfair Display",Georgia,serif;
  --font-meta:"Jost",Arial,sans-serif;
  --font-item:"Jost",Arial,sans-serif;
}
.pagina-convite .nome-debutante,
.pagina-convite .nome-debutante[data-nome-longo="1"],
.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{
  max-width:min(92vw,18ch)!important;
  font-family:"Bodoni Moda","Playfair Display",Georgia,serif!important;
  font-size:clamp(2.35rem,8.2vw,4.3rem)!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.02!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
}
.pagina-convite .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.05rem,7vw,3.65rem)!important}
.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.8rem,6vw,3.05rem)!important;line-height:1.06!important}
.pagina-convite .titulo-secao{
  max-width:min(100%,30ch)!important;
  margin-inline:auto!important;
  font-family:"Marcellus","Playfair Display",Georgia,serif!important;
  font-size:clamp(1.35rem,3.8vw,1.85rem)!important;
  font-style:normal!important;
  font-weight:500!important;
  line-height:1.18!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
  text-wrap:balance;
}
.pagina-convite :is(.texto,.item__texto,.evento__texto,.evento__nota,.local-card__endereco,.rsvp__intro,.rsvp-identificacao p){
  font-family:"Jost",Arial,sans-serif!important;
  font-weight:400!important;
  line-height:1.58!important;
}
.pagina-convite :is(.item__titulo,.evento__nome,.local-card__nome,.rsvp-identificacao h3,.rsvp-membro strong){
  font-family:"Jost",Arial,sans-serif!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
.pagina-convite :is(.botao,button,.rsvp-floating-cta){font-family:"Jost",Arial,sans-serif!important;font-weight:650!important}
.pagina-convite .capa__olho{
  font-family:"Jost",Arial,sans-serif!important;
  font-size:clamp(.78rem,2.2vw,.95rem)!important;
  font-weight:550!important;
  line-height:1.35!important;
  letter-spacing:clamp(.12em,.55vw,.22em)!important;
}
body.sg-engine-album_v1.pagina-convite .nome-debutante,
body.sg-engine-album_v1.pagina-convite .nome-debutante[data-nome-longo="1"],
body.sg-engine-album_v1.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.75rem,7.2vw,2.55rem)!important}
.debutante-message-form-5647 h2,.debutante-message-feed-5647 h2{
  font-family:"Marcellus","Playfair Display",Georgia,serif!important;
  font-size:clamp(1.45rem,4vw,2rem)!important;
  font-weight:500!important;
  line-height:1.18!important;
}
.debutante-message-form-5647__eyebrow{font-family:"Jost",Arial,sans-serif!important;font-weight:600!important}
.debutante-message-form-5647__form label{font-weight:600!important}
.debutante-message-form-5647__form button{font-weight:650!important}

/* 5.6.73-final — a escolha de fonte volta a prevalecer sobre a régua. */
.pagina-convite{--font-name:var(--font-name-choice,"Bodoni Moda","Playfair Display",Georgia,serif);--font-title:var(--font-title-choice,"Marcellus","Playfair Display",Georgia,serif)}
.pagina-convite .nome-debutante,.pagina-convite .nome-debutante[data-nome-longo="1"],.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{font-family:var(--font-name-choice,var(--font-name))!important;font-size:clamp(2.75rem,11.2vw,5rem)!important;font-style:normal!important;font-weight:500!important;line-height:1.02!important}
.pagina-convite .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.3rem,9.25vw,4.15rem)!important}
.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.95rem,7.6vw,3.45rem)!important;line-height:1.06!important}
.pagina-convite .titulo-secao{font-family:var(--font-title-choice,var(--font-title))!important}
body.sg-engine-album_v1.pagina-convite .nome-debutante{font-size:clamp(2.3rem,8.8vw,3.35rem)!important}
body.sg-engine-album_v1.pagina-convite .nome-debutante[data-nome-longo="1"]{font-size:clamp(2.05rem,7.8vw,3rem)!important}
body.sg-engine-album_v1.pagina-convite .nome-debutante[data-nome-muito-longo="1"]{font-size:clamp(1.8rem,6.8vw,2.6rem)!important}


/* SAGARO 5.6.75 — política tipográfica, cromática e de brasão para lançamento */
html.sagaro-public-invite {
  --sagaro-name-font: var(--font-script, var(--script-font, var(--font-handwritten, var(--font-name, var(--name-font, "Great Vibes", "Parisienne", "Allura", "Pinyon Script", cursive)))));
  --sagaro-body-min: 16px;
}
html.sagaro-public-invite :is(
  [data-debutante-name],
  [data-role="debutante-name"],
  .debutante-name,
  .debutante__name,
  .nome-debutante,
  .nome-da-debutante,
  .hero-name,
  .hero__name,
  .cover-name,
  .cover__name,
  .capa-nome,
  .invitation-name,
  .album-cover__name
) {
  font-family: var(--sagaro-name-font) !important;
  font-size: var(--sagaro-effective-name-size, clamp(2.85rem, 10vw, 6.75rem)) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: .98 !important;
  letter-spacing: normal !important;
  overflow-wrap: anywhere;
  text-wrap: balance;
  max-width: min(94vw, 1100px);
  margin-inline: auto;
}
html.sagaro-public-invite.sagaro-name-long :is(
  [data-debutante-name],[data-role="debutante-name"],.debutante-name,.debutante__name,
  .nome-debutante,.nome-da-debutante,.hero-name,.hero__name,.cover-name,.cover__name,
  .capa-nome,.invitation-name,.album-cover__name
) {
  --sagaro-effective-name-size: clamp(2.4rem, 8vw, 5.25rem);
}
html.sagaro-public-invite.sagaro-name-very-long :is(
  [data-debutante-name],[data-role="debutante-name"],.debutante-name,.debutante__name,
  .nome-debutante,.nome-da-debutante,.hero-name,.hero__name,.cover-name,.cover__name,
  .capa-nome,.invitation-name,.album-cover__name
) {
  --sagaro-effective-name-size: clamp(2.05rem, 6.8vw, 4.5rem);
}
html.sagaro-public-invite.sagaro-engine-album :is(
  [data-debutante-name],[data-role="debutante-name"],.debutante-name,.debutante__name,
  .nome-debutante,.nome-da-debutante,.hero-name,.hero__name,.cover-name,.cover__name,
  .capa-nome,.invitation-name,.album-cover__name
) {
  --sagaro-effective-name-size: clamp(2.15rem, 7vw, 4.65rem);
}
html.sagaro-public-invite :is(p,li,.text,.body-text,.item-text,.detail,.details,.rule,.rules,.message,.description) {
  font-size: max(var(--body-size, 1rem), var(--sagaro-body-min)) !important;
  line-height: max(var(--body-line-height, 1.55), 1.45) !important;
  font-weight: min(var(--body-weight, 400), 500) !important;
}
html.sagaro-public-invite :is(button,.button,.btn,[role="button"]) {
  font-size: max(var(--button-size, .95rem), 15px) !important;
  font-weight: min(var(--button-weight, 600), 600) !important;
}
html.sagaro-public-invite.sagaro-theme-noite-dourada,
html.sagaro-public-invite.sagaro-theme-noite-dourada body,
html.sagaro-public-invite.sagaro-theme-noite-dourada :is(
  #app,#root,.app,.public-shell,.invitation-shell,.convite-publico,.convite,
  .invitation,.theme-root,.page-root,.site-root,main,.main,.sections,.content-root
) {
  background-color: #000000 !important;
}
html.sagaro-public-invite.sagaro-theme-noite-dourada {
  color-scheme: dark;
  --background: #000000 !important;
  --background-color: #000000 !important;
  --page-bg: #000000 !important;
  --page-background: #000000 !important;
  --body-bg: #000000 !important;
  --surface-background: #000000 !important;
  --theme-background: #000000 !important;
}
html.sagaro-public-invite :is(
  [data-brasao],[data-brasão],[data-monogram],[data-monograma],
  .brasao,.brasão,.crest,.coat-of-arms,.monogram,.monograma
) {
  color: var(--sagaro-crest-color, #2b2723) !important;
}
html.sagaro-public-invite :is(
  [data-brasao],[data-brasão],[data-monogram],[data-monograma],
  .brasao,.brasão,.crest,.coat-of-arms,.monogram,.monograma
) :is(svg,path,g,use) {
  fill: currentColor !important;
  stroke: currentColor;
}
html.sagaro-public-invite :is(
  [data-brasao],[data-brasão],[data-monogram],[data-monograma],
  .brasao,.brasão,.crest,.coat-of-arms,.monogram,.monograma
) img {
  filter: var(--sagaro-crest-filter, grayscale(1) saturate(0) brightness(.28) contrast(1.15)) !important;
  opacity: .96;
}
html.sagaro-public-invite.sagaro-dark-theme {
  --sagaro-crest-color: #f1eadc;
  --sagaro-crest-filter: grayscale(1) saturate(0) brightness(0) invert(1) opacity(.94);
}
html.sagaro-public-invite.sagaro-light-theme {
  --sagaro-crest-color: #2b2723;
  --sagaro-crest-filter: grayscale(1) saturate(0) brightness(.24) contrast(1.2);
}
html.sagaro-client-panel.sagaro-colors-locked :is(
  input[type="color"],
  [data-color-picker],
  [data-colour-picker],
  [data-palette-editor],
  [data-theme-colors],
  .color-picker,.colour-picker,.palette-editor,.theme-colors,.cores-do-tema
) {
  display: none !important;
}
html.sagaro-client-panel.sagaro-colors-locked .sagaro-locked-color-field {
  display: none !important;
}

/* 5.6.77 — nome sempre manuscrito; publicações antigas usam Great Vibes. */
body.pagina-convite :is(
  [data-debutante-name],[data-role="debutante-name"],.debutante-name,.debutante__name,
  .nome-debutante,.nome-da-debutante,.hero-name,.hero__name,.cover-name,.cover__name,
  .capa-nome,.invitation-name,.album-cover__name
){
  font-family:var(--sagaro-name-font,"Great Vibes","Parisienne","Allura",cursive)!important;
  font-style:normal!important;
  font-weight:400!important;
}

/* 5.6.88 — o brasão automático usa a cor semântica da paleta ativa. */
.brasao--harmonizada{
  display:block!important;
  width:var(--crest-size,120px)!important;
  height:var(--crest-size,120px)!important;
  aspect-ratio:1;
  margin:0 auto .5rem;
  background:var(--c-crest-harmony,var(--c-primary))!important;
  -webkit-mask-image:var(--crest-image);
  mask-image:var(--crest-image);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.monograma{
  color:var(--c-crest-harmony,var(--c-primary))!important;
  border-color:var(--c-crest-harmony,var(--c-metal))!important;
}
html.sagaro-public-invite :is(
  img.brasao,img.brasão,img.crest,img.coat-of-arms,img.monogram,img.monograma,
  [data-brasao] img,[data-brasão] img,[data-monogram] img,[data-monograma] img
){
  filter:var(--sagaro-crest-filter,grayscale(1) saturate(0) brightness(.28) contrast(1.15))!important;
  opacity:.96;
}

/* 5.6.93 — “Sobre a debutante” compacto, legível e consistente nos temas. */
html.sagaro-public-invite .bloco-preset--apresentacao .secao__interno{
  width:min(100%,52rem)!important;
  max-width:52rem!important;
}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco--com-foto{
  display:grid!important;
  grid-template-columns:clamp(5.5rem,12vw,8rem) minmax(0,1fr)!important;
  align-items:center!important;
  gap:clamp(1rem,3vw,2rem)!important;
  width:min(100%,46rem)!important;
  margin-inline:auto!important;
}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto{
  width:clamp(5.5rem,12vw,8rem)!important;
  max-width:8rem!important;
  aspect-ratio:1!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:50%!important;
  box-shadow:0 .75rem 2rem color-mix(in srgb,var(--c-text,#30252c) 14%,transparent)!important;
}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto::before,
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto::after{content:none!important;display:none!important}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:1!important;
  object-fit:cover!important;
  border-radius:50%!important;
}
html.sagaro-public-invite .bloco-preset--apresentacao .texto{
  max-width:58ch!important;
  margin:0!important;
  font-size:clamp(.98rem,2.1vw,1.08rem)!important;
  line-height:1.72!important;
  text-align:left!important;
  text-wrap:pretty;
}
html.sagaro-public-invite .bloco-preset--apresentacao .texto p{margin:.35em 0!important}
@media(max-width:430px){
  html.sagaro-public-invite .bloco-preset--apresentacao .bloco--com-foto{
    grid-template-columns:4.75rem minmax(0,1fr)!important;
    gap:.85rem!important;
  }
  html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto{width:4.75rem!important}
  html.sagaro-public-invite .bloco-preset--apresentacao .texto{font-size:.96rem!important;line-height:1.62!important}
}

/* 5.6.93 — depoimentos aprovados e convite para o primeiro recado. */
.debutante-message-feed-5693__inner{width:min(100%,52rem)!important;text-align:center}
.debutante-message-feed-5693__eyebrow{display:block;margin-bottom:.45rem;color:var(--c-primary);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.debutante-message-feed-5693__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.35rem auto 0;text-align:left}
.debutante-message-feed-5693__card{box-sizing:border-box;margin:0;padding:clamp(1rem,3vw,1.35rem);border:1px solid color-mix(in srgb,var(--c-primary) 18%,transparent);border-radius:max(var(--radius,4px),18px);background:color-mix(in srgb,var(--card-bg,#fff) 94%,var(--c-primary) 6%);box-shadow:0 .75rem 2rem color-mix(in srgb,var(--c-text,#30252c) 8%,transparent)}
.debutante-message-feed-5693__card p{margin:0 0 .8rem!important;white-space:pre-line;font-size:clamp(.96rem,2vw,1.04rem)!important;line-height:1.62!important}
.debutante-message-feed-5693__card cite{color:var(--c-primary);font-style:normal;font-weight:750}
.debutante-message-feed-5693__empty{display:grid;justify-items:center;gap:1rem;width:min(100%,38rem);margin:1.35rem auto 0;padding:clamp(1.1rem,4vw,1.7rem);border:1px dashed color-mix(in srgb,var(--c-primary) 34%,transparent);border-radius:max(var(--radius,4px),18px);background:color-mix(in srgb,var(--card-bg,#fff) 94%,transparent)}
.debutante-message-feed-5693__empty p{margin:0!important;opacity:.78}
.debutante-message-feed-5693__open{display:inline-flex!important;align-items:center;justify-content:center;max-width:min(100%,34rem);min-height:48px;margin:1.25rem auto 0;padding:.75rem 1.2rem;white-space:normal;text-align:center}
.debutante-message-feed-5693__empty .debutante-message-feed-5693__open{margin:0}
.debutante-message-form-5693{position:relative;display:grid;gap:1rem;width:min(100%,36rem);margin:1.35rem auto 0;padding:clamp(1rem,4vw,1.6rem);border:1px solid color-mix(in srgb,var(--c-primary) 22%,transparent);border-radius:max(var(--radius,4px),20px);background:var(--card-bg,#fff);box-shadow:0 1rem 2.6rem color-mix(in srgb,var(--c-text,#30252c) 10%,transparent);text-align:left}
.debutante-message-form-5693[hidden]{display:none!important}
.debutante-message-form-5693 label{display:grid;gap:.4rem;font-weight:750}
.debutante-message-form-5693 :is(input,textarea){box-sizing:border-box;width:100%;border:1px solid color-mix(in srgb,var(--c-text,#30252c) 22%,transparent);border-radius:12px;background:#fff;color:#282126;font:inherit;font-size:1rem;padding:.8rem .9rem;outline:none}
.debutante-message-form-5693 :is(input,textarea):focus{border-color:var(--c-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--c-primary) 16%,transparent)}
.debutante-message-form-5693__actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem}
.debutante-message-form-5693__actions .botao{min-height:48px;margin:0}
.debutante-message-form-5693__status{min-height:1.45em;margin:0!important;color:#33734b;text-align:center;font-size:.9rem!important;font-weight:700}
.debutante-message-form-5693__status.is-error{color:#a63845}
.debutante-message-form-5693__trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:620px){
  .debutante-message-feed-5693__grid{grid-template-columns:1fr}
  .debutante-message-form-5693__actions{grid-template-columns:1fr}
}

/* 6.0.1-final — última palavra da cascata para o atalho de RSVP. */
html.sagaro-public-invite .rsvp-floating-cta{left:auto!important;right:max(.8rem,env(safe-area-inset-right))!important;bottom:max(.8rem,env(safe-area-inset-bottom))!important;width:auto!important;max-width:min(13.5rem,calc(100vw - 1.6rem))!important;min-height:46px!important;padding:.62rem .82rem!important;font-size:.78rem!important;line-height:1.15!important;text-align:left!important;transform:none!important;box-shadow:0 10px 28px color-mix(in srgb,var(--c-primary) 28%,rgba(0,0,0,.16))!important}
html.sagaro-public-invite .rsvp-floating-cta>span{width:23px!important;height:23px!important;font-size:.76rem!important}
html.sagaro-public-invite .rsvp-floating-cta.is-hidden{transform:translateY(calc(100% + 1.4rem))!important}
html.sagaro-public-invite body.tem-musica .rsvp-floating-cta{left:auto!important;right:max(4.9rem,calc(env(safe-area-inset-right) + 4.3rem))!important;width:auto!important}
html.sagaro-public-invite body:has(.rsvp-floating-cta) .pagina-convite{padding-bottom:calc(4.8rem + env(safe-area-inset-bottom))}
@media(max-width:420px){html.sagaro-public-invite .rsvp-floating-cta{max-width:11.5rem!important;font-size:.72rem!important}}
@supports(-webkit-touch-callout:none){@media(max-width:760px){html.sagaro-public-invite .rsvp-floating-cta{bottom:max(4.25rem,calc(env(safe-area-inset-bottom) + 3.4rem))!important}}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* 6.0.4 — leitura pública mais calma: UI nativa, RSVP respirado e CTA discreto. */
html.sagaro-public-invite .pagina-convite{
  --sagaro-readable-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html.sagaro-public-invite .pagina-convite :is(
  .texto,.item__texto,.evento__texto,.evento__nota,.local-card__endereco,.rsvp__intro,.rsvp-identificacao p,
  .rsvp-saudacao,.rsvp-membro,.rsvp-membro input,.rsvp-prazo,.campo__rotulo,.campo label,
  .botao,button,input,select,textarea,.debutante-message-form-5693,.debutante-message-feed-5693
){font-family:var(--sagaro-readable-font)!important}
html.sagaro-public-invite .pagina-convite :is(.item__titulo,.evento__nome,.local-card__nome,.rsvp-membro strong){font-family:var(--sagaro-readable-font)!important;font-weight:600!important}
html.sagaro-public-invite .pagina-convite :is(.botao,button){font-weight:600!important}

html.sagaro-public-invite #confirmar .secao__interno{width:min(100%,42rem)!important;padding-inline:clamp(1rem,4vw,1.45rem)!important}
html.sagaro-public-invite #confirmar .titulo-secao{max-width:26ch!important;margin-bottom:.55rem!important;font-size:clamp(1.45rem,5.7vw,2rem)!important;line-height:1.14!important;letter-spacing:.02em!important}
html.sagaro-public-invite #confirmar .rsvp-cartao--simples{max-width:36rem!important;padding:clamp(1rem,4vw,1.3rem)!important;border-radius:max(var(--radius,4px),18px)!important}
html.sagaro-public-invite #confirmar .rsvp-cartao--simples .formulario{gap:.88rem!important}
html.sagaro-public-invite #confirmar .rsvp-etapa{gap:.78rem!important;margin-top:.8rem!important}
html.sagaro-public-invite #confirmar .rsvp-prazo{margin:0 0 .95rem!important;font-size:.84rem!important;font-weight:400!important;line-height:1.4!important}
html.sagaro-public-invite #confirmar .rsvp-prazo strong{font-weight:650!important}
html.sagaro-public-invite #confirmar .rsvp-saudacao{gap:.18rem!important;padding:.8rem .9rem!important;font-size:.9rem!important;font-weight:400!important;line-height:1.48!important}
html.sagaro-public-invite #confirmar .rsvp-saudacao__nome{font-size:1.04em!important;font-weight:650!important;letter-spacing:0!important}
html.sagaro-public-invite #confirmar .campo__rotulo{font-size:.82rem!important;font-weight:500!important}
html.sagaro-public-invite #confirmar .rsvp-membros{gap:.5rem!important}
html.sagaro-public-invite #confirmar .rsvp-membro{gap:.38rem!important;padding:.68rem .76rem!important;border-radius:12px!important}
html.sagaro-public-invite #confirmar .rsvp-membro strong{font-size:.9rem!important;line-height:1.3!important}
html.sagaro-public-invite #confirmar .rsvp-membro>input[type="text"]{min-height:44px!important;margin-top:.24rem!important;padding:.68rem .74rem!important;font-size:16px!important}
html.sagaro-public-invite #confirmar .rsvp-respostas-lista{gap:.5rem!important;margin-top:.55rem!important}
html.sagaro-public-invite #confirmar .rsvp-respostas-lista button{min-height:40px!important;padding:.5rem .72rem!important;font-size:.76rem!important;font-weight:550!important}
html.sagaro-public-invite #confirmar .rsvp-guest-policy-ack{gap:.55rem!important;padding:.66rem .72rem!important;font-size:.78rem!important;font-weight:400!important;line-height:1.35!important}
html.sagaro-public-invite #confirmar .rsvp-guest-policy-ack strong{font-weight:600!important}
html.sagaro-public-invite #confirmar :is(#rsvp-enviar,#rsvp-trocar-telefone){min-height:44px!important;padding:.66rem .8rem!important;font-size:.78rem!important;font-weight:600!important;letter-spacing:.08em!important}

html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040{
  grid-template-columns:26px minmax(0,1fr)!important;gap:.58rem!important;padding:.72rem .78rem!important;
  border:1px solid color-mix(in srgb,var(--c-primary) 24%,transparent)!important;
  border-radius:12px!important;background:color-mix(in srgb,var(--c-primary) 5%,var(--c-surface,#fff))!important;
  color:var(--c-card-ink,var(--c-ink,#332b32))!important;box-shadow:none!important
}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040__icon{width:25px!important;height:25px!important;border-radius:8px!important;background:color-mix(in srgb,var(--c-primary) 13%,transparent)!important;color:var(--c-primary)!important;font-size:.72rem!important}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040 :is(strong,p){color:inherit!important}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040 strong{margin:0 0 .1rem!important;font-size:.79rem!important;font-weight:600!important}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040 p{font-size:.75rem!important;font-weight:400!important;line-height:1.45!important}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040.is-individual{grid-template-columns:1fr!important}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040.is-individual .rsvp-companion-warning-4040__icon{display:none!important}

/* “Sobre a debutante”: retrato editorial, nunca avatar circular. */
html.sagaro-public-invite .bloco-preset--apresentacao .bloco--com-foto{grid-template-columns:clamp(6rem,15vw,8.5rem) minmax(0,1fr)!important;gap:clamp(1rem,3vw,1.7rem)!important}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto{width:clamp(6rem,15vw,8.5rem)!important;max-width:8.5rem!important;aspect-ratio:4/5!important;border-radius:max(var(--radius,4px),14px)!important}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto img{aspect-ratio:4/5!important;border-radius:max(var(--radius,4px),14px)!important}
@media(max-width:430px){
  html.sagaro-public-invite .bloco-preset--apresentacao .bloco--com-foto{grid-template-columns:5.6rem minmax(0,1fr)!important;gap:.85rem!important}
  html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto{width:5.6rem!important}
}

/* CTA de confirmação: pequeno, à esquerda e sem competir com a rolagem. */
html.sagaro-public-invite .rsvp-floating-cta{
  left:max(.65rem,env(safe-area-inset-left))!important;right:auto!important;
  bottom:max(.75rem,calc(env(safe-area-inset-bottom) + .35rem))!important;
  width:auto!important;max-width:min(11rem,calc(100vw - 1.3rem))!important;min-height:40px!important;
  padding:.48rem .62rem!important;border-radius:999px!important;font-family:var(--sagaro-readable-font)!important;
  font-size:.7rem!important;font-weight:600!important;line-height:1.15!important;text-align:left!important;
  box-shadow:0 7px 18px color-mix(in srgb,var(--c-primary) 18%,rgba(0,0,0,.14))!important;transform:none!important
}
html.sagaro-public-invite .rsvp-floating-cta>span{width:19px!important;height:19px!important;font-size:.62rem!important;font-weight:700!important}
html.sagaro-public-invite .rsvp-floating-cta>strong{font-weight:600!important;text-wrap:pretty}
html.sagaro-public-invite .rsvp-floating-cta.is-hidden{transform:translateY(calc(100% + 1rem))!important}
html.sagaro-public-invite body.tem-musica .rsvp-floating-cta{left:max(.65rem,env(safe-area-inset-left))!important;right:auto!important;width:auto!important}
@keyframes rsvp-604-soft-attention{0%,76%,100%{transform:translateY(0)}84%{transform:translateY(-2px)}92%{transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){html.sagaro-public-invite .rsvp-floating-cta:not(.is-hidden){animation:rsvp-604-soft-attention 4.8s ease-in-out infinite!important}}
@media(prefers-reduced-motion:reduce){html.sagaro-public-invite .rsvp-floating-cta{animation:none!important}}
@supports(-webkit-touch-callout:none){@media(max-width:760px){html.sagaro-public-invite .rsvp-floating-cta{bottom:max(4rem,calc(env(safe-area-inset-bottom) + 3.2rem))!important}}}

/* 6.0.5 — correção definitiva da cascata pública após regressão de empacotamento 6.0.4. */
html.sagaro-public-invite .pagina-convite{
  --sagaro-readable-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html.sagaro-public-invite .pagina-convite :is(
  .texto,.item__texto,.evento__texto,.evento__nota,.local-card__endereco,.rsvp__intro,
  .rsvp-identificacao p,.rsvp-saudacao,.rsvp-membro,.rsvp-membro input,.rsvp-prazo,
  .campo__rotulo,.campo label,.botao,button,input,select,textarea
){font-family:var(--sagaro-readable-font)!important;font-weight:400}
html.sagaro-public-invite .pagina-convite :is(.item__titulo,.evento__nome,.local-card__nome,.rsvp-membro strong){
  font-family:var(--sagaro-readable-font)!important;font-weight:600!important;
}
html.sagaro-public-invite .pagina-convite :is(.botao,button){font-weight:600!important}

/* RSVP: mais ar, menos peso e controles compactos no celular. */
html.sagaro-public-invite #confirmar{padding-block:clamp(1.35rem,4vw,2.15rem)!important}
html.sagaro-public-invite #confirmar .secao__interno{width:min(100%,39rem)!important;padding-inline:clamp(.9rem,3.5vw,1.2rem)!important}
html.sagaro-public-invite #confirmar .titulo-secao{
  max-width:25ch!important;margin:0 auto .42rem!important;
  font-size:clamp(1.35rem,5vw,1.82rem)!important;line-height:1.12!important;letter-spacing:.015em!important;
}
html.sagaro-public-invite #confirmar .divisor{margin:.42rem auto .72rem!important}
html.sagaro-public-invite #confirmar .rsvp-cartao--simples{
  max-width:34rem!important;padding:clamp(.88rem,3.5vw,1.12rem)!important;border-radius:16px!important;
}
html.sagaro-public-invite #confirmar .rsvp-cartao--simples .formulario{gap:.7rem!important}
html.sagaro-public-invite #confirmar .rsvp-etapa{gap:.62rem!important;margin-top:.58rem!important}
html.sagaro-public-invite #confirmar .rsvp-prazo{margin:0 0 .68rem!important;font-size:.8rem!important;font-weight:400!important;line-height:1.35!important}
html.sagaro-public-invite #confirmar .rsvp-prazo strong{font-weight:600!important}
html.sagaro-public-invite #confirmar .rsvp-saudacao{
  gap:.12rem!important;padding:.68rem .76rem!important;font-size:.84rem!important;font-weight:400!important;line-height:1.42!important;
}
html.sagaro-public-invite #confirmar .rsvp-saudacao__nome{font-size:1em!important;font-weight:600!important;letter-spacing:0!important}
html.sagaro-public-invite #confirmar .campo__rotulo{font-size:.78rem!important;font-weight:500!important}
html.sagaro-public-invite #confirmar .rsvp-membros{gap:.42rem!important}
html.sagaro-public-invite #confirmar .rsvp-membro{gap:.3rem!important;padding:.56rem .64rem!important;border-radius:11px!important}
html.sagaro-public-invite #confirmar .rsvp-membro__topo{gap:.52rem!important}
html.sagaro-public-invite #confirmar .rsvp-membro strong{font-size:.84rem!important;line-height:1.28!important;font-weight:600!important}
html.sagaro-public-invite #confirmar .rsvp-membro>input[type="text"]{min-height:42px!important;margin-top:.18rem!important;padding:.58rem .68rem!important;font-size:16px!important}
html.sagaro-public-invite #confirmar .rsvp-respostas-lista{gap:.42rem!important;margin-top:.38rem!important}
html.sagaro-public-invite #confirmar .rsvp-respostas-lista button{min-height:38px!important;padding:.42rem .62rem!important;font-size:.72rem!important;font-weight:550!important}
html.sagaro-public-invite #confirmar .rsvp-guest-policy-ack{gap:.48rem!important;padding:.56rem .64rem!important;font-size:.74rem!important;font-weight:400!important;line-height:1.32!important}
html.sagaro-public-invite #confirmar .rsvp-guest-policy-ack strong{font-weight:600!important}
html.sagaro-public-invite #confirmar :is(#rsvp-enviar,#rsvp-trocar-telefone){min-height:42px!important;padding:.58rem .72rem!important;font-size:.74rem!important;font-weight:600!important;letter-spacing:.07em!important}

/* Aviso do convite: mensagem informativa, não um segundo card de alerta. */
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040{
  display:block!important;padding:.58rem .68rem!important;border:0!important;border-left:2px solid color-mix(in srgb,var(--c-primary,#6f5b97) 50%,transparent)!important;
  border-radius:0!important;background:transparent!important;color:var(--c-card-ink,var(--c-ink,#332b32))!important;box-shadow:none!important;
}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040__icon{display:none!important}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040 :is(strong,p){color:inherit!important}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040 strong{display:block;margin:0 0 .08rem!important;font-size:.76rem!important;font-weight:600!important}
html.sagaro-public-invite #confirmar .rsvp-companion-warning-4040 p{margin:0!important;font-size:.72rem!important;font-weight:400!important;line-height:1.4!important}

/* Sobre a debutante: foto editorial retangular, nunca avatar. */
html.sagaro-public-invite .bloco-preset--apresentacao .bloco--com-foto{
  display:grid!important;grid-template-columns:clamp(5.4rem,14vw,7.5rem) minmax(0,1fr)!important;
  align-items:center!important;gap:clamp(.8rem,2.6vw,1.3rem)!important;width:min(100%,44rem)!important;margin-inline:auto!important;
}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto{
  width:clamp(5.4rem,14vw,7.5rem)!important;max-width:7.5rem!important;aspect-ratio:4/5!important;
  margin:0!important;padding:0!important;overflow:hidden!important;border-radius:10px!important;box-shadow:none!important;
}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto::before,
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto::after{content:none!important;display:none!important}
html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto img{
  display:block!important;width:100%!important;height:100%!important;max-height:none!important;aspect-ratio:4/5!important;object-fit:cover!important;border-radius:10px!important;
}
html.sagaro-public-invite .bloco-preset--apresentacao .texto{font-family:var(--sagaro-readable-font)!important;font-weight:400!important;line-height:1.58!important}
@media(max-width:430px){
  html.sagaro-public-invite .bloco-preset--apresentacao .bloco--com-foto{grid-template-columns:5.15rem minmax(0,1fr)!important;gap:.72rem!important}
  html.sagaro-public-invite .bloco-preset--apresentacao .bloco__foto{width:5.15rem!important}
  html.sagaro-public-invite .bloco-preset--apresentacao .texto{font-size:.9rem!important;line-height:1.5!important}
}

/* CTA: menor, lado esquerdo e fora da área natural do polegar de rolagem. */
html.sagaro-public-invite .rsvp-floating-cta{
  left:max(.58rem,env(safe-area-inset-left))!important;right:auto!important;
  bottom:max(.72rem,calc(env(safe-area-inset-bottom) + .3rem))!important;
  width:auto!important;max-width:min(10.25rem,calc(100vw - 1.16rem))!important;min-height:38px!important;
  padding:.42rem .56rem!important;border-radius:999px!important;font-family:var(--sagaro-readable-font)!important;
  font-size:.72rem!important;font-weight:600!important;line-height:1.12!important;text-align:left!important;
  transform:none!important;box-shadow:0 6px 16px color-mix(in srgb,var(--c-primary) 17%,rgba(0,0,0,.13))!important;
}
html.sagaro-public-invite .rsvp-floating-cta>span{width:18px!important;height:18px!important;font-size:.58rem!important;font-weight:700!important}
html.sagaro-public-invite .rsvp-floating-cta>strong{font-weight:600!important;text-wrap:pretty}
html.sagaro-public-invite .rsvp-floating-cta.is-hidden{transform:translateY(calc(100% + .9rem))!important;visibility:hidden!important;pointer-events:none!important}
html.sagaro-public-invite body.tem-musica .rsvp-floating-cta{left:max(.58rem,env(safe-area-inset-left))!important;right:auto!important;width:auto!important}
@keyframes rsvp-605-soft-attention{0%,78%,100%{transform:translateY(0)}86%{transform:translateY(-1.5px)}93%{transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){html.sagaro-public-invite .rsvp-floating-cta:not(.is-hidden){animation:rsvp-605-soft-attention 5.4s ease-in-out infinite!important}}
@media(prefers-reduced-motion:reduce){html.sagaro-public-invite .rsvp-floating-cta{animation:none!important}}
@supports(-webkit-touch-callout:none){@media(max-width:760px){html.sagaro-public-invite .rsvp-floating-cta{bottom:max(3.85rem,calc(env(safe-area-inset-bottom) + 3.05rem))!important}}}



/* 6.0.6 — CTA de confirmação estático, legível e sem pulsação repetitiva. */
html.sagaro-public-invite .rsvp-floating-cta{
  left:max(.58rem,env(safe-area-inset-left))!important;right:auto!important;
  width:auto!important;max-width:min(13.2rem,calc(100vw - 1.16rem))!important;min-height:36px!important;
  padding:.4rem .62rem!important;border:1px solid color-mix(in srgb,var(--c-primary,#6f5b97) 32%,transparent)!important;
  border-radius:999px!important;background:color-mix(in srgb,var(--c-primary,#6f5b97) 92%,#fff 8%)!important;
  color:#fff!important;font-size:.69rem!important;font-weight:600!important;line-height:1.12!important;
  text-decoration:none!important;box-shadow:0 6px 15px color-mix(in srgb,var(--c-primary,#6f5b97) 18%,rgba(0,0,0,.13))!important;
  animation:none!important;transition:opacity .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
html.sagaro-public-invite .rsvp-floating-cta>span{
  flex:0 0 auto!important;width:18px!important;height:18px!important;border:1px solid rgba(255,255,255,.55)!important;
  border-radius:50%!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:.56rem!important;
}
html.sagaro-public-invite .rsvp-floating-cta>strong{
  display:block!important;max-width:10.7rem!important;color:inherit!important;font-weight:600!important;
  white-space:nowrap!important;text-decoration:none!important;text-overflow:ellipsis!important;overflow:hidden!important;
}
html.sagaro-public-invite .rsvp-floating-cta:hover,
html.sagaro-public-invite .rsvp-floating-cta:focus-visible{box-shadow:0 8px 18px color-mix(in srgb,var(--c-primary,#6f5b97) 23%,rgba(0,0,0,.14))!important}
html.sagaro-public-invite .rsvp-floating-cta.is-hidden{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(calc(100% + .9rem))!important;animation:none!important;
}

/* 6.1.0 CP3 — retratos 4:5 consistentes na linha do tempo */
.programacao--memorias .marco-visual--foto{height:auto;aspect-ratio:4/5;border-radius:.72rem}
.programacao--memorias .marco-visual--foto img{width:100%;height:100%;object-fit:cover;will-change:transform}
@media(max-width:620px){.programacao--memorias .marco-visual--foto{height:auto;aspect-ratio:4/5;border-radius:.62rem}}

/* 6.1.0 CP3 — Mural: mensagens + fotos moderadas */
.mural-610__inner{position:relative}
.mural-610__eyebrow{display:block;margin:0 0 .45rem;text-align:center;font:600 .74rem/1.2 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}
.mural-610__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;align-items:start;margin:1.15rem auto 1.3rem;max-width:780px}
.mural-610__card{--mural-tilt:0deg;position:relative;display:grid;gap:.72rem;padding:1.25rem 1.05rem 1rem;background:color-mix(in srgb,var(--c-surface) 96%,#fff);border:1px solid color-mix(in srgb,var(--c-line) 78%,transparent);box-shadow:0 .7rem 1.8rem rgba(31,22,34,.08);transform:rotate(var(--mural-tilt));transform-origin:50% 10%;color:var(--c-text)}
.mural-610__card:nth-child(3n+2){background:color-mix(in srgb,var(--c-surface) 91%,var(--c-primary) 9%)}
.mural-610__pin{position:absolute;top:-.34rem;left:50%;width:.72rem;height:.72rem;border-radius:50%;transform:translateX(-50%);background:color-mix(in srgb,var(--c-primary) 72%,var(--c-metal));box-shadow:0 .13rem .28rem rgba(0,0,0,.22)}
.mural-610__photo{margin:0 auto .05rem;width:min(100%,250px);aspect-ratio:4/3;padding:.35rem;background:#fff;box-shadow:0 .35rem .9rem rgba(28,22,30,.10);overflow:hidden}
.mural-610__photo img{display:block;width:100%;height:100%;object-fit:cover}
.mural-610__card p{margin:0;font:400 1rem/1.58 var(--font-body);white-space:normal}
.mural-610__card cite{display:block;margin-top:.1rem;font:600 .9rem/1.3 var(--font-body);color:var(--c-primary)}
.mural-610__open{display:flex!important;width:max-content;max-width:100%;margin:1.15rem auto 0}
.mural-610__empty{text-align:center;max-width:560px;margin:1rem auto 0;padding:1.1rem}
.mural-610__empty p{margin:0 0 .8rem;color:var(--c-muted)}
.mural-form-610{display:grid;gap:.85rem;max-width:620px;margin:1.2rem auto 0;padding:1rem;border:1px solid color-mix(in srgb,var(--c-line) 76%,transparent);background:color-mix(in srgb,var(--c-surface) 95%,#fff);box-shadow:0 .7rem 1.8rem rgba(30,20,35,.07)}
.mural-form-610[hidden]{display:none!important}
.mural-form-610__intro{display:grid;gap:.2rem}.mural-form-610__intro strong{font-size:1.05rem}.mural-form-610__intro span{font-size:.88rem;color:var(--c-muted)}
.mural-form-610 label{display:grid;gap:.35rem;font:500 .88rem/1.3 var(--font-body)}
.mural-form-610 label>span:first-child{color:var(--c-text)}
.mural-form-610 input[type=text],.mural-form-610 input[name=author_name],.mural-form-610 textarea{width:100%;min-height:44px;border:1px solid color-mix(in srgb,var(--c-line) 88%,transparent);border-radius:.7rem;padding:.72rem .78rem;background:var(--c-bg);color:var(--c-text);font:400 1rem/1.45 var(--font-body)}
.mural-form-610 textarea{min-height:108px;resize:vertical}
.mural-form-610__picker{display:flex!important;align-items:center;gap:.55rem;width:max-content;max-width:100%;padding:.65rem .78rem;border:1px dashed color-mix(in srgb,var(--c-primary) 45%,var(--c-line));border-radius:.72rem;color:var(--c-primary);cursor:pointer;background:color-mix(in srgb,var(--c-primary) 5%,var(--c-surface))}
.mural-form-610__picker input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.mural-form-610__photo>small{font-size:.78rem;color:var(--c-muted);font-weight:400}
.mural-form-610__actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}
.mural-form-610__status{min-height:1.1em;margin:0;font-size:.84rem;color:var(--c-muted)}.mural-form-610__status.is-error{color:#9c2f46}
.mural-form-610__trap{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:640px){.mural-610__grid{grid-template-columns:1fr;gap:.9rem}.mural-610__card{transform:none;padding:1.1rem .95rem .9rem}.mural-610__photo{width:min(82%,240px)}.mural-form-610{padding:.85rem}.mural-form-610__actions .botao{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){.mural-610__card{transform:none}}

/* 6.1.0 — retorno contextual depois da primeira visualização do onboarding. */
.preview-edit-hint-610{position:fixed;left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(14px,calc(env(safe-area-inset-bottom) + 10px));z-index:9998;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:min(680px,calc(100vw - 24px));margin:0 auto;padding:11px 12px 11px 14px;border:1px solid rgba(62,45,70,.16);border-radius:16px;background:rgba(255,255,255,.96);color:#302a33;box-shadow:0 12px 36px rgba(26,19,31,.17);backdrop-filter:blur(12px);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;transition:opacity .22s ease,transform .22s ease}.preview-edit-hint-610.is-hidden{opacity:0;transform:translateY(14px);pointer-events:none}.preview-edit-hint-610 span{display:grid;gap:2px;min-width:0}.preview-edit-hint-610 strong{font-size:.78rem;font-weight:650;line-height:1.2}.preview-edit-hint-610 small{font-size:.68rem;font-weight:400;line-height:1.35;color:#706775}.preview-edit-hint-610 a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 10px;border-radius:10px;background:#5f3b78;color:#fff;text-decoration:none;font-size:.7rem;font-weight:650;white-space:nowrap}.preview-edit-hint-610 button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:9px;background:transparent;color:#7e7482;font-size:20px;line-height:1;cursor:pointer}@media(max-width:520px){.preview-edit-hint-610{grid-template-columns:minmax(0,1fr) auto;padding:10px 10px 10px 12px}.preview-edit-hint-610 a{grid-column:1/2;justify-self:start}.preview-edit-hint-610 button{grid-column:2;grid-row:1/3}.preview-edit-hint-610 small{font-size:.65rem}}@media(prefers-reduced-motion:reduce){.preview-edit-hint-610{transition:none}}

/* 6.1.0 — gate final: o CTA de confirmação nunca pulsa/pisca repetidamente. */
html.sagaro-public-invite .rsvp-floating-cta,
html.sagaro-public-invite .rsvp-floating-cta:not(.is-hidden){animation:none!important;}


/* 6.1.5 — Programação da noite curta; endereço fica somente em Data e local. */
.secao--programacao-compacta-615{padding-top:clamp(1.15rem,3vw,1.65rem)!important;padding-bottom:clamp(1.15rem,3vw,1.65rem)!important}.secao--programacao-compacta-615 .titulo-secao{margin-bottom:.08em!important;font-size:clamp(1.22rem,4vw,1.65rem)!important}.secao--programacao-compacta-615 .divisor{margin:.42rem auto .7rem!important;max-width:5.5rem!important}.programacao--compacta-615{display:grid!important;gap:0!important;width:min(720px,100%);margin-inline:auto;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent)}.programacao--compacta-615 .compromisso{display:grid!important;grid-template-columns:78px 1fr!important;align-items:start!important;gap:12px!important;margin:0!important;padding:11px 4px!important;border:0!important;border-bottom:1px solid color-mix(in srgb,currentColor 16%,transparent)!important;background:transparent!important;box-shadow:none!important;min-height:0!important}.programacao--compacta-615 .compromisso__hora{margin:0!important;padding:1px 0!important;font-size:.92rem!important;font-weight:650!important;line-height:1.25!important;text-align:right!important}.programacao--compacta-615 .compromisso__corpo{display:block!important;min-width:0!important}.programacao--compacta-615 .compromisso__nome{margin:0!important;font-size:1rem!important;font-weight:650!important;line-height:1.28!important}.programacao--compacta-615 .compromisso__nota{margin:.18rem 0 0!important;font-size:.82rem!important;line-height:1.35!important;opacity:.78}.programacao--compacta-615 :is(.compromisso__local,.compromisso__endereco,.compromisso__endereco-linha,.compromisso__comodidades,.compromisso__mapa-estatico){display:none!important}@media(max-width:520px){.programacao--compacta-615 .compromisso{grid-template-columns:64px 1fr!important;gap:9px!important;padding:9px 2px!important}.programacao--compacta-615 .compromisso__hora{font-size:.83rem!important}.programacao--compacta-615 .compromisso__nome{font-size:.92rem!important}.programacao--compacta-615 .compromisso__nota{font-size:.76rem!important}}

.mural-sent-615{width:min(620px,100%);margin:1rem auto 0;padding:18px;border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:18px;background:color-mix(in srgb,var(--card,#fff) 94%,transparent);text-align:center}.mural-sent-615>strong{display:block;font-size:1rem}.mural-sent-615>p{margin:.35rem 0 .8rem!important;font-size:.82rem!important;opacity:.78}.mural-sent-615__actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.mural-sent-615__actions .botao{min-width:120px}.mural-sent-615__preview{margin-top:14px;text-align:left}.mural-sent-615__preview .mural-610__card{max-width:420px;margin-inline:auto}


/* 6.1.19 — Mural compacto: prévia real, recados fixados e paginação visual. */
.mural-610__card{border-radius:.55rem!important;padding-top:1.45rem!important;overflow:visible!important}
.mural-610__pin{top:-.48rem!important;width:.92rem!important;height:.92rem!important;background:radial-gradient(circle at 35% 30%,#fff 0 12%,color-mix(in srgb,var(--c-metal,#c5a15b) 78%,var(--c-primary)) 28% 63%,color-mix(in srgb,var(--c-primary) 82%,#372743) 100%)!important;border:1px solid rgba(67,45,77,.28)!important;box-shadow:0 .16rem .32rem rgba(0,0,0,.26),0 .08rem 0 rgba(255,255,255,.45) inset!important}
.mural-610__pin::after{content:"";position:absolute;left:50%;top:.72rem;width:1px;height:.48rem;background:rgba(54,38,60,.35);transform:translateX(-50%) rotate(6deg);transform-origin:top}
.mural-610__photo{width:min(100%,210px)!important;aspect-ratio:4/3!important;transform:rotate(-.35deg)}
.mural-610__card p{position:relative;font-size:1.02rem!important;line-height:1.55!important;font-weight:450!important}
.mural-610__card p::before{content:"“";font-size:1.35em;line-height:0;vertical-align:-.08em;margin-right:.03em;color:color-mix(in srgb,var(--c-primary) 75%,currentColor)}
.mural-610__card p::after{content:"”";font-size:1.35em;line-height:0;vertical-align:-.08em;margin-left:.03em;color:color-mix(in srgb,var(--c-primary) 75%,currentColor)}
.mural-610__card cite{font-size:.78rem!important;line-height:1.3!important;font-weight:650!important;margin-top:.05rem!important;opacity:.88}
.mural-610__more{display:flex!important;width:max-content;max-width:100%;margin:.2rem auto .75rem!important}
.mural-form-610__live{margin:.15rem 0 .1rem;padding:12px;border:1px dashed color-mix(in srgb,var(--c-primary) 30%,var(--c-line));border-radius:.8rem;background:color-mix(in srgb,var(--c-surface) 96%,var(--c-primary) 4%)}
.mural-form-610__live::before{content:"Prévia";display:block;margin:0 0 10px;font:650 .72rem/1.2 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted)}
.mural-form-610__live .mural-610__card,.mural-sent-615__preview .mural-610__card{width:min(100%,410px);margin-inline:auto;transform:none!important}
.mural-pending-6119{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:.28rem .55rem;border-radius:999px;background:color-mix(in srgb,#d4a72c 13%,#fff);border:1px solid color-mix(in srgb,#d4a72c 44%,transparent);color:#80620f;font:700 .68rem/1.2 var(--font-body);letter-spacing:.01em}
.mural-610__card>.mural-pending-6119{margin-top:.05rem}
.mural-edit-pencil-6119{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;min-height:40px;padding:.42rem .72rem;border:1px solid color-mix(in srgb,var(--c-primary) 30%,var(--c-line));border-radius:999px;background:var(--c-surface);color:var(--c-primary);font:700 .74rem/1.1 var(--font-body);cursor:pointer;white-space:nowrap}
.mural-edit-pencil-6119>span[aria-hidden]{font-size:1rem;line-height:1}
.mural-610__card>.mural-edit-pencil-6119{position:static;align-self:end;justify-self:end;margin-top:.35rem}
.mural-sent-615{text-align:left!important}.mural-sent-615__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.mural-sent-615>strong{font-size:.92rem!important}.mural-sent-615>p{margin:.25rem 0 .7rem!important}.mural-sent-615__preview{margin-top:10px!important}
.mural-form-610__status:not(.is-error){font-weight:600;color:color-mix(in srgb,var(--c-primary) 74%,var(--c-text))}
@media(max-width:640px){.mural-610__grid{gap:1rem!important}.mural-610__photo{width:min(72%,190px)!important}.mural-form-610__live{padding:10px}.mural-sent-615{padding:14px!important}}

/* 6.1.28: memória linear e créditos; movimento segue a preferência do visitante. */
.programacao--memorias{position:relative;padding-inline-start:1.5rem;display:grid;gap:1.75rem}
.programacao--memorias::before{content:"";position:absolute;inset-block:1rem;inset-inline-start:.35rem;width:1px;background:currentColor;opacity:.25}
.programacao--memorias .compromisso--marco{position:relative;display:grid;grid-template-columns:minmax(3.5rem,6rem) minmax(0,1fr);gap:1rem;align-items:start;text-align:start}
.programacao--memorias .compromisso--marco::before{content:"";position:absolute;inset-inline-start:-1.42rem;top:1rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--text,currentColor);box-shadow:0 0 0 4px var(--bg,#fff)}
.programacao--memorias .compromisso__hora{font-weight:600}
.music-credits{max-width:42rem;margin:1rem auto;font-size:.78rem;line-height:1.6;opacity:.9}
.music-credits summary{cursor:pointer}.music-credits a{text-decoration:underline}

/* 6.1.28: revisão explícita da resposta, sem gravar uma recusa silenciosa. */
.rsvp-review-6128{max-width:min(92vw,480px);border:1px solid #d2d6d6;border-radius:18px;padding:24px;background:#fff;color:#202828;box-sizing:border-box}.rsvp-review-6128::backdrop{background:rgba(0,0,0,.55)}.rsvp-review-6128 p{white-space:pre-line;line-height:1.6;margin:18px 0}.rsvp-review-6128 h2{font-family:inherit;font-size:1.25rem}.rsvp-review-6128 button{display:block;width:100%;margin-top:12px;min-height:44px}.mural-610__open{animation:mural-nudge-6128 9s ease-in-out 3}@keyframes mural-nudge-6128{0%,5%,100%{transform:translateY(0)}2.5%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.mural-610__open{animation:none!important}}

.owner-panel-return-6128{position:fixed;right:12px;top:calc(12px + env(safe-area-inset-top));z-index:1100;padding:10px 16px;background:#fff;color:#172c32;border:1px solid #637579;border-radius:99px;font:600 13px/1.4 system-ui,sans-serif;box-shadow:0 2px 12px #0002;text-decoration:none;max-width:80vw}.rodape__administrar{font-size:12px;opacity:.8}

/* Eixo exclusivo da Linha do tempo, sem alterar a programação da festa. */
.sagaro-public-invite .programacao.programacao--memorias{position:relative;padding-inline-start:24px!important;overflow:visible}
.sagaro-public-invite .programacao.programacao--memorias::before{content:"";display:block!important;left:6px!important;top:20px!important;bottom:20px!important;inset-inline-start:6px!important;width:1px!important;background:var(--c-metal,currentColor);opacity:.65}
.sagaro-public-invite .programacao--memorias .compromisso--marco::before{content:"";display:block!important;position:absolute;left:-23px!important;inset-inline-start:-23px!important;top:24px!important;width:10px;height:10px;border-radius:50%;background:var(--c-metal,currentColor);border:2px solid var(--c-bg,#fff);box-shadow:none;transform:none}

/* 6.1.30 — foto da linha do tempo abre ampliada, como as da galeria */
.marco-visual--foto[data-lupa]{cursor:zoom-in}
.marco-visual--foto[data-lupa]:focus-visible{outline:.18rem solid var(--c-primary);outline-offset:.22rem}

/* =====================================================================
   6.1.34 — controle de música legível e discreto
   ===================================================================== */
html.sagaro-public-invite .musica{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.42rem!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:2.55rem!important;
  max-height:none!important;
  padding:.5rem .72rem!important;
  border:1px solid color-mix(in srgb,var(--c-primary) 16%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--c-surface,#fff) 94%,transparent)!important;
  color:var(--c-surface-ink,var(--c-ink,#2e2926))!important;
  box-shadow:0 8px 24px rgba(0,0,0,.12)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  text-decoration:none!important;
}
html.sagaro-public-invite .musica__icone{
  position:static!important;
  display:grid!important;
  place-items:center!important;
  width:1.55rem!important;
  height:1.55rem!important;
  min-width:1.55rem!important;
  margin:0!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--c-primary) 10%,var(--c-surface,#fff))!important;
  color:var(--c-primary)!important;
}
html.sagaro-public-invite .musica__estado-icone{
  position:static!important;
  display:grid!important;
  place-items:center!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:currentColor!important;
  font:850 .66rem/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  letter-spacing:-.08em!important;
}
html.sagaro-public-invite .musica__texto{
  position:static!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  overflow:visible!important;
  clip:auto!important;
  white-space:nowrap!important;
  color:currentColor!important;
  font:750 .69rem/1.1 var(--font-body,system-ui,-apple-system,"Segoe UI",sans-serif)!important;
}
html.sagaro-public-invite .musica[data-tocando="1"]{animation:none!important}
html.sagaro-public-invite .musica[data-tocando="1"] .musica__icone{background:color-mix(in srgb,var(--c-primary) 14%,var(--c-surface,#fff))!important}
@media(max-width:520px){
  html.sagaro-public-invite .musica{right:max(.75rem,env(safe-area-inset-right))!important;bottom:max(.75rem,env(safe-area-inset-bottom))!important;min-height:2.4rem!important;padding:.43rem .62rem!important}
  html.sagaro-public-invite .musica__texto{font-size:max(.64rem,11px)!important}
}
@media(prefers-reduced-transparency:reduce){html.sagaro-public-invite .musica{backdrop-filter:none;-webkit-backdrop-filter:none}}
html.sagaro-public-invite .musica__tema-icone{display:none!important}

/* =====================================================================
   6.1.34b - player compacto também quando a dona visualiza o convite
   O modo de retorno ao painel definia `top` e o player novo definia `bottom`;
   com altura automática, isso esticava o botão por quase toda a tela.
   ===================================================================== */
html.sagaro-public-invite .musica{
  top:auto!important;
  left:auto!important;
  right:max(.8rem,calc(env(safe-area-inset-right) + .35rem))!important;
  bottom:max(.8rem,calc(env(safe-area-inset-bottom) + .35rem))!important;
  width:auto!important;
  height:2.25rem!important;
  min-height:2.25rem!important;
  max-height:2.25rem!important;
  min-width:0!important;
  max-width:min(11rem,calc(100vw - 1.6rem))!important;
  padding:.34rem .52rem!important;
  border-radius:999px!important;
}
html.sagaro-public-invite .musica__icone{width:1.35rem!important;height:1.35rem!important;min-width:1.35rem!important}
html.sagaro-public-invite .musica__texto{font-size:max(.62rem,10.5px)!important}
html.sagaro-public-invite.tem-retorno-editor .musica,
html.sagaro-public-invite.tem-publicar-agora-4067.tem-retorno-editor .musica{top:auto!important}
@media(max-width:520px){
  html.sagaro-public-invite .musica{height:2.15rem!important;min-height:2.15rem!important;max-height:2.15rem!important;padding:.3rem .48rem!important}
}

/* =====================================================================
   6.1.36 — Sua história, Momentos da festa e Mural de lembranças
   ===================================================================== */
.story-public-6136__intro{max-width:38rem;margin:0 auto 1.2rem!important;font-size:.92rem!important;opacity:.82}
.story-public-6136{position:relative;display:grid;gap:1.15rem;width:min(820px,100%);margin:1rem auto 0;padding-block:.4rem}.story-public-6136::before{content:"";position:absolute;left:50%;top:1.15rem;bottom:1.15rem;width:1px;background:color-mix(in srgb,var(--c-metal,currentColor) 52%,transparent);transform:translateX(-50%)}
.story-public-6136__moment{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;min-height:82px}.story-public-6136__marker{grid-column:2;grid-row:1;align-self:center;justify-self:center;z-index:2;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--c-bg,#fff);border:1px solid color-mix(in srgb,var(--c-metal,currentColor) 70%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--c-bg,#fff) 90%,transparent)}.story-public-6136__marker i{display:block;width:7px;height:7px;border-radius:50%;background:var(--c-metal,currentColor)}
.story-public-6136__photo{grid-column:1;grid-row:1;margin:0;justify-self:end;width:min(100%,285px);aspect-ratio:4/3;padding:.38rem;background:#fff;overflow:hidden;box-shadow:0 .7rem 1.6rem rgba(25,17,28,.12);transform:rotate(-.55deg);cursor:zoom-in}.story-public-6136__photo img{display:block;width:100%;height:100%;object-fit:cover}.story-public-6136__copy{grid-column:3;grid-row:1;padding:.65rem .9rem;text-align:left}.story-public-6136__when{display:inline-block;margin-bottom:.18rem;font:650 .7rem/1.2 var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--c-muted,currentColor)}.story-public-6136__copy h3{margin:0;font:650 clamp(1.02rem,2.5vw,1.25rem)/1.2 var(--font-title,var(--font-body));color:var(--c-text,currentColor)}.story-public-6136__copy p{margin:.32rem 0 0;font:400 .86rem/1.5 var(--font-body);color:var(--c-muted,currentColor)}
.story-public-6136__moment:nth-child(even) .story-public-6136__photo{grid-column:3;justify-self:start;transform:rotate(.5deg)}.story-public-6136__moment:nth-child(even) .story-public-6136__copy{grid-column:1;text-align:right}.story-public-6136__moment:not(.has-photo) .story-public-6136__copy{max-width:22rem}

.party-public-6136{position:relative;display:grid;width:min(560px,100%);margin:1rem auto 0;padding:.3rem 0}.party-public-6136__moment{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:.85rem;min-height:58px}.party-public-6136__icon{position:relative;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--c-surface,#fff) 92%,var(--c-primary) 8%);border:1px solid color-mix(in srgb,var(--c-metal,currentColor) 50%,transparent);color:var(--c-primary,currentColor)}.party-public-6136__icon :is(svg,.theme-guide-icon){width:21px;height:21px}.party-public-6136__icon img.theme-moment-icon{display:block;width:23px;height:23px;object-fit:contain}.party-public-6136__copy h3{margin:0;font:650 1rem/1.25 var(--font-title,var(--font-body));color:var(--c-text,currentColor)}.party-public-6136__copy p{margin:.16rem 0 0;font:400 .78rem/1.4 var(--font-body);color:var(--c-muted,currentColor)}.party-public-6136__line{display:block;width:1px;height:19px;margin:-1px 0 -1px 20px;background:color-mix(in srgb,var(--c-metal,currentColor) 48%,transparent)}

.mural-610__grid{align-items:start!important;gap:1.35rem!important}.mural-memory-6136{display:block!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}.mural-memory-6136:nth-child(3n+2){background:transparent!important}.mural-memory-6136__photo-wrap{position:relative;width:min(100%,260px);margin:0 auto;transform:rotate(var(--mural-tilt))}.mural-memory-6136__photo-wrap .mural-610__pin{top:-.45rem!important;left:50%!important;transform:translateX(-50%)!important}.mural-memory-6136 .mural-610__photo{width:100%!important;aspect-ratio:4/3!important;margin:0!important;padding:.48rem .48rem 1.05rem!important;background:#fff!important;box-shadow:0 .65rem 1.45rem rgba(31,22,34,.14)!important;transform:none!important}.mural-memory-6136__note{position:relative;width:min(92%,245px);margin:.2rem auto 0;padding:1rem .95rem .8rem;background:color-mix(in srgb,#fff3b7 72%,var(--c-surface,#fff) 28%);border:1px solid rgba(118,88,36,.13);box-shadow:0 .45rem 1.1rem rgba(42,31,19,.11);transform:rotate(calc(var(--mural-tilt) * -.7))}.mural-memory-6136.has-photo.has-note .mural-memory-6136__note{margin-top:-1.15rem;margin-inline-start:auto;margin-inline-end:0;width:min(83%,230px);z-index:3}.mural-memory-6136__note::before{content:"";position:absolute;left:50%;top:-.34rem;width:3rem;height:.72rem;background:rgba(232,214,167,.72);transform:translateX(-50%) rotate(-1deg);box-shadow:0 1px 2px rgba(0,0,0,.04)}.mural-memory-6136__note>.mural-610__pin{top:-.42rem!important}.mural-memory-6136__note p{margin:0!important;font:450 .92rem/1.48 var(--font-body)!important;color:var(--c-text,currentColor)}.mural-memory-6136__note p::before,.mural-memory-6136__note p::after{content:none!important}.mural-memory-6136__note cite{display:block!important;margin:.58rem 0 0!important;font:650 .73rem/1.25 var(--font-body)!important;color:color-mix(in srgb,var(--c-primary,currentColor) 82%,currentColor)!important}.mural-memory-6136__photo-author{display:block!important;width:min(100%,260px);margin:.4rem auto 0!important;padding-inline:.45rem;text-align:right;font:650 .72rem/1.2 var(--font-body)!important;color:var(--c-muted,currentColor)!important}.mural-memory-6136>.mural-pending-6119,.mural-memory-6136>.mural-edit-pencil-6119{margin-top:.55rem!important;margin-inline-start:auto}.mural-form-610__live .mural-memory-6136,.mural-sent-615__preview .mural-memory-6136{max-width:290px!important}

@media(max-width:640px){.story-public-6136{gap:.6rem;padding-inline:.15rem}.story-public-6136::before{left:14px;transform:none}.story-public-6136__moment,.story-public-6136__moment:nth-child(even){grid-template-columns:28px minmax(0,1fr);align-items:start;padding-bottom:.7rem}.story-public-6136__marker{grid-column:1;grid-row:1/span 2;width:17px;height:17px;margin-top:.65rem}.story-public-6136__marker i{width:6px;height:6px}.story-public-6136__photo,.story-public-6136__moment:nth-child(even) .story-public-6136__photo{grid-column:2;grid-row:1;justify-self:start;width:min(86vw,280px);transform:rotate(-.35deg)}.story-public-6136__copy,.story-public-6136__moment:nth-child(even) .story-public-6136__copy{grid-column:2;grid-row:2;padding:.55rem .2rem .15rem;text-align:left}.story-public-6136__moment:not(.has-photo) .story-public-6136__copy{grid-row:1}.party-public-6136{width:min(92vw,480px)}.party-public-6136__moment{grid-template-columns:44px 1fr;gap:.65rem}.party-public-6136__icon{width:38px;height:38px}.party-public-6136__line{margin-left:18px}.mural-610__grid{gap:1.6rem!important}.mural-memory-6136{transform:none!important}.mural-memory-6136__photo-wrap{width:min(82vw,250px)}.mural-memory-6136.has-photo.has-note .mural-memory-6136__note{width:min(76vw,220px);margin-top:-1rem;margin-right:1.2rem}.mural-memory-6136__note{width:min(80vw,240px);transform:rotate(-.3deg)}.mural-memory-6136__photo-author{width:min(82vw,250px)}}
@media(prefers-reduced-motion:reduce){.story-public-6136__photo,.mural-memory-6136__photo-wrap,.mural-memory-6136__note{transform:none!important}}

/* =====================================================================
   6.1.37 — carrosséis afetivos, post-it SVG e mural compacto
   ===================================================================== */
.cd-carousel-6137{position:relative;width:min(100%,880px);margin:1rem auto 0;overflow:visible}
.cd-carousel-6137__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .62rem;padding-inline:.18rem}.cd-carousel-6137__toolbar>span{display:inline-flex;align-items:center;gap:.42rem;color:var(--c-muted,currentColor);font:650 .68rem/1.25 var(--font-body);letter-spacing:.01em}.cd-carousel-6137__toolbar>span i{font-size:.72rem;color:var(--c-primary,currentColor)}
.cd-carousel-6137__arrows{display:flex;gap:.38rem;flex:0 0 auto}.cd-carousel-6137__arrows button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid color-mix(in srgb,var(--c-metal,currentColor) 48%,transparent);border-radius:50%;background:color-mix(in srgb,var(--c-surface,#fff) 94%,transparent);color:var(--c-text,currentColor);box-shadow:0 .2rem .55rem rgba(20,17,20,.08);cursor:pointer;transition:transform .14s ease,opacity .14s ease,background .14s ease}.cd-carousel-6137__arrows button:active{transform:scale(.94)}.cd-carousel-6137__arrows button:disabled{opacity:.3;cursor:default}.cd-carousel-6137__arrows button i{font-size:.65rem}
.cd-carousel-6137__track{display:flex!important;grid-template-columns:none!important;align-items:stretch!important;gap:.9rem!important;width:100%!important;max-width:none!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:.2rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.35rem .2rem .78rem!important;margin:0!important}.cd-carousel-6137__track::-webkit-scrollbar{display:none}
.cd-carousel-6137__track>[data-carousel-item]{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 auto}
.cd-carousel-6137__dots{display:flex;align-items:center;justify-content:center;gap:.32rem;min-height:16px;margin:.08rem 0 .68rem}.cd-carousel-6137__dots button{width:6px;height:6px;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--c-muted,currentColor) 38%,transparent);cursor:pointer;transition:width .18s ease,background .18s ease,transform .18s ease}.cd-carousel-6137__dots button.is-active{width:20px;background:var(--c-primary,currentColor)}.cd-carousel-6137__dots button:focus-visible{outline:2px solid var(--c-primary,currentColor);outline-offset:3px}

/* Sua história: um momento por vez, com o próximo aparecendo para convidar o gesto. */
.story-public-6137__intro{max-width:34rem!important;margin-bottom:.7rem!important;font-size:.84rem!important}
.story-carousel-6137{width:min(100%,760px)}
.story-public-6137__track{position:relative!important}.story-public-6137__track::before{content:none!important;display:none!important}
.story-public-6137__moment,.story-public-6137__moment:nth-child(even){position:relative!important;display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;align-content:start!important;align-items:start!important;width:min(72vw,300px)!important;min-height:0!important;padding:.78rem .78rem .85rem!important;border:1px solid color-mix(in srgb,var(--c-metal,currentColor) 34%,transparent)!important;border-radius:1.35rem!important;background:color-mix(in srgb,var(--c-surface,#fff) 96%,var(--c-primary,currentColor) 4%)!important;box-shadow:0 .75rem 1.7rem rgba(25,19,27,.10)!important;overflow:hidden!important;text-align:left!important}
.story-public-6137__moment:nth-child(odd){transform:rotate(-.18deg)}.story-public-6137__moment:nth-child(even){transform:rotate(.18deg)}
.story-public-6137__number{position:absolute;z-index:5;top:.72rem;right:.72rem;display:grid;place-items:center;min-width:28px;height:28px;padding:0 .35rem;border-radius:999px;background:color-mix(in srgb,var(--c-bg,#fff) 86%,transparent);border:1px solid color-mix(in srgb,var(--c-metal,currentColor) 42%,transparent);backdrop-filter:blur(4px);color:var(--c-primary,currentColor);font:750 .63rem/1 var(--font-body);letter-spacing:.05em;box-shadow:0 .2rem .55rem rgba(24,18,25,.08)}
.story-public-6137__moment>.story-public-6136__marker{display:none!important}
.story-public-6137__photo,.story-public-6137__moment:nth-child(even) .story-public-6137__photo{grid-column:1!important;grid-row:1!important;justify-self:center!important;width:min(72%,196px)!important;aspect-ratio:4/5!important;margin:.12rem auto .72rem!important;padding:.34rem!important;border-radius:.25rem!important;background:#fff!important;overflow:hidden!important;box-shadow:0 .5rem 1.15rem rgba(22,16,24,.15)!important;transform:rotate(-.45deg)!important}
.story-public-6137__moment:nth-child(even) .story-public-6137__photo{transform:rotate(.42deg)!important}.story-public-6137__photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.story-public-6137__copy,.story-public-6137__moment:nth-child(even) .story-public-6137__copy{grid-column:1!important;grid-row:2!important;width:100%!important;padding:.08rem .2rem .15rem!important;text-align:left!important}.story-public-6137__when{display:inline-block!important;margin-bottom:.22rem!important;padding:.2rem .48rem;border-radius:999px;background:color-mix(in srgb,var(--c-primary,currentColor) 10%,transparent);color:var(--c-primary,currentColor)!important;font-size:.62rem!important}.story-public-6137__copy h3{margin:0!important;font-size:1.04rem!important;line-height:1.2!important}.story-public-6137__copy p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:.35rem 0 0!important;font-size:.8rem!important;line-height:1.48!important}

/* Mural: fotografia inteira + post-it amarelo em SVG, compacto e legível. */
.mural-public-6137 .secao__interno{overflow:visible}.mural-carousel-6137{width:min(100%,760px)}
.mural-carousel-6137 .mural-610__grid{display:flex!important;grid-template-columns:none!important;align-items:stretch!important;gap:.9rem!important}
.mural-memory-6137{position:relative!important;display:grid!important;align-content:center!important;justify-items:center!important;width:min(72vw,285px)!important;min-height:305px!important;padding:.65rem .45rem .82rem!important;overflow:visible!important;transform:none!important}
.mural-memory-6137__photo-wrap{position:relative!important;width:min(82%,190px)!important;margin:0 auto!important;transform:rotate(var(--mural-tilt))!important;z-index:1}.mural-memory-6137__photo-wrap .mural-610__pin{top:-.48rem!important}
.mural-memory-6137 .mural-memory-6137__photo{display:grid!important;place-items:center!important;width:100%!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;padding:.42rem .42rem .95rem!important;background:#fff!important;box-shadow:0 .62rem 1.35rem rgba(25,18,24,.16)!important;overflow:visible!important;transform:none!important}.mural-memory-6137 .mural-memory-6137__photo img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;max-height:208px!important;margin:auto!important;object-fit:contain!important;background:#f8f5ef}
.mural-memory-6137__note{position:relative!important;display:grid!important;place-items:stretch!important;width:220px!important;max-width:88%!important;min-height:0!important;margin:.45rem auto 0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:rotate(calc(var(--mural-tilt) * -.75))!important;overflow:visible!important;z-index:3}.mural-memory-6137.has-photo.has-note .mural-memory-6137__note{margin-top:-.85rem!important;margin-inline-start:auto!important;margin-inline-end:.25rem!important}.mural-memory-6137__note.is-short{width:178px!important}.mural-memory-6137__note.is-medium{width:212px!important}.mural-memory-6137__note.is-long{width:244px!important;max-width:92%!important}
.mural-memory-6137__note::before{content:none!important}.mural-postit-6137__paper{position:absolute;inset:-7px -7px -8px -7px;width:calc(100% + 14px);height:calc(100% + 15px);overflow:visible;filter:drop-shadow(0 .5rem .62rem rgba(38,29,12,.18));pointer-events:none}.mural-postit-6137__shadow{fill:#b49a42;opacity:.18}.mural-postit-6137__sheet{fill:#f7dc63}.mural-postit-6137__fold{fill:#ddb83f;opacity:.62}.mural-postit-6137__crease{fill:none;stroke:#bd972e;stroke-width:1.3;opacity:.42}.mural-postit-6137__tape{fill:#f4e7b9;opacity:.78}
.mural-postit-6137__ink{position:relative;z-index:2;display:grid;align-content:start;gap:.46rem;padding:1.02rem .95rem .86rem;color:#1e1c18!important}.mural-memory-6137__note.is-short .mural-postit-6137__ink{padding:.9rem .82rem .76rem}.mural-memory-6137__note.is-long .mural-postit-6137__ink{padding:1.05rem 1rem .9rem}
.mural-memory-6137__note p{margin:0!important;color:#1e1c18!important;font-family:"Bradley Hand","Segoe Print","Comic Sans MS",cursive!important;font-size:.92rem!important;font-weight:500!important;line-height:1.42!important;letter-spacing:.005em!important}.mural-memory-6137__note p::before,.mural-memory-6137__note p::after{content:none!important}.mural-memory-6137__note cite{display:block!important;margin:0!important;color:#242018!important;font-family:"Bradley Hand","Segoe Print","Comic Sans MS",cursive!important;font-size:.74rem!important;font-weight:700!important;line-height:1.25!important}.mural-memory-6137__photo-author{width:min(82%,190px)!important;margin:.4rem auto 0!important;color:var(--c-muted,currentColor)!important;text-align:right!important;font-size:.7rem!important}
.mural-form-610__live .mural-memory-6137,.mural-sent-615__preview .mural-memory-6137{width:min(100%,280px)!important;min-height:0!important;margin-inline:auto}.mural-form-610__live .mural-memory-6137__photo-wrap,.mural-sent-615__preview .mural-memory-6137__photo-wrap{width:min(76%,180px)!important}
.mural-public-6137 .mural-610__open{margin-top:.22rem}

@media(max-width:640px){
  .cd-carousel-6137{width:calc(100% + .7rem);margin-left:-.35rem;margin-right:-.35rem}.cd-carousel-6137__toolbar{padding-inline:.45rem}.cd-carousel-6137__track{padding-left:.45rem!important;padding-right:18vw!important;scroll-padding-left:.45rem!important;gap:.72rem!important}.cd-carousel-6137__arrows button{width:36px;height:36px}.cd-carousel-6137__dots{margin-bottom:.55rem}
  .story-public-6137__moment,.story-public-6137__moment:nth-child(even){width:min(76vw,286px)!important}.story-public-6137__photo,.story-public-6137__moment:nth-child(even) .story-public-6137__photo{width:min(68%,184px)!important}
  .mural-memory-6137{width:min(74vw,274px)!important;min-height:285px!important}.mural-memory-6137__photo-wrap{width:min(74%,180px)!important}.mural-memory-6137 .mural-memory-6137__photo img{max-height:196px!important}.mural-memory-6137.has-photo.has-note .mural-memory-6137__note{margin-right:.1rem!important}.mural-memory-6137__note.is-short{width:168px!important}.mural-memory-6137__note.is-medium{width:202px!important}.mural-memory-6137__note.is-long{width:232px!important}
}
@media(max-width:390px){.cd-carousel-6137__toolbar>span{font-size:.62rem}.story-public-6137__moment,.story-public-6137__moment:nth-child(even){width:75vw!important}.mural-memory-6137{width:73vw!important}.mural-memory-6137__note p{font-size:.88rem!important}}
@media(prefers-reduced-motion:reduce){.story-public-6137__moment,.story-public-6137__photo,.mural-memory-6137__photo-wrap,.mural-memory-6137__note{transform:none!important}.cd-carousel-6137__track{scroll-behavior:auto!important}.cd-carousel-6137__dots button{transition:none!important}}

/* ------------------------------------------------------------------
   6.1.38 — Mural mais elegante, com pop-up para envio e teclado seguro
   ------------------------------------------------------------------ */
.mural-public-6138 .mural-610__eyebrow{margin-bottom:.35rem;letter-spacing:.16em;color:color-mix(in srgb,var(--c-primary) 58%,var(--c-muted))}
.mural-public-6138 .mural-6138__title{margin-bottom:.3rem}
.mural-6138__title{font-size:clamp(1.85rem,3.3vw,2.5rem)!important;line-height:1.08!important}
.mural-6138__subtitle{max-width:34rem;margin:.2rem auto 1.05rem;text-align:center;color:var(--c-muted,currentColor);font:400 .98rem/1.6 var(--font-body)}
.mural-6138__cta{display:inline-flex!important;align-items:center;justify-content:center;gap:.58rem;min-height:54px;padding-inline:1.25rem;border-radius:16px;box-shadow:0 .55rem 1.3rem rgba(23,17,20,.10)}
.mural-6138__cta i{font-size:.95rem}

.mural-modal-6138[hidden]{display:none!important}
.mural-modal-6138{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:18px 14px calc(14px + env(safe-area-inset-bottom));box-sizing:border-box}
.mural-modal-6138__backdrop{position:absolute;inset:0;background:rgba(10,13,22,.58);backdrop-filter:blur(5px)}
.mural-modal-6138__dialog{position:relative;z-index:1;width:min(100%,560px);max-height:min(88vh,780px);overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid color-mix(in srgb,var(--c-line) 72%,rgba(255,255,255,.18));border-radius:28px;background:color-mix(in srgb,var(--c-surface) 95%,rgba(255,255,255,.06));box-shadow:0 1.2rem 3.2rem rgba(9,10,18,.35);padding:18px 16px 16px;transform:translateY(16px) scale(.985);opacity:0;transition:transform .18s ease,opacity .18s ease}
.mural-modal-6138.is-visible .mural-modal-6138__dialog{transform:none;opacity:1}
.mural-modal-6138__close{position:sticky;top:0;z-index:3;display:grid;place-items:center;width:42px;height:42px;margin-left:auto;margin-bottom:8px;border:1px solid color-mix(in srgb,var(--c-line) 72%,transparent);border-radius:999px;background:color-mix(in srgb,var(--c-surface) 96%,rgba(255,255,255,.1));color:var(--c-text,currentColor);box-shadow:0 .25rem .8rem rgba(20,16,18,.09)}
.mural-form-6138{display:grid;gap:13px;width:auto!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.mural-form-6138__hero{display:grid;gap:10px;padding:14px 14px 13px;border:1px solid color-mix(in srgb,var(--c-primary) 18%,var(--c-line));border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--c-surface) 95%,var(--c-primary) 5%),color-mix(in srgb,var(--c-surface) 97%,transparent))}
.mural-form-6138__badge{display:inline-flex;align-items:center;gap:.45rem;width:max-content;max-width:100%;padding:.48rem .82rem;border-radius:999px;background:color-mix(in srgb,var(--c-primary) 20%,var(--c-surface));color:var(--c-text,currentColor);font:700 .72rem/1.1 var(--font-body);letter-spacing:.05em;text-transform:uppercase}
.mural-form-6138 .mural-form-610__intro{display:grid;gap:4px}
.mural-form-6138 .mural-form-610__intro strong{font-size:1.3rem;line-height:1.14}
.mural-form-6138 .mural-form-610__intro span{color:var(--c-muted,currentColor);font-size:.95rem;line-height:1.5}
.mural-form-6138__field{display:grid;gap:8px}
.mural-form-6138__field>span{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap;font-weight:650}
.mural-form-6138__field small{font-weight:500;color:var(--c-muted,currentColor)}
.mural-form-6138__field input,.mural-form-6138__field textarea{width:100%;box-sizing:border-box}
.mural-form-6138 textarea{min-height:138px;resize:vertical}
.mural-form-6138__count{display:block;margin-top:-2px;text-align:right;font:600 .76rem/1.2 var(--font-body);color:var(--c-muted,currentColor)}
.mural-form-6138__count.is-limit{color:color-mix(in srgb,#e38d5d 68%,var(--c-text))}
.mural-form-6138__photo{display:grid!important;gap:8px;padding:14px;border:1px dashed color-mix(in srgb,var(--c-primary) 26%,var(--c-line));border-radius:18px;background:color-mix(in srgb,var(--c-surface) 96%,var(--c-primary) 4%)}
.mural-form-6138__photo>span:first-child{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap;font-weight:650}
.mural-form-6138__photo .mural-form-610__picker{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:48px;padding:.8rem 1rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--c-line) 72%,transparent);background:color-mix(in srgb,var(--c-surface) 98%,transparent);box-shadow:0 .25rem .7rem rgba(21,18,20,.05)}
.mural-form-6138__photo .mural-form-610__picker b{font-size:.95rem}
.mural-form-6138__photo small{color:var(--c-muted,currentColor)}
.mural-form-6138__approval{display:flex;align-items:flex-start;gap:.58rem;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--c-surface) 94%,var(--c-primary) 6%);border:1px solid color-mix(in srgb,var(--c-primary) 20%,var(--c-line));color:var(--c-text,currentColor);font:500 .89rem/1.5 var(--font-body)}
.mural-form-6138__approval i{margin-top:.12rem;color:var(--c-primary,currentColor)}
.mural-form-6138__actions{display:flex;gap:.7rem;flex-wrap:wrap}
.mural-form-6138__actions .botao{flex:1 1 220px}
.mural-form-6138 .mural-form-610__status{margin:.1rem 0 0}
.mural-form-6138__live{margin-top:-2px}

.mural-sent-6138{margin:0!important;padding:16px!important;border:1px solid color-mix(in srgb,var(--c-primary) 24%,var(--c-line))!important;border-radius:22px!important;background:linear-gradient(180deg,color-mix(in srgb,var(--c-surface) 94%,var(--c-primary) 6%),color-mix(in srgb,var(--c-surface) 98%,transparent))!important;box-shadow:0 .6rem 1.4rem rgba(16,14,18,.10)!important}
.mural-sent-6138 strong{font-size:1.14rem}
.mural-pending-6138,.mural-sent-6138 .mural-pending-6119{display:inline-flex;align-items:center;gap:.4rem;padding:.42rem .72rem;border-radius:999px;background:color-mix(in srgb,var(--c-primary) 18%,var(--c-surface));border:1px solid color-mix(in srgb,var(--c-primary) 28%,transparent);font:700 .72rem/1.1 var(--font-body);letter-spacing:.04em;text-transform:uppercase}
.mural-pending-6138::before,.mural-sent-6138 .mural-pending-6119::before{content:"";width:.52rem;height:.52rem;border-radius:50%;background:color-mix(in srgb,var(--c-primary) 70%,#ffd996);box-shadow:0 0 0 .12rem color-mix(in srgb,var(--c-primary) 18%,transparent)}
body.has-mural-modal-open :is(.rsvp-floating-cta,#botao-musica,.musica){opacity:0!important;pointer-events:none!important;transform:translateY(10px)!important}

@media(min-width:720px){
  .mural-modal-6138{align-items:center}
  .mural-modal-6138__dialog{padding:20px 18px 18px}
}
@media(max-width:640px){
  .mural-modal-6138{padding:10px 8px calc(8px + env(safe-area-inset-bottom))}
  .mural-modal-6138__dialog{width:min(100%,560px);max-height:calc(100vh - 10px);border-radius:26px 26px 20px 20px;padding:15px 13px calc(13px + env(safe-area-inset-bottom))}
  .mural-form-6138__actions{position:sticky;bottom:-1px;z-index:2;margin:0 -1px -1px;padding:.85rem 1px 1px;background:linear-gradient(180deg,rgba(0,0,0,0),color-mix(in srgb,var(--c-surface) 96%,transparent) 24%,color-mix(in srgb,var(--c-surface) 100%,transparent))}
  .mural-form-6138__actions .botao{min-height:50px}
  .mural-form-6138 textarea{min-height:126px}
}
@media(prefers-reduced-motion:reduce){
  .mural-modal-6138__dialog,.mural-6138__cta{transition:none!important;animation:none!important}
}

/* 6.1.39 - modal do Mural mais claro, simples e sem sobreposição visual */
body.has-mural-modal-open{overflow:hidden!important;touch-action:none}
body.has-mural-modal-open :is(.retorno-editor,.preview-publish-banner-4067){opacity:.16!important;pointer-events:none!important}
.mural-modal-6138{z-index:260!important;padding:14px 12px calc(12px + env(safe-area-inset-bottom))!important}
.mural-modal-6138__backdrop{background:rgba(10,13,22,.74)!important;backdrop-filter:blur(7px)!important}
.mural-modal-6138__dialog{
  width:min(100%,560px)!important;
  max-height:min(90vh,780px)!important;
  border-radius:26px!important;
  border:1px solid rgba(189,165,117,.28)!important;
  background:linear-gradient(180deg,#fbf8f2 0%,#f5efe4 100%)!important;
  color:#2d2a28!important;
  box-shadow:0 1.5rem 3.6rem rgba(8,10,18,.42)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
}
.mural-form-6138__hero{
  border:1px solid rgba(164,136,86,.24)!important;
  background:linear-gradient(180deg,#fffdf7 0%,#f8f1e2 100%)!important;
}
.mural-form-6138__badge{background:#e9dfc8!important;color:#5d4722!important}
.mural-form-6138 .mural-form-610__intro strong{color:#2d2a28!important}
.mural-form-6138 .mural-form-610__intro span,
.mural-form-6138__field small,
.mural-form-6138__photo small,
.mural-form-6138__count{color:#6e635b!important}
.mural-form-6138__field>span,
.mural-form-6138__photo>span:first-child{color:#2f2b28!important}
.mural-form-6138__field input,
.mural-form-6138__field textarea{
  border:1px solid rgba(91,80,70,.16)!important;
  background:#fffdf8!important;
  color:#262420!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6)!important;
}
.mural-form-6138__field input::placeholder,
.mural-form-6138__field textarea::placeholder{color:#8c8279!important}
.mural-form-6138__field input:focus,
.mural-form-6138__field textarea:focus{
  border-color:#c9ac66!important;
  box-shadow:0 0 0 3px rgba(201,172,102,.16)!important;
  outline:0!important;
}
.mural-form-6138__photo{
  background:#fffdf7!important;
  border:1px dashed rgba(164,136,86,.42)!important;
}
.mural-form-6138__photo .mural-form-610__picker{
  background:#f5ecd8!important;
  border-color:rgba(164,136,86,.36)!important;
  color:#4b3e2d!important;
}
.mural-form-6138__approval{
  background:#f8f0df!important;
  border:1px solid rgba(164,136,86,.22)!important;
  color:#4b3e2d!important;
}
.mural-form-6138__approval i{color:#b28b40!important}
.mural-form-6138__actions{position:sticky;bottom:-1px;z-index:2;margin:0 -2px -2px;padding:12px 2px 2px;background:linear-gradient(180deg,rgba(245,239,228,0),rgba(245,239,228,.94) 24%,#f5efe4 100%)!important}
.mural-form-6138__actions .botao{min-height:50px!important}
.mural-form-6138__actions .botao.botao--contorno{background:#fffaf0!important;color:#6b5430!important;border-color:rgba(164,136,86,.42)!important}
.mural-form-6138__actions .botao:not(.botao--contorno){background:#d7bc77!important;color:#23201b!important;border-color:#d7bc77!important}
.mural-form-6138 .mural-form-610__status{color:#7a5f32!important}
.mural-form-6138 .mural-form-610__status.is-error{color:#b04343!important}
@media(max-width:520px){
  .mural-modal-6138{padding:10px 8px calc(8px + env(safe-area-inset-bottom))!important}
  .mural-modal-6138__dialog{max-height:calc(100dvh - 10px)!important;border-radius:24px!important}
  .mural-form-6138 .mural-form-610__intro strong{font-size:1.16rem!important}
  .mural-form-6138 .mural-form-610__intro span{font-size:.9rem!important;line-height:1.42!important}
  .mural-form-6138__field>span{gap:.3rem!important}
  .mural-form-6138__field>span small{width:100%;font-size:.78rem!important}
}

/* =====================================================================
   6.1.40 — compositor do Mural independente do tema
   ===================================================================== */
html.has-mural-modal-open,
body.has-mural-modal-open{overflow:hidden!important;overscroll-behavior:none!important}

/* A camada é movida via JS para ser filha direta do body. Assim nenhum
   transform, filtro ou stacking context do tema pode ficar acima dela. */
body>.mural-modal-6140{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important;
  color:#2f2b27!important;
  line-height:1.35!important;
  text-align:left!important;
  letter-spacing:normal!important;
  text-transform:none!important;
  filter:none!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
}
body>.mural-modal-6140[hidden]{display:none!important}
body>.mural-modal-6140 .mural-modal-6140__backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:rgba(10,12,18,.80)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
body>.mural-modal-6140 .mural-modal-6140__dialog{
  position:relative!important;
  z-index:1!important;
  width:min(100%,520px)!important;
  max-height:min(92dvh,760px)!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #e3d8c8!important;
  border-radius:24px!important;
  background:#fbf7ef!important;
  color:#2f2b27!important;
  box-shadow:0 26px 70px rgba(0,0,0,.36)!important;
  transform:none!important;
  opacity:1!important;
}
body>.mural-modal-6140 .mural-modal-6140__header{
  position:sticky!important;
  top:0!important;
  z-index:5!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  min-height:72px!important;
  padding:14px 16px!important;
  border-bottom:1px solid #eadfce!important;
  background:rgba(251,247,239,.97)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
body>.mural-modal-6140 .mural-modal-6140__identity{display:flex!important;align-items:center!important;gap:11px!important;min-width:0!important}
body>.mural-modal-6140 .mural-modal-6140__identity>span{display:grid!important;place-items:center!important;width:38px!important;height:38px!important;border-radius:12px!important;background:#efe2c5!important;color:#7f6231!important;flex:0 0 auto!important}
body>.mural-modal-6140 .mural-modal-6140__identity>div{display:grid!important;gap:1px!important;min-width:0!important}
body>.mural-modal-6140 .mural-modal-6140__identity small{margin:0!important;color:#8b7a68!important;font:700 11px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;text-transform:uppercase!important;letter-spacing:.08em!important}
body>.mural-modal-6140 .mural-modal-6140__identity strong{margin:0!important;color:#2f2b27!important;font:800 17px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body>.mural-modal-6140 .mural-modal-6140__close{position:static!important;display:grid!important;place-items:center!important;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin:0!important;padding:0!important;border:1px solid #ded3c4!important;border-radius:999px!important;background:#fffaf2!important;color:#514940!important;box-shadow:none!important;cursor:pointer!important}

body>.mural-modal-6140 .mural-form-6140{
  display:grid!important;
  gap:16px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:18px 16px 16px!important;
  border:0!important;
  background:#fbf7ef!important;
  box-shadow:none!important;
  color:#2f2b27!important;
}
body>.mural-modal-6140 .mural-form-6140[hidden]{display:none!important}
body>.mural-modal-6140 .mural-form-6140__field{display:grid!important;gap:7px!important;margin:0!important}
body>.mural-modal-6140 .mural-form-6140__field>span{display:block!important;margin:0!important;color:#37312c!important;font:800 15px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-form-6140__field input,
body>.mural-modal-6140 .mural-form-6140__field textarea{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  border:1px solid #ddd1c1!important;
  border-radius:14px!important;
  background:#fffdf9!important;
  color:#2a2724!important;
  box-shadow:none!important;
  outline:0!important;
  font:400 16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}
body>.mural-modal-6140 .mural-form-6140__field input{min-height:50px!important;padding:0 13px!important}
body>.mural-modal-6140 .mural-form-6140__field textarea{min-height:132px!important;padding:12px 13px!important;resize:none!important}
body>.mural-modal-6140 .mural-form-6140__field input:focus,
body>.mural-modal-6140 .mural-form-6140__field textarea:focus{border-color:#c7a760!important;box-shadow:0 0 0 3px rgba(199,167,96,.16)!important}
body>.mural-modal-6140 .mural-form-6140__field input::placeholder,
body>.mural-modal-6140 .mural-form-6140__field textarea::placeholder{color:#9a8e82!important;opacity:1!important}
body>.mural-modal-6140 .mural-form-6140__count{display:block!important;margin:-2px 2px 0!important;text-align:right!important;color:#8c8176!important;font:600 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-form-6140__count.is-limit{color:#a45e3e!important}

body>.mural-modal-6140 .mural-photo-6140{display:grid!important;gap:10px!important;padding:13px!important;border:1px dashed #d7c5a8!important;border-radius:16px!important;background:#fffaf1!important}
body>.mural-modal-6140 .mural-photo-6140__head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important}
body>.mural-modal-6140 .mural-photo-6140__head>div{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
body>.mural-modal-6140 .mural-photo-6140__head strong{color:#37312c!important;font:800 15px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-photo-6140__head small{display:inline-flex!important;padding:3px 6px!important;border-radius:999px!important;background:#f0e8dd!important;color:#7e7062!important;font:700 10px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;text-transform:uppercase!important;letter-spacing:.05em!important}
body>.mural-modal-6140 .mural-photo-6140__choose{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;min-height:40px!important;padding:0 10px!important;border:1px solid #d7c5a8!important;border-radius:11px!important;background:#f5e8cf!important;color:#5d4728!important;font:800 13px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;cursor:pointer!important}
body>.mural-modal-6140 .mural-photo-6140__input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
body>.mural-modal-6140 .mural-photo-6140__selected{display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;gap:10px!important;align-items:center!important}
body>.mural-modal-6140 .mural-photo-6140__selected[hidden]{display:none!important}
body>.mural-modal-6140 .mural-photo-6140__selected>img{display:block!important;width:72px!important;height:72px!important;border-radius:12px!important;object-fit:cover!important;background:#eee5d8!important}
body>.mural-modal-6140 .mural-photo-6140__selected>div{display:grid!important;gap:7px!important;min-width:0!important}
body>.mural-modal-6140 .mural-photo-6140__selected>div>strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#4d443b!important;font:700 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-photo-6140__selected>div>span{display:flex!important;gap:8px!important;flex-wrap:wrap!important}
body>.mural-modal-6140 .mural-photo-6140__selected button{min-height:34px!important;padding:0 9px!important;border:1px solid #ddd0be!important;border-radius:10px!important;background:#fffdf9!important;color:#645644!important;font:700 12px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}

body>.mural-modal-6140 .mural-form-6140__live{display:none!important}
body>.mural-modal-6140 .mural-form-6140__status{min-height:0!important;margin:-4px 0 0!important;color:#8a5a2b!important;font:700 13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-form-6140__status:empty{display:none!important}
body>.mural-modal-6140 .mural-form-6140__status.is-error{color:#a54444!important}
body>.mural-modal-6140 .mural-form-6140__actions{position:sticky!important;bottom:-16px!important;z-index:4!important;display:block!important;margin:0 -16px -16px!important;padding:12px 16px calc(16px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,rgba(251,247,239,0),#fbf7ef 24%,#fbf7ef 100%)!important}
body>.mural-modal-6140 .mural-form-6140__submit{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:52px!important;margin:0!important;padding:0 16px!important;border:0!important;border-radius:14px!important;background:#d7b96f!important;color:#27231d!important;box-shadow:none!important;font:800 15px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:normal!important;text-transform:none!important}

body>.mural-modal-6140 .mural-crop-6140{display:grid!important;gap:14px!important;padding:18px 16px 16px!important;background:#fbf7ef!important;color:#2f2b27!important}
body>.mural-modal-6140 .mural-crop-6140[hidden]{display:none!important}
body>.mural-modal-6140 .mural-crop-6140__head{display:grid!important;gap:3px!important}
body>.mural-modal-6140 .mural-crop-6140__head strong{font:800 18px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-crop-6140__head small{color:#7d7167!important;font:500 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-crop-6140__stage{position:relative!important;width:min(100%,400px)!important;aspect-ratio:1/1!important;margin:0 auto!important;overflow:hidden!important;border-radius:18px!important;background:#1f1f1f!important;touch-action:none!important;cursor:grab!important;box-shadow:0 8px 24px rgba(0,0,0,.14)!important}
body>.mural-modal-6140 .mural-crop-6140__stage:active{cursor:grabbing!important}
body>.mural-modal-6140 .mural-crop-6140__stage img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 50%;user-select:none!important;-webkit-user-drag:none!important;pointer-events:none!important}
body>.mural-modal-6140 .mural-crop-6140__stage::after{content:"";position:absolute;inset:10px;border:2px solid rgba(255,255,255,.88);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.18);pointer-events:none}
body>.mural-modal-6140 .mural-crop-6140__actions{display:grid!important;grid-template-columns:1fr 1.35fr!important;gap:9px!important}
body>.mural-modal-6140 .mural-crop-6140__actions button{min-height:50px!important;border-radius:13px!important;font:800 14px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-crop-6140__actions button:first-child{border:1px solid #d9cebf!important;background:#fffdf9!important;color:#61564b!important}
body>.mural-modal-6140 .mural-crop-6140__actions button:last-child{border:0!important;background:#d7b96f!important;color:#27231d!important}

body>.mural-modal-6140 .mural-sent-6140{display:grid!important;gap:12px!important;margin:0!important;padding:22px 16px 18px!important;border:0!important;border-radius:0!important;background:#fbf7ef!important;color:#2f2b27!important;box-shadow:none!important;text-align:center!important}
body>.mural-modal-6140 .mural-sent-6140[hidden]{display:none!important}
body>.mural-modal-6140 .mural-pending-6140{justify-self:center!important}
body>.mural-modal-6140 .mural-sent-6140>strong{font:800 21px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
body>.mural-modal-6140 .mural-sent-6140__close{justify-self:center!important;min-height:44px!important;padding:0 18px!important;border:1px solid #d9cebf!important;border-radius:12px!important;background:#fffdf9!important;color:#61564b!important;font:800 13px/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}

/* A foto pública do Mural passa a ser sempre apresentada em 1:1. */
.mural-memory-6137 .mural-memory-6137__photo{aspect-ratio:1/1!important;overflow:hidden!important;padding:.42rem .42rem .92rem!important}
.mural-memory-6137 .mural-memory-6137__photo img{width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;background:#f8f5ef!important}

@media(max-width:560px){
  body>.mural-modal-6140{align-items:flex-end!important;padding:0!important}
  body>.mural-modal-6140 .mural-modal-6140__dialog{width:100%!important;max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))!important;border-radius:24px 24px 0 0!important;border-bottom:0!important}
  body>.mural-modal-6140 .mural-modal-6140__header{min-height:66px!important;padding:12px 14px!important}
  body>.mural-modal-6140 .mural-modal-6140__identity strong{font-size:16px!important}
  body>.mural-modal-6140 .mural-form-6140{gap:14px!important;padding:16px 14px 14px!important}
  body>.mural-modal-6140 .mural-form-6140__actions{bottom:-14px!important;margin:0 -14px -14px!important;padding:10px 14px calc(14px + env(safe-area-inset-bottom))!important}
  body>.mural-modal-6140 .mural-photo-6140__head{align-items:flex-start!important}
  body>.mural-modal-6140 .mural-crop-6140{padding:16px 14px calc(14px + env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:reduce){body>.mural-modal-6140 *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}


/* 6.1.41 - refinamento do Mural e da Sua história */
.cd-carousel-6137__toolbar{display:none!important;}
.mural-public-6138{position:relative;isolation:isolate;}
.mural-public-6138 .mural-6138__subtitle{max-width:28rem;margin-inline:auto;}
.mural-carousel-6137 .mural-610__grid{padding-top:.15rem!important;}
.mural-memory-6137__photo-wrap{width:min(86%,206px)!important;}
.mural-memory-6137 .mural-memory-6137__photo{box-sizing:border-box!important;aspect-ratio:1/1!important;padding:0!important;border:.42rem solid #fff!important;border-bottom-width:.42rem!important;border-radius:.2rem!important;background:#fff!important;overflow:hidden!important;}
.mural-memory-6137 .mural-memory-6137__photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.story-public-6137__photo,.story-public-6137__moment:nth-child(even) .story-public-6137__photo{box-sizing:border-box!important;padding:0!important;border:.38rem solid #fff!important;border-bottom-width:.38rem!important;border-radius:.2rem!important;background:#fff!important;overflow:hidden!important;box-shadow:0 .58rem 1.15rem rgba(22,16,24,.14)!important;}
.story-public-6137__photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
.mural-6138__cta{display:flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;width:max-content!important;max-width:calc(100% - 2rem)!important;min-height:46px!important;padding:0 1.15rem!important;margin:.32rem auto 0!important;border-radius:999px!important;font-size:.92rem!important;letter-spacing:.015em!important;text-transform:none!important;box-shadow:0 .55rem 1.35rem rgba(66,50,18,.12)!important;animation:muralCtaFloat6141 3.2s ease-in-out infinite;}
.mural-6138__cta span{text-wrap:balance;}
@keyframes muralCtaFloat6141{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.mural-6138__cta{animation:none!important;}}
body>.mural-modal-6140 .mural-modal-6140__close{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border:1px solid #d8ccbc!important;border-radius:999px!important;background:#fffdf8!important;color:#54493e!important;box-shadow:0 4px 14px rgba(0,0,0,.06)!important;z-index:3!important;}
body>.mural-modal-6140 .mural-modal-6140__close>span{display:block!important;color:currentColor!important;font:500 27px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;transform:translateY(-1px)!important;}
body>.mural-modal-6140 .mural-modal-6140__identity>span{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:14px!important;background:#efe4d0!important;color:#7a6136!important;font-size:17px!important;flex:0 0 auto!important;}
body>.mural-modal-6140 .mural-photo-6140__head small{margin-left:.1rem!important;}
body>.mural-modal-6140 .mural-sent-6140{padding-top:26px!important;}
body>.mural-modal-6140 .mural-sent-615__preview .mural-pending-6138{margin-top:.6rem!important;}

/* 6.1.45 — desempenho do compositor do Mural no iPhone.
   O Safari ficava redesenhando blur, animações e o convite inteiro enquanto
   o teclado estava aberto. O modal agora usa camada opaca simples e congela
   os efeitos que estão atrás dele. */
body>.mural-modal-6140 .mural-modal-6140__backdrop{
  background:rgba(12,14,19,.78)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body>.mural-modal-6140 .mural-modal-6140__header{
  background:#fbf7ef!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body>.mural-modal-6140 .mural-modal-6140__dialog{
  contain:layout paint style!important;
}
body.has-mural-modal-open :is(.convite,.pagina-convite) *,
html.has-mural-modal-open body :is(.convite,.pagina-convite) *{
  animation-play-state:paused!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.has-mural-modal-open :is(.rsvp-floating-cta,#botao-musica,.musica,.retorno-editor,.preview-publish-banner-4067,.preview-edit-hint-610){
  animation:none!important;
  transition:none!important;
}
@media(max-width:640px){
  body>.mural-modal-6140 .mural-modal-6140__dialog{box-shadow:0 18px 44px rgba(0,0,0,.28)!important;}
}

/* 6.1.46 — vitrine Maria Luiza: troca de tema dentro do convite, sem login. */
.demo-theme-nav-6146{
  position:fixed;z-index:92;left:50%;bottom:max(4.65rem,calc(env(safe-area-inset-bottom) + 4.1rem));
  transform:translateX(-50%);display:grid;grid-template-columns:auto minmax(105px,1fr) auto;align-items:center;gap:.35rem;
  width:min(92vw,520px);padding:.34rem;border:1px solid rgba(98,79,65,.18);border-radius:999px;
  background:rgba(255,252,247,.94);box-shadow:0 .75rem 2rem rgba(28,21,17,.18);backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);font-family:system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
.demo-theme-nav-6146>a{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:38px;padding:0 .72rem;border-radius:999px;background:#fff;color:#4e4037;text-decoration:none!important;font-size:.69rem;font-weight:800;white-space:nowrap}
.demo-theme-nav-6146>a>span{font-size:1.15rem;line-height:1}.demo-theme-nav-6146__current{display:grid;min-width:0;text-align:center;line-height:1.05}
.demo-theme-nav-6146__current small{color:#8a7769;font-size:.52rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.demo-theme-nav-6146__current strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#352d28;font-size:.65rem}
@media(max-width:430px){
  .demo-theme-nav-6146{grid-template-columns:1fr auto 1fr;width:calc(100% - 1rem);bottom:max(4.45rem,calc(env(safe-area-inset-bottom) + 3.9rem))}
  .demo-theme-nav-6146>a{padding:0 .5rem;font-size:.62rem}.demo-theme-nav-6146__current{min-width:70px}.demo-theme-nav-6146__current strong{display:none}
}
@media(prefers-reduced-transparency:reduce){.demo-theme-nav-6146{backdrop-filter:none;-webkit-backdrop-filter:none;background:#fffaf3}}

/* 6.1.86: ícone salvo também na sanfona, sem alterar a ação do item. */
.acordeao__icone-6186{display:inline-flex;vertical-align:middle;margin-right:.5rem;width:1.2em;height:1.2em}.acordeao__icone-6186 svg{width:100%;height:100%}

/* 6.1.91 — Presentes respeita os ícones do mesmo conteúdo salvo pela cliente. */
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item{
  display:grid!important;
  grid-template-columns:2.65rem minmax(0,1fr)!important;
  align-items:center!important;
  gap:.7rem!important;
  text-align:left!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item .item__icone{
  display:grid!important;
  place-items:center!important;
  width:2.65rem!important;
  height:2.65rem!important;
  margin:0!important;
  border-radius:50%!important;
  color:var(--c-primary)!important;
  background:color-mix(in srgb,var(--c-primary) 10%,transparent)!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item .item__icone svg{
  width:1.45rem!important;
  height:1.45rem!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item .item__conteudo{
  min-width:0!important;
  width:100%!important;
}
.lista-preset--presentes .item--gift-odd-last-4517{justify-self:center!important;}
@media(max-width:620px){
  .lista-preset--presentes :is(.itens--grade,.itens--lista)>.item{
    grid-template-columns:2.45rem minmax(0,1fr)!important;
    gap:.62rem!important;
  }
  .lista-preset--presentes :is(.itens--grade,.itens--lista)>.item .item__icone{
    width:2.45rem!important;height:2.45rem!important;
  }
}

/* 6.1.95 — Ícones flat da programação; cor segue o tema sem trocar o desenho. */
.party-public-6136__icon .party-library-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:20px;line-height:1;color:currentColor}

/* 6.1.101 — ícones coerentes com o tema + círculos realmente circulares. */
:where(
  .lista-preset--regras .item__icone,
  .compromisso__comodidade .item__icone,
  .party-public-6136__icon
){
  box-sizing:border-box!important;
  aspect-ratio:1/1!important;
  flex:none!important;
  flex-shrink:0!important;
  align-self:center!important;
  justify-self:center!important;
  place-items:center!important;
  line-height:1!important;
  transform:none!important;
  color:var(--c-primary,currentColor)!important;
}
.lista-preset--regras .item__icone{
  width:2.55rem!important;height:2.55rem!important;
  min-width:2.55rem!important;min-height:2.55rem!important;
  max-width:2.55rem!important;max-height:2.55rem!important;
  flex-basis:2.55rem!important;border-radius:50%!important;
  border-color:color-mix(in srgb,var(--c-primary,currentColor) 52%,transparent)!important;
  background:color-mix(in srgb,var(--c-primary,currentColor) 7%,var(--c-surface,#fff))!important;
}
.compromisso__comodidade .item__icone{
  width:2.15rem!important;height:2.15rem!important;
  min-width:2.15rem!important;min-height:2.15rem!important;
  max-width:2.15rem!important;max-height:2.15rem!important;
  flex-basis:2.15rem!important;border-radius:50%!important;
  border-color:color-mix(in srgb,var(--c-primary,currentColor) 46%,transparent)!important;
  background:color-mix(in srgb,var(--c-primary,currentColor) 6%,var(--c-surface,#fff))!important;
}
.party-public-6136__icon{
  width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
  max-width:42px!important;max-height:42px!important;border-radius:50%!important;
  border-color:color-mix(in srgb,var(--c-primary,currentColor) 50%,transparent)!important;
  background:color-mix(in srgb,var(--c-surface,#fff) 91%,var(--c-primary,currentColor) 9%)!important;
}
:where(.item__icone,.party-public-6136__icon,.compromisso__comodidade-icone) :is(.mdi-sg,.system-library-icon,.party-library-icon,svg,i){
  color:currentColor!important;
}
:where(.system-library-icon,.party-library-icon).mdi-sg{color:currentColor!important}
@media(max-width:620px){
  .lista-preset--regras .item__icone{
    width:2rem!important;height:2rem!important;min-width:2rem!important;min-height:2rem!important;
    max-width:2rem!important;max-height:2rem!important;flex-basis:2rem!important;
  }
  .party-public-6136__icon{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;
  }
}



/* 6.1.103 — círculos realmente circulares e ícones na cor definida pelo tema. */
:where(.lista-preset--regras .item__icone,.lista-preset--faq .item__icone,.compromisso__comodidade .item__icone,.party-public-6136__icon){color:var(--theme-icon-color,var(--c-primary,var(--c-metal,currentColor)))!important;box-sizing:border-box!important;aspect-ratio:1/1!important;flex:none!important;flex-shrink:0!important;align-self:center!important;justify-self:center!important;line-height:1!important}
:where(.lista-preset--regras .item__icone,.lista-preset--faq .item__icone){inline-size:2.55rem!important;block-size:2.55rem!important;min-inline-size:2.55rem!important;min-block-size:2.55rem!important;max-inline-size:2.55rem!important;max-block-size:2.55rem!important;border-radius:999px!important}
.compromisso__comodidade .item__icone{inline-size:2.15rem!important;block-size:2.15rem!important;min-inline-size:2.15rem!important;min-block-size:2.15rem!important;max-inline-size:2.15rem!important;max-block-size:2.15rem!important;border-radius:999px!important}
.party-public-6136__icon{inline-size:42px!important;block-size:42px!important;min-inline-size:42px!important;min-block-size:42px!important;max-inline-size:42px!important;max-block-size:42px!important;border-radius:999px!important}
:where(.item__icone,.party-public-6136__icon,.compromisso__comodidade-icone) :is(.mdi-sg,.system-library-icon,.party-library-icon,svg,i){color:currentColor!important;fill:currentColor!important}
@media(max-width:620px){:where(.lista-preset--regras .item__icone,.lista-preset--faq .item__icone){inline-size:2rem!important;block-size:2rem!important;min-inline-size:2rem!important;min-block-size:2rem!important;max-inline-size:2rem!important;max-block-size:2rem!important}.party-public-6136__icon{inline-size:38px!important;block-size:38px!important;min-inline-size:38px!important;min-block-size:38px!important;max-inline-size:38px!important;max-block-size:38px!important}}

/* 6.1.106 — linhas incompletas ficam centralizadas em qualquer largura. */
.lista-preset--presentes :is(.itens--grade,.itens--lista).presentes-grade-4517{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:stretch!important;
  gap:.68rem!important;
}
.lista-preset--presentes .presentes-dados-titulo-4517{
  flex:0 0 100%!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item--pix-highlight{
  flex:0 0 100%!important;
  width:100%!important;
  max-width:100%!important;
}
.lista-preset--presentes :is(.itens--grade,.itens--lista)>.item:not(.item--pix-highlight){
  flex:0 1 calc((100% - 1.36rem)/3)!important;
  width:calc((100% - 1.36rem)/3)!important;
  max-width:calc((100% - 1.36rem)/3)!important;
}
.lista-preset--regras :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd),
.lista-preset--traje :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){
  grid-column:1/-1!important;
  justify-self:center!important;
  width:calc(50% - .35rem)!important;
}
@media(min-width:521px) and (max-width:760px){
  .lista-preset--presentes :is(.itens--grade,.itens--lista)>.item:not(.item--pix-highlight){
    flex-basis:calc((100% - .68rem)/2)!important;
    width:calc((100% - .68rem)/2)!important;
    max-width:calc((100% - .68rem)/2)!important;
  }
}
@media(max-width:520px){
  .lista-preset--presentes :is(.itens--grade,.itens--lista)>.item:not(.item--pix-highlight){
    flex-basis:100%!important;
    width:100%!important;
    max-width:100%!important;
  }
  .lista-preset--traje :is(.itens--grade,.itens--lista)>.item:last-child:nth-child(odd){width:100%!important}
}


/* 6.1.107 — navegação explícita apenas no desktop para História e Mural. */
.cd-carousel-6137__desktop-nav{display:none}
@media (min-width:1024px) and (hover:hover) and (pointer:fine){
  .story-carousel-6137,.mural-carousel-6137{position:relative;overflow:visible}
  .cd-carousel-6137__desktop-nav{
    position:absolute;
    inset:0;
    z-index:14;
    display:block;
    pointer-events:none;
  }
  .cd-carousel-6137__desktop-nav button{
    position:absolute;
    top:50%;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
    aspect-ratio:1/1;
    padding:0;
    border:1px solid color-mix(in srgb,var(--c-primary,currentColor) 54%,transparent);
    border-radius:50%;
    background:color-mix(in srgb,var(--c-surface,#fff) 92%,transparent);
    color:var(--c-primary,currentColor);
    box-shadow:0 .35rem 1rem rgba(18,15,19,.13);
    backdrop-filter:blur(6px);
    transform:translateY(-50%);
    cursor:pointer;
    pointer-events:auto;
    transition:transform .14s ease,opacity .14s ease,background .14s ease,box-shadow .14s ease;
  }
  .cd-carousel-6137__desktop-nav button:first-child{left:-54px}
  .cd-carousel-6137__desktop-nav button:last-child{right:-54px}
  .cd-carousel-6137__desktop-nav button:hover:not(:disabled){
    background:color-mix(in srgb,var(--c-primary,currentColor) 10%,var(--c-surface,#fff));
    box-shadow:0 .45rem 1.15rem rgba(18,15,19,.18);
  }
  .cd-carousel-6137__desktop-nav button:active:not(:disabled){transform:translateY(-50%) scale(.94)}
  .cd-carousel-6137__desktop-nav button:disabled{opacity:.22;cursor:default;box-shadow:none}
  .cd-carousel-6137__desktop-nav button:focus-visible{outline:2px solid var(--c-primary,currentColor);outline-offset:3px}
  .cd-carousel-6137__desktop-nav button i{font-size:.86rem;line-height:1}
}

/* 6.1.112 — fidelidade do Estúdio: o valor salvo pelo tema volta a ser a autoridade. */
html.sagaro-public-invite body .pagina-convite .nome-debutante,
html.sagaro-public-invite body .pagina-convite .nome-debutante[data-nome-longo="1"],
html.sagaro-public-invite body .pagina-convite .nome-debutante[data-nome-muito-longo="1"]{
  font-family:var(--sagaro-choice-font-name,var(--font-name))!important;
  font-size:var(--sagaro-choice-name-size,var(--name-size))!important;
  font-style:normal!important;
  font-weight:var(--sagaro-choice-name-weight,var(--name-weight,400))!important;
  line-height:var(--sagaro-choice-name-line-height,var(--name-line-height,.98))!important;
  letter-spacing:var(--sagaro-choice-name-tracking,var(--name-tracking,.01em))!important;
}
html.sagaro-public-invite body .pagina-convite .nome-debutante[data-nome-longo="1"]{
  font-size:min(var(--sagaro-choice-name-size,var(--name-size)),clamp(2.3rem,9.25vw,4.15rem))!important;
}
html.sagaro-public-invite body .pagina-convite .nome-debutante[data-nome-muito-longo="1"]{
  font-size:min(var(--sagaro-choice-name-size,var(--name-size)),clamp(1.95rem,7.6vw,3.45rem))!important;
}
html.sagaro-public-invite.sagaro-engine-album body .pagina-convite .nome-debutante{
  font-size:min(var(--sagaro-choice-name-size,var(--name-size)),clamp(2.3rem,8.8vw,3.35rem))!important;
}
html.sagaro-public-invite body .pagina-convite .titulo-secao,
html.sagaro-public-invite body .pagina-convite #confirmar .titulo-secao{
  font-family:var(--sagaro-choice-font-title,var(--font-title))!important;
  font-size:var(--sagaro-choice-title-size,var(--title-size))!important;
  font-weight:var(--sagaro-choice-title-weight,var(--title-weight,400))!important;
  line-height:var(--sagaro-choice-title-line-height,var(--title-line-height,1.15))!important;
  letter-spacing:var(--sagaro-choice-title-tracking,var(--title-tracking,.1em))!important;
  text-transform:var(--title-transform,none)!important;
}
html.sagaro-public-invite body .pagina-convite :is(.texto,.item__texto,.evento__texto,.evento__nota,.local-card__endereco){
  font-family:var(--sagaro-choice-font-body,var(--font-body))!important;
  font-size:var(--sagaro-choice-body-size,var(--body-size))!important;
  font-weight:var(--sagaro-choice-body-weight,var(--body-weight,400))!important;
  line-height:var(--sagaro-choice-body-line-height,var(--body-line-height,1.65))!important;
  letter-spacing:var(--sagaro-choice-body-tracking,var(--body-tracking,0em))!important;
}
html.sagaro-public-invite body .pagina-convite .capa__frase{
  font-family:var(--sagaro-choice-font-cover-phrase,var(--sagaro-choice-font-title,var(--font-title)))!important;
  font-size:var(--sagaro-choice-cover-phrase-size,var(--cover-phrase-size,var(--title-size)))!important;
}
html.sagaro-public-invite body .pagina-convite :is(.capa__olho,.capa__data,.capa__hora){
  font-family:var(--sagaro-choice-font-cover-meta,var(--sagaro-choice-font-body,var(--font-body)))!important;
  font-size:var(--sagaro-choice-cover-meta-size,var(--cover-meta-size,var(--body-size)))!important;
}
html.sagaro-public-invite body .pagina-convite .subtitulo{
  font-family:var(--sagaro-choice-font-subtitle,var(--sagaro-choice-font-title,var(--font-title)))!important;
  font-size:var(--sagaro-choice-subtitle-size,var(--subtitle-size,var(--body-size)))!important;
}
html.sagaro-public-invite body .pagina-convite :is(.contagem__numero,.contagem__realizada){
  font-family:var(--sagaro-choice-font-countdown,var(--sagaro-choice-font-title,var(--font-title)))!important;
  font-size:var(--sagaro-choice-countdown-size,var(--countdown-size,var(--title-size)))!important;
}
html.sagaro-public-invite body .pagina-convite :is(.compromisso__hora,.compromisso__nome){
  font-family:var(--sagaro-choice-font-schedule,var(--sagaro-choice-font-title,var(--font-title)))!important;
  font-size:var(--sagaro-choice-schedule-size,var(--schedule-size,var(--body-size)))!important;
}
html.sagaro-public-invite body .pagina-convite :is(.item__titulo,.evento__nome,.local-card__nome,.acordeao>summary,.rsvp-identificacao h3,.rsvp-membro strong){
  font-family:var(--sagaro-choice-font-item,var(--sagaro-choice-font-title,var(--font-title)))!important;
  font-size:var(--sagaro-choice-item-size,var(--item-size,var(--body-size)))!important;
}
html.sagaro-public-invite body .pagina-convite :is(.botao,button):not(.rsvp-floating-cta){
  font-family:var(--sagaro-choice-font-button,var(--sagaro-choice-font-body,var(--font-body)))!important;
  font-size:var(--sagaro-choice-button-size,var(--button-size,var(--body-size)))!important;
  font-weight:var(--sagaro-choice-button-weight,var(--button-weight,500))!important;
  letter-spacing:var(--sagaro-choice-button-tracking,var(--button-tracking,.12em))!important;
  text-transform:var(--button-transform,uppercase)!important;
}
html.sagaro-public-invite body .pagina-convite :is(.rsvp__intro,.rsvp-identificacao p,.rsvp-saudacao,.rsvp-membro,.rsvp-prazo,.campo__rotulo,.campo label,input,select,textarea){
  font-family:var(--sagaro-choice-font-body,var(--font-body))!important;
}
html.sagaro-public-invite body .pagina-convite :is(input,select,textarea){font-size:max(var(--sagaro-choice-body-size,var(--body-size)),16px)!important}
html.sagaro-public-invite body .pagina-convite .rsvp-floating-cta{font-family:var(--sagaro-choice-font-button,var(--sagaro-choice-font-body,var(--font-body)))!important}

/* O tamanho exato da cantoneira/arte escolhido no Estúdio não pode ser
   reescrito por CSS histórico do tema de origem. */
html.sagaro-public-invite body.studio-art-v2 .cantoneira{
  width:var(--sagaro-choice-corner-size,var(--corner-size,140px))!important;
  height:var(--sagaro-choice-corner-size,var(--corner-size,140px))!important;
  opacity:var(--sagaro-choice-corner-opacity,var(--corner-opacity,.55))!important;
}
html.sagaro-public-invite body.studio-art-v2 .cantoneira--tl{top:var(--sagaro-choice-corner-inset-y,var(--corner-inset-y,10px))!important;left:var(--sagaro-choice-corner-inset-x,var(--corner-inset-x,10px))!important}
html.sagaro-public-invite body.studio-art-v2 .cantoneira--tr{top:var(--sagaro-choice-corner-inset-y,var(--corner-inset-y,10px))!important;right:var(--sagaro-choice-corner-inset-x,var(--corner-inset-x,10px))!important}
html.sagaro-public-invite body.studio-art-v2 .cantoneira--bl{bottom:var(--sagaro-choice-corner-inset-y,var(--corner-inset-y,10px))!important;left:var(--sagaro-choice-corner-inset-x,var(--corner-inset-x,10px))!important}
html.sagaro-public-invite body.studio-art-v2 .cantoneira--br{bottom:var(--sagaro-choice-corner-inset-y,var(--corner-inset-y,10px))!important;right:var(--sagaro-choice-corner-inset-x,var(--corner-inset-x,10px))!important}
html.sagaro-public-invite body.studio-art-v2:is(.art-cover-ornament,.art-cover-both) .capa::before{
  width:min(92vw,var(--sagaro-choice-art-cover-width,var(--art-cover-width,560px)))!important;
  opacity:var(--sagaro-choice-art-cover-opacity,var(--art-cover-opacity,1))!important;
}
html.sagaro-public-invite body.studio-art-v2.art-section-ornament .secao__interno::before{
  width:min(88vw,var(--sagaro-choice-art-section-width,var(--art-section-width,480px)))!important;
  opacity:var(--sagaro-choice-art-section-opacity,var(--art-section-opacity,.92))!important;
}
html.sagaro-public-invite body.studio-art-v2.art-footer-on .rodape::before{
  width:min(82vw,var(--sagaro-choice-art-footer-width,var(--art-footer-width,420px)))!important;
  opacity:var(--sagaro-choice-art-footer-opacity,var(--art-footer-opacity,.92))!important;
}
html.sagaro-public-invite body.studio-art-v2:is(.art-accent-cover,.art-accent-both) .capa__olho::before,
html.sagaro-public-invite body.studio-art-v2:is(.art-accent-sections,.art-accent-both) .titulo-secao::before{
  width:var(--sagaro-choice-art-accent-width,var(--art-accent-width,44px))!important;
  height:var(--sagaro-choice-art-accent-width,var(--art-accent-width,44px))!important;
  opacity:var(--sagaro-choice-art-accent-opacity,var(--art-accent-opacity,1))!important;
}
@media(max-width:640px){
  html.sagaro-public-invite body.studio-art-v2 .cantoneira{
    width:calc(var(--sagaro-choice-corner-size,var(--corner-size,140px)) * var(--sagaro-choice-corner-mobile-scale,var(--corner-mobile-scale,.62)))!important;
    height:calc(var(--sagaro-choice-corner-size,var(--corner-size,140px)) * var(--sagaro-choice-corner-mobile-scale,var(--corner-mobile-scale,.62)))!important;
  }
  html.sagaro-public-invite body.studio-art-v2:is(.art-cover-ornament,.art-cover-both) .capa::before{
    width:var(--sagaro-choice-art-cover-mobile-width,var(--art-cover-mobile-width,280px))!important;
    max-width:none!important;
    transform:translateX(-50%)!important;
  }
  html.sagaro-public-invite body.studio-art-v2.art-section-ornament .secao__interno::before{
    width:min(calc(100vw - 1rem),var(--sagaro-choice-art-section-mobile-width,var(--art-section-mobile-width,295px)))!important;
    transform:translate(var(--sagaro-choice-art-section-x,var(--art-section-x,0px)),var(--sagaro-choice-art-section-y,var(--art-section-y,0px)))!important;
  }
  html.sagaro-public-invite body.studio-art-v2.art-footer-on .rodape::before{
    width:min(calc(100vw - 1rem),var(--sagaro-choice-art-footer-mobile-width,var(--art-footer-mobile-width,310px)))!important;
    transform:translate(var(--sagaro-choice-art-footer-x,var(--art-footer-x,0px)),var(--sagaro-choice-art-footer-y,var(--art-footer-y,0px)))!important;
  }
  html.sagaro-public-invite body.studio-art-v2:is(.art-accent-cover,.art-accent-both) .capa__olho::before,
  html.sagaro-public-invite body.studio-art-v2:is(.art-accent-sections,.art-accent-both) .titulo-secao::before{
    width:var(--sagaro-choice-art-accent-mobile-width,var(--art-accent-mobile-width,40px))!important;
    height:var(--sagaro-choice-art-accent-mobile-width,var(--art-accent-mobile-width,40px))!important;
    transform:translate(var(--sagaro-choice-art-accent-x,var(--art-accent-x,0px)),var(--sagaro-choice-art-accent-y,var(--art-accent-y,0px)))!important;
  }
}
/* 6.1.112 — posição salva também prevalece sobre heranças do tema de origem. */
html.sagaro-public-invite body.studio-art-v2:is(.art-cover-ornament,.art-cover-both) .capa::before{
  left:calc(50% + var(--sagaro-choice-art-cover-x,var(--art-cover-x,0px)))!important;
  top:calc(clamp(.4rem,2vw,1.2rem) + var(--sagaro-choice-art-cover-y,var(--art-cover-y,0px)))!important;
}
html.sagaro-public-invite body.studio-art-v2.art-section-ornament .secao__interno::before{
  transform:translate(var(--sagaro-choice-art-section-x,var(--art-section-x,0px)),var(--sagaro-choice-art-section-y,var(--art-section-y,0px)))!important;
}
html.sagaro-public-invite body.studio-art-v2.art-footer-on .rodape::before{
  transform:translate(var(--sagaro-choice-art-footer-x,var(--art-footer-x,0px)),var(--sagaro-choice-art-footer-y,var(--art-footer-y,0px)))!important;
}
html.sagaro-public-invite body.studio-art-v2:is(.art-accent-cover,.art-accent-both) .capa__olho::before,
html.sagaro-public-invite body.studio-art-v2:is(.art-accent-sections,.art-accent-both) .titulo-secao::before{
  transform:translate(var(--sagaro-choice-art-accent-x,var(--art-accent-x,0px)),var(--sagaro-choice-art-accent-y,var(--art-accent-y,0px)))!important;
}

/* 6.1.134 — tipografia livre do Estúdio Clássico.
   Quando typography-version >= 3, cada papel visual pode ter família e corpo
   próprios. Estas regras ficam por último para que nenhum tema histórico
   sobrescreva a escolha explícita do Admin. */
html.sagaro-public-invite body.tipografia-livre .pagina-convite .nome-debutante,
html.sagaro-public-invite body.tipografia-livre .pagina-convite .nome-debutante[data-nome-longo="1"],
html.sagaro-public-invite body.tipografia-livre .pagina-convite .nome-debutante[data-nome-muito-longo="1"]{
  font-family:var(--sagaro-choice-font-name,var(--font-name))!important;
  font-size:var(--sagaro-choice-name-size,var(--name-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite .capa__convidado{
  font-family:var(--sagaro-choice-font-guest,var(--font-body))!important;
  font-size:var(--sagaro-choice-guest-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite .capa__olho{
  font-family:var(--sagaro-choice-font-cover-eyebrow,var(--font-body))!important;
  font-size:var(--sagaro-choice-cover-eyebrow-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite .capa__frase{
  font-family:var(--sagaro-choice-font-cover-phrase,var(--font-title))!important;
  font-size:var(--sagaro-choice-cover-phrase-size,var(--title-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.capa__data,.capa__hora){
  font-family:var(--sagaro-choice-font-cover-meta,var(--font-body))!important;
  font-size:var(--sagaro-choice-cover-meta-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite .titulo-secao{
  font-family:var(--sagaro-choice-font-title,var(--font-title))!important;
  font-size:var(--sagaro-choice-title-size,var(--title-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite .subtitulo{
  font-family:var(--sagaro-choice-font-subtitle,var(--font-title))!important;
  font-size:var(--sagaro-choice-subtitle-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.texto,.evento__texto,.evento__nota){
  font-family:var(--sagaro-choice-font-body,var(--font-body))!important;
  font-size:var(--sagaro-choice-body-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.evento-data-card__data,.evento-data-card__hora){
  font-family:var(--sagaro-choice-font-event-date,var(--font-title))!important;
  font-size:var(--sagaro-choice-event-date-size,var(--title-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.contagem__numero,.contagem__realizada){
  font-family:var(--sagaro-choice-font-countdown,var(--font-title))!important;
  font-size:var(--sagaro-choice-countdown-size,var(--title-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite .contagem__rotulo{
  font-family:var(--sagaro-choice-font-countdown-label,var(--font-body))!important;
  font-size:var(--sagaro-choice-countdown-label-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.compromisso__hora,.party-public-6136__line){
  font-family:var(--sagaro-choice-font-schedule-time,var(--sagaro-choice-font-schedule,var(--font-title)))!important;
  font-size:var(--sagaro-choice-schedule-time-size,var(--schedule-size,var(--body-size)))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.compromisso__nome,.party-public-6136__copy){
  font-family:var(--sagaro-choice-font-schedule-name,var(--sagaro-choice-font-schedule,var(--font-title)))!important;
  font-size:var(--sagaro-choice-schedule-name-size,var(--schedule-size,var(--body-size)))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.local-card__endereco,.local-card__nota,.compromisso__endereco,.compromisso__nota,.event-address-complement-6159,.compromisso__local){
  font-family:var(--sagaro-choice-font-address,var(--font-body))!important;
  font-size:var(--sagaro-choice-address-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.item__titulo,.evento__nome,.local-card__nome,.acordeao>summary){
  font-family:var(--sagaro-choice-font-item,var(--font-title))!important;
  font-size:var(--sagaro-choice-item-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.item__texto,.acordeao__corpo){
  font-family:var(--sagaro-choice-font-item-text,var(--font-body))!important;
  font-size:var(--sagaro-choice-item-text-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.botao,button):not(.rsvp-floating-cta){
  font-family:var(--sagaro-choice-font-button,var(--font-body))!important;
  font-size:var(--sagaro-choice-button-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.rsvp__intro,.rsvp-identificacao p,.rsvp-identificacao h3,.rsvp-saudacao,.rsvp-membro,.rsvp-membro strong,.rsvp-prazo,.campo__rotulo,.campo label,.rsvp-message-help,.rsvp-guest-policy-ack){
  font-family:var(--sagaro-choice-font-rsvp,var(--font-body))!important;
  font-size:var(--sagaro-choice-rsvp-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.mural-6138__subtitle,.mural-memory-6136__note,.mural-memory-6137__note,.mural-postit-6137__ink,.mural-memory-6136__photo-author,.mural-memory-6137__photo-author,.mural-610__empty){
  font-family:var(--sagaro-choice-font-mural,var(--font-body))!important;
  font-size:var(--sagaro-choice-mural-size,var(--body-size))!important;
}
/* Inputs mantêm no mínimo 16px para evitar zoom automático no iPhone. */
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(input,select,textarea){
  font-family:var(--sagaro-choice-font-rsvp,var(--font-body))!important;
  font-size:max(var(--sagaro-choice-rsvp-size,var(--body-size)),16px)!important;
}
/* 6.1.134 — papéis adicionais da linha do tempo e local. */
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.story-public-6136__when,.story-public-6137__when){
  font-family:var(--sagaro-choice-font-story-date,var(--font-body))!important;
  font-size:var(--sagaro-choice-story-date-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.story-public-6136__copy,.story-public-6137__copy) h3{
  font-family:var(--sagaro-choice-font-story-title,var(--font-title))!important;
  font-size:var(--sagaro-choice-story-title-size,var(--title-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.story-public-6136__copy,.story-public-6137__copy) p{
  font-family:var(--sagaro-choice-font-story-text,var(--font-body))!important;
  font-size:var(--sagaro-choice-story-text-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite .assinatura{
  font-family:var(--sagaro-choice-font-signature,var(--font-name))!important;
  font-size:var(--sagaro-choice-signature-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.local-card__nome,.compromisso__local){
  font-family:var(--sagaro-choice-font-location-name,var(--font-title))!important;
  font-size:var(--sagaro-choice-location-name-size,var(--title-size))!important;
}
/* 6.1.134 — cobertura final dos textos auxiliares do convite clássico. */
html.sagaro-public-invite body.tipografia-livre .pagina-convite .capa__seta,
html.sagaro-public-invite body.tipografia-livre .pagina-convite .capa__seta span{
  font-family:var(--sagaro-choice-font-cover-meta,var(--font-body))!important;
  font-size:var(--sagaro-choice-cover-meta-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite .party-public-6136__copy :is(h3,p){
  font-family:var(--sagaro-choice-font-schedule-name,var(--sagaro-choice-font-schedule,var(--font-title)))!important;
  font-size:var(--sagaro-choice-schedule-name-size,var(--schedule-size,var(--body-size)))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.endereco-oculto,.local-card__comodidades,.local-card__comodidades p,.local-card__comodidades strong,.local-card__comodidades span,.local-card__chegada,.compromisso__copiar-feedback){
  font-family:var(--sagaro-choice-font-address,var(--font-body))!important;
  font-size:var(--sagaro-choice-address-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.rsvp__resposta,.rsvp__resposta p,.campo__erro,.rsvp-respostas-lista,.escolhas,.escolha){
  font-family:var(--sagaro-choice-font-rsvp,var(--font-body))!important;
  font-size:var(--sagaro-choice-rsvp-size,var(--body-size))!important;
}
html.sagaro-public-invite body.tipografia-livre .pagina-convite :is(.rodape,.rodape__marca,.rodape__ano,.rodape__administrar){
  font-family:var(--sagaro-choice-font-body,var(--font-body))!important;
  font-size:var(--sagaro-choice-body-size,var(--body-size))!important;
}
