/* Redesenho aprovado em 02/10 (docs/blackse/design-aprovado). Área: publico. */

/* ════════════════════════════════════════════════════════════════════════
   ENTRAR E SENHAS (14-entrar.html; app/entrada.tsx). Tela dividida: metade
   preta com a logo BRANCA e a frase; metade branca com o formulário de
   360 px. Celular: a parte preta vira uma faixa curta em cima (logo + frase),
   e o formulário vem logo abaixo — cabe na tela sem rolar.
   ════════════════════════════════════════════════════════════════════════ */
body:has(.n-entrada){background:#FFFFFF}
.n-entrada{display:flex;min-height:100vh;min-height:100dvh;background:var(--n-fundo,#FFFFFF);color:var(--n-texto,#141414);
  font-family:var(--n-fonte,'Outfit','Helvetica Neue',sans-serif)}
.n-entrada :is(button,input){font-family:inherit}
.n-entrada-marca{width:50%;flex:none;box-sizing:border-box;background:#141414;color:#FFFFFF;
  display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px}
.n-entrada-logo{display:block;align-self:flex-start;height:72px;width:auto}
.n-entrada-frase{margin:0;max-width:460px;font-size:44px;font-weight:300;line-height:1.15;color:#FFFFFF}
.n-entrada-lugar{margin:0;font-size:13px;color:#8A8782}
.n-entrada-lado{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:40px 24px;box-sizing:border-box}
.n-entrada .cartao.entrar{width:360px;max-width:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;
  display:flex;flex-direction:column;gap:16px}
.n-entrada .cartao.entrar > form,.n-entrada form.cartao.entrar,.n-entrada .bc-entrada-form{display:flex;flex-direction:column;gap:16px;min-width:0}
.n-entrada h1{margin:0 0 12px;font-size:28px;font-weight:600;line-height:1.2;text-align:left;letter-spacing:0}
.n-entrada .bc-entrada-sub{margin:-16px 0 8px;text-align:left;color:var(--n-texto-2,#5E5C58);font-size:15px;line-height:1.5}
.n-entrada .campo{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}
.n-entrada .campo > span,.n-entrada .campo > span label{display:flex;align-items:center;gap:6px;margin:0;font-size:13px;font-weight:500;color:var(--n-texto,#141414)}
.n-entrada .campo input{height:48px;min-height:48px;box-sizing:border-box;width:100%;padding:0 14px;border:1px solid var(--n-linha-2,#E3E1DC);
  border-radius:var(--n-raio,10px);background:#FFFFFF;color:var(--n-texto,#141414);font-size:15px;box-shadow:none}
.n-entrada .campo input:focus{outline:none;border-color:var(--n-texto,#141414);box-shadow:none}
.n-entrada .campo input::placeholder{color:#A9A6A0}
.n-entrada .botao{display:flex;align-items:center;justify-content:center;width:100%;height:50px;min-height:50px;margin:4px 0 0;padding:0 16px;
  border:0;border-radius:var(--n-raio,10px);background:var(--n-texto,#141414);color:#FFFFFF !important;font-size:15px;font-weight:600;
  text-decoration:none;cursor:pointer}
.n-entrada .botao:hover:not(:disabled){background:#000;filter:none}
.n-entrada .botao:disabled{opacity:.6;cursor:default}
.n-entrada .erro{margin:0;padding:12px 14px;border-radius:var(--n-raio,10px);background:#FBEDEB;color:var(--n-vermelho,#A3190F);
  font-size:14px;overflow-wrap:anywhere}
.n-entrada .bc-entrada-link{margin:0;text-align:center;font-size:13px}
.n-entrada .bc-entrada-link a{color:var(--n-texto-2,#5E5C58) !important;text-decoration:underline;text-underline-offset:3px}
.n-entrada .bc-entrada-link a:hover{color:var(--n-texto,#141414) !important}
.n-entrada .bc-entrada-voltar{margin:0 0 -4px}
.n-entrada .erp-voltar{display:inline-flex;align-items:center;gap:6px;min-height:32px;margin-left:-6px;padding:0 10px 0 6px;
  border-radius:var(--n-raio,10px);font-size:14px;color:var(--n-texto-2,#5E5C58) !important;text-decoration:none !important}
.n-entrada .erp-voltar:hover{background:var(--n-sup-2,#F2F1EE)}
.n-entrada .erp-voltar > span[aria-hidden]{font-size:0;line-height:0}
.n-entrada .erp-voltar > span[aria-hidden]::before{content:"‹";font-size:22px;line-height:1}
.n-entrada .bc-entrada-respiro{display:none}

@media (max-width:720px){
  .n-entrada{flex-direction:column}
  .n-entrada-marca{width:auto;padding:28px 24px 26px;gap:18px;justify-content:flex-start}
  .n-entrada-logo{height:44px}
  .n-entrada-frase{font-size:26px;line-height:1.15}
  .n-entrada-frase br{display:none}
  .n-entrada-lugar{display:none}
  .n-entrada-lado{align-items:flex-start;padding:28px 20px calc(32px + env(safe-area-inset-bottom, 0px))}
  .n-entrada .cartao.entrar{width:100%}
  .n-entrada h1{font-size:24px;margin-bottom:4px}
  .n-entrada .campo input{font-size:16px}
}

/* ════════════════════════════════════════════════════════════════════════
   GALERIA DO CLIENTE (09-galeria-cliente-celular.html; app/galeria/[codigo]).
   Página única: capa (primeira foto, ou faixa neutra) com a logo BRANCA, o
   nome em Cormorant Garamond e a data; abas e prazo; miniaturas em 3 colunas
   com 3 px de espaço; barra preta flutuante no rodapé quando há escolhidas.
   No computador, a mesma página numa coluna de até 960 px (5 colunas).
   ════════════════════════════════════════════════════════════════════════ */
body:has(.n-galeria){background:#FFFFFF}
.n-galeria{min-height:100vh;min-height:100dvh;background:#FFFFFF;color:var(--n-texto,#141414);overflow-x:clip;
  font-family:var(--n-fonte,'Outfit','Helvetica Neue',sans-serif);padding-bottom:110px;box-sizing:border-box}
.n-galeria :is(button,a){font-family:inherit}
.n-gal-capa{position:relative;height:400px;background:#2E2C2A;color:#FFFFFF;overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;
  padding:0 24px 40px;box-sizing:border-box}
.n-gal-capa-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
/* Véu escuro em cima da foto: a logo e o nome brancos se leem em qualquer foto. */
.n-gal-capa.com-foto::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,.38) 0,rgba(0,0,0,0) 30%,rgba(0,0,0,0) 45%,rgba(0,0,0,.55) 100%)}
.n-gal-logo,.n-gal-nome,.n-gal-data{position:relative;z-index:1}
.n-gal-logo{position:absolute;top:22px;left:50%;transform:translateX(-50%);height:40px;width:auto;display:block}
.n-gal-nome{margin:0;color:#FFFFFF;font-family:'Cormorant Garamond',Georgia,serif;font-size:40px;font-weight:300;line-height:1.1;
  letter-spacing:0;overflow-wrap:anywhere}
.n-gal-data{margin:10px 0 0;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#E6E2DC}

.n-gal-abas{display:flex;align-items:center;gap:16px;padding:16px 14px 12px;max-width:960px;margin:0 auto;box-sizing:border-box}
.n-gal-abas-lista{display:flex;gap:16px}
.n-gal-abas-lista button{border:0;background:transparent;padding:0 0 6px;font-size:11px;letter-spacing:2px;text-transform:uppercase;
  color:var(--n-texto-4,#8A8782);border-bottom:1.5px solid transparent;cursor:pointer}
.n-gal-abas-lista button[aria-selected="true"]{color:var(--n-texto,#141414);border-bottom-color:var(--n-texto,#141414)}
.n-gal-prazo{margin-left:auto;font-size:12px;color:var(--n-texto-2,#5E5C58);white-space:nowrap}
.n-gal-prazo.perto{color:var(--n-alerta,#9A3412);font-weight:500}

.n-gal-grade{list-style:none;margin:0 auto;padding:0 3px;max-width:960px;box-sizing:border-box;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
.n-gal-item{position:relative;aspect-ratio:1 / 1;min-width:0;background:#E9E7E3}
.n-gal-foto{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.n-gal-foto img{display:block;width:100%;height:100%;object-fit:cover}
.n-gal-item.marcada::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 3px #141414;pointer-events:none}
.n-gal-item.marcada .n-gal-foto img{opacity:.92}
/* O círculo do canto: 24 px no desenho, 44 px de área de toque. */
.n-gal-marca{position:absolute;top:0;right:0;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer;
  display:flex;align-items:flex-start;justify-content:flex-end;text-decoration:none;z-index:1}
.n-gal-marca > span{margin:6px 6px 0 0;width:24px;height:24px;border-radius:12px;box-sizing:border-box;
  display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.25);border:1.5px solid #FFFFFF;color:transparent;
  box-shadow:0 1px 3px rgba(0,0,0,.25)}
.n-gal-marca[aria-pressed="true"] > span{background:#141414;border-color:#141414;color:#FFFFFF}
.n-gal-marca.baixar > span{background:rgba(20,20,20,.55);border-color:transparent;color:#FFFFFF}
.n-gal-item.comprada .n-gal-marca.baixar > span{background:#141414}
.n-gal-selo{position:absolute;left:6px;bottom:6px;padding:2px 8px;border-radius:999px;background:rgba(20,20,20,.7);color:#fff;font-size:11px}

.n-gal-baixar-todas{max-width:960px;margin:0 auto;padding:0 14px 12px;box-sizing:border-box}
.n-gal-botao{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 16px;border-radius:10px;
  border:1px solid #141414;background:#141414;color:#FFFFFF;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}
.n-gal-botao.contorno{background:#FFFFFF;color:#141414;border-color:var(--n-linha-2,#E3E1DC);width:100%}
.n-gal-botao.branco{background:#FFFFFF;color:#141414;border-color:#FFFFFF;flex:none}
.n-gal-botao:disabled{opacity:.6;cursor:default}

.n-gal-barra{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));z-index:20;
  max-width:560px;margin:0 auto;box-sizing:border-box;background:#141414;color:#FFFFFF;border-radius:14px;
  padding:12px 12px 12px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.n-gal-barra-texto{flex:1;min-width:0;display:flex;flex-direction:column}
.n-gal-barra-texto strong{font-size:14px;font-weight:600}
.n-gal-barra-texto span{font-size:12px;color:#C9C5BF;overflow-wrap:anywhere}

.n-gal-aviso,.n-gal-pedido,.n-gal-ok,.n-gal-erro,.n-gal-vazio{max-width:932px;margin:14px auto 0;box-sizing:border-box;
  padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.n-gal-aviso{background:#FBF1EA;color:var(--n-alerta,#9A3412)}
.n-gal-pedido{background:var(--n-sup,#F7F6F3);color:var(--n-texto,#141414)}
.n-gal-ok{background:#EAF4EE;color:var(--n-verde,#146C38);margin:0 14px 12px}
@media (min-width:960px){ .n-galeria :is(.n-gal-ok,.n-gal-erro){margin:0 auto 12px} }
.n-gal-erro{background:#FBEDEB;color:var(--n-vermelho,#A3190F);margin:0 14px 12px}
.n-gal-vazio{color:var(--n-texto-2,#5E5C58);text-align:center;padding:40px 16px}
.n-gal-link{border:0;background:none;padding:0;color:var(--n-texto,#141414);text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:inherit}
@media (max-width:959px){ .n-galeria :is(.n-gal-aviso,.n-gal-pedido,.n-gal-vazio){margin-left:14px;margin-right:14px} }

.n-gal-rodape{max-width:932px;margin:32px auto 0;padding:0 14px;box-sizing:border-box;text-align:center}
.n-gal-rodape .galeria-texto{margin:0;font-size:13px;color:var(--n-texto-2,#5E5C58);line-height:1.5}
.n-gal-rodape a{color:var(--n-texto,#141414)}

/* A confirmação e a foto grande: a mesma casca branca das janelas do CRM. */
.n-gal-dialogo{font-family:var(--n-fonte,'Outfit',sans-serif);border:0;border-radius:18px;padding:0;
  width:min(420px,calc(100vw - 32px));box-shadow:0 20px 60px rgba(0,0,0,.25)}
.n-gal-dialogo::backdrop{background:rgba(20,20,20,.35)}
.n-gal-dialogo .bc-dialogo-topo{padding:22px 16px 4px 24px;border:0;background:transparent}
.n-gal-dialogo .bc-dialogo-topo h2{font-size:18px;font-weight:600}
.n-gal-dialogo .bc-dialogo-corpo{padding:10px 24px 4px}
.n-gal-dialogo .bc-dialogo-rodape{padding:18px 24px 22px;border:0;background:transparent}
.n-gal-dialogo .bc-dialogo-fechar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;color:#141414}
.n-gal-dialogo :is(.galeria-botao,.galeria-botao-linha){height:44px;min-height:44px;padding:0 18px;border-radius:10px;font-size:14px}
.n-gal-dialogo .galeria-botao{background:#141414;color:#FFFFFF;border:0;font-weight:600}
.n-gal-dialogo .galeria-botao-linha{background:#FFFFFF;color:#141414;border:1px solid var(--n-linha-2,#E3E1DC)}
.n-gal-grande{font-family:var(--n-fonte,'Outfit',sans-serif);background:#141414;color:#FFFFFF}
.n-gal-grande::backdrop{background:#141414}
.n-gal-grande .galeria-grande-topo{background:transparent;color:#E6E2DC;border:0}
.n-gal-grande .bc-dialogo-fechar{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:transparent;color:#FFFFFF}
.n-gal-grande .galeria-grande-foto img{border-radius:0}
.n-gal-grande .galeria-grande-acoes{background:transparent;border:0}
.n-gal-grande :is(.galeria-botao-linha,.galeria-marcar,.galeria-baixar){min-height:44px;border-radius:10px;
  background:rgba(255,255,255,.12);color:#FFFFFF !important;border:1px solid rgba(255,255,255,.25);text-decoration:none}
.n-gal-grande .galeria-marcar.ativo{background:#FFFFFF;color:#141414 !important;border-color:#FFFFFF}

@media (min-width:721px){
  .n-gal-capa{height:460px}
  .n-gal-nome{font-size:52px}
  .n-gal-grade{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:0 14px}
  .n-gal-baixar-todas .n-gal-botao.contorno{width:auto}
}

/* ════════════════════════════════════════════════════════════════════════
   AS OUTRAS PÁGINAS PÚBLICAS (pagina-publica.tsx): o envio de fotos do
   fotógrafo (/envio), a galeria vencida/inexistente e a cobrança de teste.
   O mesmo estilo limpo: fundo branco, a logo preta no topo, sem caixas
   cinzas; blocos com borda fina e cantos de 14 px, botão preto.
   ════════════════════════════════════════════════════════════════════════ */
body:has(.publico){background:#FFFFFF}
.publico{background:#FFFFFF;font-family:var(--n-fonte,'Outfit','Helvetica Neue',sans-serif);color:var(--n-texto,#141414)}
.publico :is(button,input){font-family:inherit}
.publico .publico-topo{position:static;background:#FFFFFF;border-bottom:1px solid var(--n-linha,#ECEAE6)}
.publico .publico-topo-dentro{max-width:720px;min-height:72px;justify-content:center}
.publico .publico-logo{height:40px}
.publico .publico-corpo{max-width:720px;padding:28px 16px 48px;gap:16px}
.publico h1{font-size:26px;font-weight:600;letter-spacing:-.01em}
.publico .publico-caixa{background:#FFFFFF;border:1px solid var(--n-linha,#ECEAE6);border-radius:14px;padding:20px}
.publico .publico-caixa h1 + *{margin-top:8px}
.publico .publico-aviso{border-radius:12px}
.publico .galeria-info{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.publico .galeria-info li{padding:6px 12px;border-radius:999px;background:var(--n-sup,#F7F6F3);font-size:13px;color:var(--n-texto-3,#4A4845)}
.publico .envio-sessao{margin:8px 0 0;color:var(--n-texto-2,#5E5C58);font-size:15px}
.publico .envio-contagem{margin:0 0 14px;font-size:15px;color:var(--n-texto-2,#5E5C58)}
.publico .envio-contagem strong{color:var(--n-texto,#141414);font-size:22px;font-weight:600}
.publico .botao{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:10px;border:0;
  background:#141414;color:#FFFFFF !important;font-size:15px;font-weight:600}
.publico .botao:hover{background:#000}
.publico .botao[aria-disabled="true"]{opacity:.6}
.publico .envio-barra{width:100%;height:6px;margin-top:14px;accent-color:#141414}
.publico .galeria-caixa{background:#FFFFFF;border:1px solid var(--n-linha,#ECEAE6);border-radius:14px;padding:20px}
/* Política de Privacidade e Termos (06/10): texto corrido, legível. */
.publico-texto .publico-caixa{line-height:1.6;color:var(--n-texto,#141414)}
.publico-texto .publico-caixa h2{font-size:17px;font-weight:600;margin:22px 0 6px}
.publico-texto .publico-caixa p{margin:0 0 10px}
.publico-texto .publico-caixa ul{margin:0 0 10px;padding-left:20px}
.publico-texto .publico-caixa a{color:var(--n-verde,#146C38)}
