/* Área dos noivos: usa as cores e fontes de site.css */
.admin { background: var(--papel-claro); font-size: 1.15rem; }

.entrada { width: min(100% - 2.5rem, 22rem); margin: 0 auto; padding: 12vh 0 3rem; text-align: center; }
.entrada img { margin: 0 auto 1.5rem; }
.entrada h1, .painel-topo h1 { font-family: var(--versalete); font-weight: 500; color: var(--oliva); margin: 0; font-size: 2rem; }
.entrada .formulario { text-align: left; margin-bottom: 1.5rem; }

.painel { width: min(100% - 2rem, 62rem); margin: 0 auto; padding: 1.5rem 0 4rem; }
.painel-topo { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.painel-acoes { display: flex; gap: .5rem; }
.botao.pequeno { min-height: 2.5rem; padding: .3rem 1.1rem; font-size: 1rem; }

.numeros { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 1.75rem 0; padding: 1.4rem 0; border-block: 1px solid var(--fio); text-align: center; }
.numeros p { margin: 0; line-height: 1.2; color: var(--ouro); font-size: 1.02rem; }
.numeros .numero { font-family: var(--versalete); font-weight: 600; color: var(--oliva); font-size: clamp(1.5rem, 5.5vw, 2.4rem); }

.abas { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .25rem; margin-bottom: 1.25rem; }
.abas button {
  flex: none; min-height: 2.75rem; padding: .3rem 1.1rem; border-radius: 999px; border: 1px solid var(--fio);
  background: transparent; color: var(--oliva); font: inherit; font-weight: 600; cursor: pointer;
}
.abas button[aria-selected="true"] { background: var(--oliva); border-color: var(--oliva); color: var(--branco); }

.barra { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; margin-bottom: .9rem; }
.barra select { width: auto; min-height: 2.5rem; padding-block: .3rem; font-size: 1.05rem; }
.nota { font-size: 1rem; font-style: italic; color: var(--ouro); margin: 0 0 1rem; line-height: 1.3; }

.registros { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.registro { background: var(--branco); border: 1px solid rgba(147, 120, 84, .3); border-radius: 8px; padding: .95rem 1.1rem; display: grid; gap: .25rem; }
.registro-topo { display: flex; justify-content: space-between; gap: .75rem; align-items: baseline; flex-wrap: wrap; }
.registro h3 { font-family: var(--serifa); font-weight: 700; font-size: 1.25rem; margin: 0; }
.registro p { margin: 0; line-height: 1.35; }
.registro .valor { font-weight: 700; color: var(--terracota); white-space: nowrap; }
.registro .miudo { font-size: 1rem; color: var(--ouro); }
.registro .recado { font-style: italic; color: var(--oliva-escuro); border-left: 2px solid var(--rosa); padding-left: .7rem; margin-top: .35rem; }
.registro .acoes { justify-content: flex-start; margin-top: .5rem; gap: .5rem; }
.vazio { text-align: center; font-style: italic; padding: 2.5rem 1rem; }

.selo { display: inline-block; padding: .05rem .7rem; border-radius: 999px; font-size: .95rem; font-weight: 700; border: 1px solid currentColor; white-space: nowrap; }
.selo.pago, .selo.sim { color: #55663A; background: #E9ECDD; }
.selo.pendente { color: #8A6A2B; background: #F5EBD3; }
.selo.falhou, .selo.expirado, .selo.estornado, .selo.nao, .selo.oculto-site { color: #8A4A40; background: #F5E4E0; }

.com-foto { grid-template-columns: 4.25rem 1fr; column-gap: 1rem; align-items: start; }
.com-foto > .miniatura { grid-row: 1 / span 4; width: 4.25rem; aspect-ratio: 4 / 5; border-radius: 999px 999px 3px 3px; overflow: hidden; background: var(--papel); }
.com-foto > :not(.miniatura) { grid-column: 2; }
.miniatura img { width: 100%; height: 100%; object-fit: cover; }

.com-prefixo.cheio { max-width: none; }
.foto-linha { display: flex; gap: 1rem; align-items: center; }
.foto-previa { flex: none; width: 4.5rem; aspect-ratio: 4 / 5; border-radius: 999px 999px 3px 3px; overflow: hidden; background: var(--papel); border: 1px solid var(--fio); }
.foto-previa img { width: 100%; height: 100%; object-fit: cover; }
input[type="file"] { font: inherit; font-size: 1rem; max-width: 100%; color: var(--bronze); }
.link-botao { background: none; border: 0; padding: .3rem 0; font: inherit; font-size: 1rem; color: var(--erro); text-decoration: underline; cursor: pointer; }
.marcar { display: flex; align-items: center; gap: .6rem; font-weight: 600; color: var(--oliva); }
.marcar input { width: 1.3rem; height: 1.3rem; accent-color: var(--oliva); }
#editor .pg-topo { padding-bottom: 1rem; }
#editor .nota { margin: -.5rem 0 0; }

/* fotos do casal */
.nota.sem-margem { margin: 0; }
.fotos-grade { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr)); gap: .9rem; }
.fotos-grade li { background: var(--branco); border: 1px solid rgba(147, 120, 84, .3); border-radius: 8px; overflow: hidden; }
.fotos-grade li.vazio { grid-column: 1 / -1; background: none; border: 0; }
.fotos-grade img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.foto-controles { display: flex; align-items: center; justify-content: space-between; gap: .25rem; padding: .35rem .5rem; }
.foto-controles .seta {
  width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%;
  border: 1px solid var(--fio); background: transparent; color: var(--oliva); font-size: 1.2rem; cursor: pointer;
}
.foto-controles .seta[disabled] { opacity: .3; cursor: default; }
