/* Agenda Natal & Réveillon — vinho + dourado, molduras em arco. Páginas 9:16 em cqw. */
:root {
  --vinho: #5A0B16; --vinho-esc: #2E040A; --verm: #9E1626;
  --ouro: #C9A24B; --ouro-cl: #F3DC9A; --creme: #FBF5EA; --tinta: #2A1A16; --suave: #6E5A52;
  --foil: linear-gradient(100deg, #9C7426 0%, #F6E3A1 28%, #C9A24B 50%, #FFF1BE 70%, #A57C2C 100%);
  --sc: "Playfair Display SC", Georgia, serif; --serif: "Instrument Serif", Georgia, serif;
  --script: "Pinyon Script", cursive; --txt: Montserrat, system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: #1E0307; font-family: var(--txt); color: var(--tinta); }
h1, h2, p, ul, ol, figure { margin: 0; padding: 0; }
#paginas { max-width: 480px; margin: 0 auto; padding: 10px 8px 90px; display: flex; flex-direction: column; gap: 12px; }
.pg { position: relative; aspect-ratio: 9/16; overflow: hidden; border-radius: 14px; container-type: inline-size; font-size: 3.4cqw; line-height: 1.45; box-shadow: 0 14px 34px -14px rgba(0,0,0,.7); }
.pg > * { position: absolute; z-index: 1; }
.fundo, .veu, .moldura { inset: 0; z-index: 0 !important; background-size: cover; background-position: center; }
.veu { background: radial-gradient(90% 60% at 50% 40%, rgba(46,4,10,.15), rgba(46,4,10,.6)); }
.veu--forte { background: linear-gradient(180deg, rgba(46,4,10,.55), rgba(46,4,10,.8)); }
.contador { top: 3cqw; left: 3cqw; z-index: 9 !important; font-size: 2.5cqw; font-weight: 600; color: var(--vinho); background: rgba(255,240,200,.9); padding: .5cqw 2cqw; border-radius: 99px; }
.script { font-family: var(--script); font-weight: 400; }
.ouro, .titulo--ouro, .ouro-sc, .fim__t b { background: var(--foil); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ic { width: 5.4cqw; height: 5.4cqw; flex: none; }
.marca { left: 0; right: 0; bottom: 6cqw; text-align: center; font-family: var(--sc); font-size: 3cqw; letter-spacing: .2em; color: var(--ouro); }
.marca i { font-style: normal; opacity: .6; }
.kicker { left: 0; right: 0; text-align: center; font-family: var(--script); font-size: 7cqw; color: var(--verm); line-height: 1; }
.kicker--ouro { color: var(--ouro-cl); }
.titulo { left: 0; right: 0; text-align: center; font-family: var(--sc); font-weight: 700; font-size: 9.4cqw; line-height: 1; letter-spacing: .04em; text-transform: uppercase; color: var(--vinho); white-space: nowrap; }
.titulo span { font-weight: 400; }
.estrela { width: 13cqw; filter: drop-shadow(0 1cqw 1.5cqw rgba(0,0,0,.5)); }
.estrela--a { left: 6cqw; top: -2cqw; } .estrela--b { right: 7cqw; top: 6cqw; width: 9cqw; } .estrela--c { right: 6cqw; top: -1cqw; width: 11cqw; }
.bolas { filter: drop-shadow(0 1.5cqw 2cqw rgba(0,0,0,.5)); }

/* Arco (moldura dourada em arco com a foto) */
.arco { overflow: hidden; border-radius: 50cqw 50cqw 3cqw 3cqw; border: 1.1cqw solid transparent; background: var(--foil) border-box; box-shadow: 0 0 0 .5cqw rgba(243,220,154,.25), 0 3cqw 6cqw -2cqw rgba(0,0,0,.7); }
.arco img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 49cqw 49cqw 2cqw 2cqw; }

/* 1 Capa */
.capa__topo { top: 9cqw; left: 0; right: 0; text-align: center; font-family: var(--sc); font-size: 3.2cqw; letter-spacing: .32em; color: var(--ouro-cl); }
.capa__topo span { font-family: var(--script); letter-spacing: 0; font-size: 4.6cqw; }
.capa__titulo { top: 14cqw; left: 0; right: 0; text-align: center; font-weight: 400; }
.capa__titulo span { display: block; font-size: 30cqw; line-height: 1; padding: 0 3cqw; }
.capa__titulo b { display: block; margin-top: -7cqw; font-family: var(--sc); font-size: 9cqw; letter-spacing: .3em; padding-left: .3em; white-space: nowrap; }
.arco--capa { left: 17cqw; right: 17cqw; top: 66cqw; height: 92cqw; }
.arco--capa img { object-position: 45% 20%; }
.bolas--capa { left: -4cqw; right: -4cqw; width: 108cqw; bottom: 17cqw; }
.capa__rodape { left: 0; right: 0; bottom: 4cqw; text-align: center; }
.capa__rodape .marca { position: static; }
.arroba { margin-top: 1cqw; font-family: var(--serif); font-style: italic; font-size: 3.6cqw; color: var(--creme); opacity: .85; }

/* 2 Política */
.moldura { inset: 4cqw !important; border: .5cqw solid var(--ouro); border-radius: 3cqw; box-shadow: inset 0 0 0 1.4cqw var(--creme), inset 0 0 0 1.7cqw rgba(201,162,75,.6); }
.laco-topo { left: 50%; top: 1cqw; width: 22cqw; transform: translateX(-50%); filter: drop-shadow(0 1cqw 1.4cqw rgba(0,0,0,.3)); }
.pg--pol .kicker { top: 25cqw; } .pg--pol .titulo { top: 33cqw; }
.regras { top: 58cqw; left: 11cqw; right: 11cqw; list-style: none; display: flex; flex-direction: column; gap: 3.4cqw; }
.regras li { display: flex; gap: 3.4cqw; align-items: flex-start; }
.num { flex: none; width: 9cqw; font-family: var(--sc); font-weight: 700; font-size: 6cqw; line-height: 1; background: var(--foil); -webkit-background-clip: text; background-clip: text; color: transparent; border-right: .3cqw solid var(--ouro); padding-right: 2cqw; }
.regras p { font-size: 3.05cqw; line-height: 1.38; color: var(--suave); }
.regra-t { display: block; font-family: var(--sc); font-weight: 700; font-size: 3.3cqw; letter-spacing: .08em; color: var(--vinho); }
.regras p strong:not(.regra-t) { color: var(--tinta); font-weight: 600; }
.pg--pol .marca { bottom: 9cqw; color: var(--vinho); }

/* 3 Calendário */
.pg--cal .kicker { top: 12cqw; } .pg--cal .titulo { top: 20cqw; font-size: 12cqw; }
.cal-card { left: 7cqw; right: 7cqw; top: 40cqw; padding: 5cqw 4.4cqw 4cqw; border-radius: 4cqw; background: rgba(251,245,234,.97); box-shadow: 0 0 0 .5cqw var(--ouro), 0 0 0 1.4cqw rgba(201,162,75,.25), 0 4cqw 7cqw -2cqw rgba(0,0,0,.6); }
.cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: 1.6cqw .8cqw; text-align: center; }
.cs { font-family: var(--sc); font-weight: 700; font-size: 3.6cqw; color: var(--ouro); padding-bottom: 1cqw; }
.cd { display: grid; place-items: center; aspect-ratio: 1; font-size: 4cqw; font-weight: 500; color: var(--tinta); border-radius: 50%; }
.cd--f { color: #C8BBB2; text-decoration: line-through; }
.cd--d { background: var(--foil); color: var(--vinho-esc); font-weight: 700; box-shadow: 0 .6cqw 1.4cqw -.4cqw rgba(140,100,20,.8); }
.legenda { list-style: none; display: flex; justify-content: center; gap: 4cqw; margin-top: 4cqw; font-size: 2.6cqw; color: var(--suave); }
.legenda li { display: flex; align-items: center; gap: 1.2cqw; }
.lg { width: 3cqw; height: 3cqw; border-radius: 50%; border: .35cqw solid var(--tinta); } .lg--d { border: 0; background: var(--foil); } .lg--f { border-color: #C8BBB2; background: repeating-linear-gradient(45deg,#C8BBB2 0 .3cqw,transparent .3cqw .9cqw); }
.cal-aviso { left: 10cqw; right: 10cqw; top: 136cqw; text-align: center; font-size: 3.3cqw; color: var(--creme); }
.cal-aviso strong { color: var(--ouro-cl); }
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 2.2cqw; padding: 3.4cqw 6cqw; border-radius: 99px; font-weight: 600; font-size: 3.8cqw; text-decoration: none; left: 50%; transform: translateX(-50%); white-space: nowrap; }
.botao--ouro { background: var(--foil); color: var(--vinho-esc); box-shadow: 0 1.6cqw 3cqw -1cqw rgba(0,0,0,.6); }
.pg--cal .botao { bottom: 13cqw; }
.botao--linha { border: .4cqw solid var(--ouro); color: var(--ouro-cl); }
.botao--vinho { background: var(--vinho); color: var(--creme); box-shadow: 0 1.6cqw 3cqw -1cqw rgba(90,11,22,.7); }

/* 4 Como agendar */
.taca { right: -3cqw; top: 2cqw; width: 40cqw; filter: drop-shadow(0 1.6cqw 2cqw rgba(0,0,0,.25)); }
.pg--passos .kicker { top: 18cqw; left: 8cqw; right: auto; text-align: left; }
.pg--passos .titulo { top: 26cqw; left: 8cqw; right: auto; text-align: left; font-size: 12cqw; }
.passos { top: 60cqw; left: 8cqw; right: 8cqw; list-style: none; display: flex; flex-direction: column; gap: 0; }
.passos li { position: relative; display: flex; align-items: center; gap: 4cqw; padding: 2.4cqw 0; }
.passos li:not(:last-child)::after { content: ""; position: absolute; left: 4.6cqw; top: 11.6cqw; height: 4cqw; border-left: .4cqw dashed var(--ouro); }
.bola { flex: none; display: grid; place-items: center; width: 9.6cqw; height: 9.6cqw; border-radius: 50%; background: var(--vinho); color: var(--ouro-cl); font-family: var(--sc); font-weight: 700; font-size: 4.6cqw; box-shadow: 0 0 0 .5cqw var(--ouro); }
.passos p { font-size: 3.6cqw; color: var(--suave); }
.passos strong { font-family: var(--sc); color: var(--vinho); font-size: 4.2cqw; letter-spacing: .04em; }
.servicos { left: 6cqw; right: 6cqw; bottom: 7cqw; padding: 4.6cqw 4cqw; border-radius: 4cqw; background: var(--vinho); text-align: center; box-shadow: inset 0 0 0 .5cqw var(--ouro), inset 0 0 0 1.3cqw var(--vinho), inset 0 0 0 1.5cqw rgba(201,162,75,.5); }
.servicos__t { font-family: var(--script); font-size: 6.4cqw; color: var(--ouro-cl); line-height: 1; margin-bottom: 3cqw; }
.servicos ul { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 1.8cqw; }
.servicos li { padding: 1.3cqw 3cqw; border-radius: 99px; border: .3cqw solid var(--ouro); color: var(--creme); font-size: 3cqw; }

/* 5 Localização */
.bolas--topo { left: -6cqw; right: -6cqw; width: 112cqw; top: -10cqw; }
.pg--local .kicker { top: 38cqw; } .pg--local .titulo { top: 46cqw; font-size: 11cqw; }
.endereco { left: 10cqw; right: 10cqw; top: 66cqw; display: flex; align-items: center; justify-content: center; gap: 3cqw; color: var(--creme); text-decoration: none; }
.endereco .ic { width: 8cqw; height: 8cqw; color: var(--ouro); }
.endereco strong { display: block; font-family: var(--serif); font-weight: 400; font-size: 6.2cqw; line-height: 1.1; color: #fff; }
.endereco span { font-size: 3.3cqw; opacity: .85; }
.pg--local .botao--linha { top: 86cqw; }
.kicker--pag { top: 108cqw !important; }
.pag { left: 0; right: 0; top: 118cqw; display: flex; justify-content: center; gap: 3cqw; list-style: none; }
.pag li { padding: 1.6cqw 4cqw; border-radius: 99px; background: rgba(251,245,234,.1); border: .3cqw solid rgba(201,162,75,.7); color: var(--creme); font-family: var(--sc); letter-spacing: .1em; font-size: 3.2cqw; }
.redes { left: 0; right: 0; bottom: 9cqw; display: flex; flex-direction: column; align-items: center; gap: 2.6cqw; }
.redes a { display: inline-flex; align-items: center; gap: 2.2cqw; color: var(--creme); text-decoration: none; font-size: 3.8cqw; }
.redes .ic { color: var(--ouro); }

/* 6 Final */
.arco--fim { left: 22cqw; right: 22cqw; top: 9cqw; height: 74cqw; }
.arco--fim img { object-position: 50% 40%; }
.laco-arco { left: 50%; top: 2cqw; width: 20cqw; transform: translateX(-50%); filter: drop-shadow(0 1cqw 1.4cqw rgba(0,0,0,.35)); }
.fim__t { left: 0; right: 0; top: 88cqw; text-align: center; font-weight: 400; }
.fim__t span { display: block; font-size: 19cqw; line-height: 1; color: var(--verm); white-space: nowrap; }
.fim__t b { display: block; margin-top: -1cqw; font-family: var(--sc); font-size: 4.6cqw; letter-spacing: .14em; }
.fim__txt { left: 11cqw; right: 11cqw; top: 124cqw; text-align: center; font-size: 3.4cqw; color: var(--suave); }
.fim__ass { left: 0; right: 0; top: 145cqw; text-align: center; font-size: 7cqw; color: var(--vinho); }
.pg--fim .botao { bottom: 8cqw; }

.flutuante { position: fixed; right: 16px; bottom: 18px; z-index: 50; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 99px; background: var(--foil); color: var(--vinho-esc); font-weight: 700; text-decoration: none; box-shadow: 0 8px 20px rgba(0,0,0,.5); opacity: 0; pointer-events: none; transform: translateY(12px); transition: .25s; }
.flutuante .ic { width: 20px; height: 20px; }
.flutuante--ver { opacity: 1; pointer-events: auto; transform: none; }
body.exportar .web, body.exportar .flutuante { display: none !important; }
body.exportar #paginas { gap: 0; padding: 0; } body.exportar .pg { border-radius: 0; box-shadow: none; }
a:focus-visible { outline: .6cqw solid var(--ouro-cl); outline-offset: .6cqw; }
@media (prefers-reduced-motion: reduce) { .flutuante { transition: none; } }

/* ajustes: dourado sólido (o degradê recortado some em alguns navegadores) e véu creme para o glitter não brigar com o texto */
.titulo--ouro, .ouro-sc, .fim__t b, .num { background: none !important; -webkit-background-clip: border-box !important; background-clip: border-box !important; color: var(--ouro) !important; }
.titulo--ouro, .ouro-sc { color: #E9C976 !important; text-shadow: 0 .3cqw 0 #8A6420, 0 .8cqw 2cqw rgba(0,0,0,.45); }
.fim__t b { color: #A9802F !important; }
.pg--clara .fundo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(75% 60% at 50% 55%, rgba(251,245,234,.96) 45%, rgba(251,245,234,.55) 100%); }
.taca { width: 30cqw; right: -2cqw; top: 0; }
.pg--passos .titulo { font-size: 11cqw; }
.laco-arco { left: 18cqw; top: 9cqw; width: 17cqw; transform: rotate(-18deg); }
.arco--fim img { object-position: 50% 0%; transform: scale(1.12); transform-origin: 50% 15%; }
