/* =====================================================================
   NAVALHA — folha de estilo única, escrita à mão.
   Sem Tailwind, sem build, sem npm. Você edita e recarrega.
   ===================================================================== */

html{color-scheme:dark}

:root{
  --base:#0B0C0E; --surface:#141619; --elev:#1C1F24; --line:#2A2E35;
  --ink:#F5F6F7; --muted:#9AA1AC; --faint:#5C636E;
  --accent:#C9A227; --accent-soft:#F2DE9B;
  --action:#2F7DF6; --action-hover:#1F6AE0;
  --ok:#23C16B; --alerta:#F5A524; --erro:#E5484D;
  --r-campo:8px; --r-cartao:14px; --r-folha:22px;
  --sombra:0 1px 2px rgba(0,0,0,.4);
  --max:1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--base);color:var(--ink);
  font:16px/1.6 'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  -webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;
  padding-bottom:env(safe-area-inset-bottom);
}
h1,h2,h3,h4{line-height:1.18;letter-spacing:-.02em;font-weight:700}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
img{max-width:100%;display:block}
.tabular,table,time,.preco{font-variant-numeric:tabular-nums}
::selection{background:rgba(201,162,39,.3)}
:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(47,125,246,.4);border-radius:var(--r-campo)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
.wrap-sm{max-width:640px;margin:0 auto;padding:0 18px}
.pilha{display:grid;gap:14px}
.linha{display:flex;align-items:center;gap:12px}
.entre{display:flex;align-items:center;justify-content:space-between;gap:12px}
.crescer{flex:1;min-width:0}
.centro{text-align:center}
.mt{margin-top:22px}.mb{margin-bottom:22px}
.muted{color:var(--muted)}.faint{color:var(--faint)}
.pequeno{font-size:13.5px}.mini{font-size:12px}
.truncar{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ouro{color:var(--accent)}.verde{color:var(--ok)}.vermelho{color:var(--erro)}

/* ---------------------------------------------------------- botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:48px;padding:0 20px;border:1px solid transparent;border-radius:var(--r-campo);
  font-size:15px;font-weight:600;cursor:pointer;transition:all .16s ease-out;
  white-space:nowrap;background:var(--action);color:#fff;
}
.btn:hover{background:var(--action-hover)}
.btn:active{transform:scale(.985)}
.btn:disabled{opacity:.4;pointer-events:none}
.btn-sec{background:var(--elev);color:var(--ink);border-color:var(--line)}
.btn-sec:hover{background:var(--line);border-color:var(--faint)}
.btn-ouro{background:var(--accent);color:var(--base)}
.btn-ouro:hover{background:var(--accent-soft)}
.btn-fantasma{background:transparent;color:var(--muted)}
.btn-fantasma:hover{background:var(--elev);color:var(--ink)}
.btn-perigo{background:rgba(229,72,77,.12);color:var(--erro);border-color:rgba(229,72,77,.3)}
.btn-perigo:hover{background:rgba(229,72,77,.2)}
.btn-p{height:38px;padding:0 14px;font-size:13.5px}
.btn-largo{width:100%}

/* ---------------------------------------------------------- formulário */
label{display:block;font-size:14px;color:var(--muted);margin-bottom:6px}
.campo{margin-bottom:16px}
input[type=text],input[type=email],input[type=password],input[type=tel],
input[type=date],input[type=time],input[type=month],input[type=datetime-local],
input[type=search],input[type=number],input[type=file],select,textarea{
  width:100%;height:48px;background:var(--elev);border:1px solid var(--line);
  border-radius:var(--r-campo);padding:0 14px;font-size:15px;transition:border-color .15s;
}
textarea{height:auto;min-height:92px;padding:12px 14px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--action)}

/* Seletor nativo de data/hora: no tema escuro o ícone some sem isto. */
input[type=date],input[type=time],input[type=month],input[type=datetime-local]{
  color:var(--ink);background:var(--elev);position:relative;
}
input[type=date]::-webkit-calendar-picker-indicator,
input[type=time]::-webkit-calendar-picker-indicator,
input[type=month]::-webkit-calendar-picker-indicator,
input[type=datetime-local]::-webkit-calendar-picker-indicator{
  filter:invert(1) opacity(.6);cursor:pointer;
}
input[type=date]::-webkit-calendar-picker-indicator:hover,
input[type=time]::-webkit-calendar-picker-indicator:hover{filter:invert(1) opacity(1)}
input[type=date]::-webkit-datetime-edit,
input[type=time]::-webkit-datetime-edit,
input[type=month]::-webkit-datetime-edit{color:var(--ink)}
input[type=date]::-webkit-datetime-edit-fields-wrapper{color:var(--ink)}

/* Combos: sem isto o Windows desenha a lista branca com texto branco. */
select{
  appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%239AA1AC' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;
}
select option{background:var(--elev);color:var(--ink)}

input[type=file]{
  padding:9px 12px;height:auto;font-size:14px;cursor:pointer;color:var(--muted);
}
input[type=file]::file-selector-button{
  background:var(--line);color:var(--ink);border:none;border-radius:6px;
  padding:7px 13px;margin-right:11px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;
}
input[type=file]::file-selector-button:hover{background:var(--faint)}
input::placeholder,textarea::placeholder{color:var(--faint)}

/* ---------------------------------------------------------- cartões */
.cartao{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-cartao);padding:18px}
.cartao-liso{background:var(--elev);border:1px solid var(--line);border-radius:var(--r-cartao);padding:16px}
.cartao-link{transition:border-color .16s,transform .16s;display:block}
.cartao-link:hover{border-color:rgba(201,162,39,.4);transform:translateY(-2px)}

/* ---------------------------------------------------------- selo de status */
.selo{
  display:inline-flex;align-items:center;gap:6px;border:1px solid;border-radius:99px;
  padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap;
}
.selo::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
.selo-confirmado{background:rgba(47,125,246,.12);color:var(--action);border-color:rgba(47,125,246,.28)}
.selo-pendente{background:rgba(245,165,36,.12);color:var(--alerta);border-color:rgba(245,165,36,.28)}
.selo-atendimento{background:rgba(201,162,39,.12);color:var(--accent);border-color:rgba(201,162,39,.3)}
.selo-concluido{background:rgba(35,193,107,.12);color:var(--ok);border-color:rgba(35,193,107,.28)}
.selo-cancelado{background:rgba(92,99,110,.14);color:var(--muted);border-color:var(--line)}
.selo-falta{background:rgba(229,72,77,.12);color:var(--erro);border-color:rgba(229,72,77,.28)}

/* ---------------------------------------------------------- avisos */
.aviso{border:1px solid;border-radius:var(--r-campo);padding:12px 14px;font-size:14.5px;margin-bottom:16px}
.aviso-ok{background:rgba(35,193,107,.1);border-color:rgba(35,193,107,.3);color:#8ee8b6}
.aviso-erro{background:rgba(229,72,77,.1);border-color:rgba(229,72,77,.3);color:#ff9ba0}
.aviso-alerta{background:rgba(245,165,36,.1);border-color:rgba(245,165,36,.3);color:#f5c97a}

/* ---------------------------------------------------------- topo */
.topo{
  position:sticky;top:0;z-index:40;background:rgba(11,12,14,.9);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
  padding-top:env(safe-area-inset-top);
}
.topo-int{display:flex;align-items:center;justify-content:space-between;height:62px}
.marca{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;letter-spacing:-.03em}
.marca-mk{
  width:30px;height:30px;border-radius:8px;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--accent),#8a6f14);color:var(--base);font-size:15px;font-weight:800;
}
.saudacao{font-size:17px;font-weight:600}
.saudacao span{color:var(--action)}

/* ---------------------------------------------------------- navegação inferior (mobile) */
.nav-baixo{
  position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;
  background:rgba(20,22,25,.96);backdrop-filter:blur(12px);border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom);
}
.nav-baixo a{
  flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;
  padding:9px 0 8px;font-size:11px;color:var(--faint);transition:color .15s;
}
.nav-baixo a.on{color:var(--action)}
.nav-baixo svg{width:22px;height:22px}
.com-nav{padding-bottom:78px}

/* ---------------------------------------------------------- desktop: vira lateral */
@media (min-width:1024px){
  .nav-baixo{
    top:0;bottom:0;right:auto;width:230px;flex-direction:column;
    border-top:none;border-right:1px solid var(--line);padding:80px 12px 20px;gap:4px;
  }
  .nav-baixo a{
    flex:none;flex-direction:row;justify-content:flex-start;gap:12px;
    padding:12px 14px;border-radius:10px;font-size:15px;
  }
  .nav-baixo a.on{background:rgba(47,125,246,.1)}
  .com-nav{padding-bottom:30px;padding-left:230px}
  .topo{padding-left:230px}
  .duas-colunas{display:grid;grid-template-columns:1fr 380px;gap:26px;align-items:start}
}

/* ---------------------------------------------------------- grades */
.grade{display:grid;gap:14px}
.grade-2{grid-template-columns:repeat(2,1fr)}
.grade-3{grid-template-columns:repeat(3,1fr)}
.grade-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.grade-3,.grade-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grade-2,.grade-3,.grade-4{grid-template-columns:1fr}}

/* ---------------------------------------------------------- agendamento */
.trilho{display:flex;gap:9px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}
.trilho::-webkit-scrollbar{display:none}
.dia{
  flex:0 0 auto;width:60px;padding:10px 0;text-align:center;cursor:pointer;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;transition:all .16s;
}
.dia:hover{border-color:var(--faint)}
.dia.on{background:var(--action);border-color:var(--action);color:#fff}
.dia .sem{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
.dia.on .sem{color:rgba(255,255,255,.8)}
.dia .num{font-size:19px;font-weight:700;margin-top:2px}
.dia .mes{font-size:10px;color:var(--faint)}
.dia.on .mes{color:rgba(255,255,255,.75)}

.servico{
  display:flex;align-items:center;gap:13px;padding:14px;cursor:pointer;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-cartao);transition:all .16s;
}
.servico:hover{border-color:var(--faint)}
.servico.on{border-color:var(--action);background:rgba(47,125,246,.07)}
.marca-check{
  width:22px;height:22px;border-radius:6px;border:2px solid var(--line);
  flex-shrink:0;display:grid;place-items:center;transition:all .16s;
}
.servico.on .marca-check{background:var(--action);border-color:var(--action)}
.marca-check svg{width:13px;height:13px;opacity:0;transition:opacity .12s}
.servico.on .marca-check svg{opacity:1}

.prof{display:flex;gap:14px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:none}
.prof::-webkit-scrollbar{display:none}
.prof-item{flex:0 0 auto;width:76px;text-align:center;cursor:pointer}
.prof-foto{
  width:62px;height:62px;border-radius:50%;margin:0 auto 7px;
  background:var(--elev);border:2px solid var(--line);
  display:grid;place-items:center;font-size:21px;font-weight:700;color:var(--accent);
  transition:all .16s;overflow:hidden;
}
.prof-item.on .prof-foto{border-color:var(--action);box-shadow:0 0 0 4px rgba(47,125,246,.18)}
.prof-item .nome{font-size:12px;color:var(--muted);line-height:1.3}
.prof-item.on .nome{color:var(--action);font-weight:600}

.faixa-titulo{
  display:flex;align-items:center;gap:12px;margin:22px 0 12px;
  font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;
}
.faixa-titulo::after{content:'';flex:1;height:1px;background:var(--line)}
.horarios{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:9px}
.hora{
  height:48px;background:var(--surface);border:1px solid rgba(47,125,246,.35);
  border-radius:var(--r-campo);font-size:15px;font-weight:600;cursor:pointer;transition:all .16s;
}
.hora:hover{border-color:var(--action);background:rgba(47,125,246,.08)}
.hora.on{background:var(--action);border-color:var(--action);color:#fff;box-shadow:0 0 0 4px rgba(47,125,246,.2)}

/* barra fixa de resumo */
.resumo{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--elev);border-top:1px solid var(--line);
  padding:13px 18px calc(15px + env(safe-area-inset-bottom));
  box-shadow:0 -8px 30px rgba(0,0,0,.45);
  transform:translateY(110%);transition:transform .26s cubic-bezier(.32,.72,0,1);
}
.resumo.aberto{transform:translateY(0)}
.resumo-int{max-width:var(--max);margin:0 auto;display:flex;align-items:center;gap:16px}
@media(min-width:1024px){.resumo{padding-left:230px}}

/* ---------------------------------------------------------- estado vazio */
.vazio{display:flex;flex-direction:column;align-items:center;text-align:center;padding:56px 20px}
.vazio svg{width:104px;height:104px;margin-bottom:18px;opacity:.9}
.vazio h3{font-size:17px;margin-bottom:6px}
.vazio p{font-size:14.5px;color:var(--muted);max-width:300px}

/* ---------------------------------------------------------- tabela (painel/admin) */
.tabela{width:100%;border-collapse:collapse;font-size:14.5px}
.tabela th{
  text-align:left;padding:11px 12px;font-size:12px;text-transform:uppercase;
  letter-spacing:.05em;color:var(--faint);border-bottom:1px solid var(--line);font-weight:600;
}
.tabela td{padding:13px 12px;border-bottom:1px solid var(--line)}
.tabela tr:last-child td{border-bottom:none}
.tabela tbody tr:hover{background:rgba(255,255,255,.02)}
.rolar-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------------------------------------------------------- métricas */
.metrica{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-cartao);padding:18px}
.metrica .rot{font-size:12.5px;color:var(--muted);margin-bottom:7px}
.metrica .val{font-size:27px;font-weight:800;letter-spacing:-.03em;line-height:1}
.metrica .pe{font-size:12px;color:var(--faint);margin-top:6px}

/* coluna de agenda por barbeiro */
.colunas{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.coluna-topo{
  display:flex;align-items:center;gap:10px;padding-bottom:12px;
  margin-bottom:12px;border-bottom:1px solid var(--line);
}
.bloco{
  border-left:3px solid var(--action);background:var(--elev);border-radius:0 10px 10px 0;
  padding:11px 13px;margin-bottom:9px;transition:transform .14s;
}
.bloco:hover{transform:translateX(2px)}
.bloco.s-concluido{border-left-color:var(--ok);opacity:.75}
.bloco.s-cancelado{border-left-color:var(--faint);opacity:.5}
.bloco.s-falta{border-left-color:var(--erro);opacity:.7}
.bloco.s-em_atendimento{border-left-color:var(--accent);background:rgba(201,162,39,.07)}
.bloco .hora-b{font-size:15px;font-weight:700}
.bloco .cli{font-size:14px;margin-top:1px}
.bloco .srv{font-size:12.5px;color:var(--muted)}

.abas{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow-x:auto}
.abas a{
  padding:11px 15px;font-size:14.5px;color:var(--muted);
  border-bottom:2px solid transparent;white-space:nowrap;transition:all .15s;
}
.abas a.on{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ---------------------------------------------------------- menu do painel */
.nav-painel{overflow-x:auto;scrollbar-width:none}
.nav-painel::-webkit-scrollbar{display:none}
.nav-painel a{flex:0 0 auto;min-width:74px}
@media (min-width:1024px){
  .nav-painel{overflow:visible}
  .nav-painel a{flex:none;min-width:0}
}

/* ---------------------------------------------------------- cartões de plano do clube */
.clube-cartao{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-cartao);
  padding:20px;position:relative;overflow:hidden;
}
.clube-cartao::before{
  content:'';position:absolute;inset:0 auto 0 0;width:4px;background:var(--cor,var(--accent));
}
.clube-preco{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1}
.clube-regra{
  display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);
  background:var(--elev);border:1px solid var(--line);border-radius:99px;padding:4px 11px;
}
.saldo-anel{
  --p:0;width:56px;height:56px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;
  background:conic-gradient(var(--ok) calc(var(--p)*1%), var(--elev) 0);
}
.saldo-anel span{
  width:44px;height:44px;border-radius:50%;background:var(--surface);
  display:grid;place-items:center;font-size:15px;font-weight:700;
}

/* ---------------------------------------------------------- modal */
dialog{
  border:none;padding:0;background:transparent;color:var(--ink);
  max-width:min(560px, calc(100vw - 28px));width:100%;max-height:calc(100dvh - 40px);
  overflow:visible;margin:auto;
}
dialog::backdrop{
  background:rgba(6,7,9,.72);backdrop-filter:blur(4px);
  animation:fadeBd .22s ease-out;
}
@keyframes fadeBd{from{opacity:0}to{opacity:1}}

dialog > form,
dialog > .modal{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-folha);
  box-shadow:0 24px 70px -12px rgba(0,0,0,.75), 0 0 0 1px rgba(255,255,255,.03);
  display:flex;flex-direction:column;
  max-height:calc(100dvh - 40px);
  overflow:hidden;
  animation:subirModal .28s cubic-bezier(.32,.72,0,1);
}
@keyframes subirModal{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:none}
}

.modal-topo{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0;
  background:linear-gradient(180deg, rgba(255,255,255,.025), transparent);
}
.modal-topo strong{font-size:16.5px;letter-spacing:-.01em}
.modal-corpo{padding:20px 22px;overflow-y:auto;flex:1;min-height:0}
.modal-corpo::-webkit-scrollbar{width:10px}
.modal-corpo::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px;border:3px solid var(--surface)}
.modal-pe{
  padding:15px 22px;border-top:1px solid var(--line);flex-shrink:0;
  display:flex;gap:10px;justify-content:flex-end;align-items:center;
  background:linear-gradient(0deg, rgba(0,0,0,.18), transparent);
}
.fechar{
  background:var(--elev);border:1px solid var(--line);color:var(--muted);
  width:32px;height:32px;border-radius:9px;font-size:19px;line-height:1;
  cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:all .15s;
}
.fechar:hover{background:var(--line);color:var(--ink)}

/* No celular o modal vira folha que sobe de baixo. */
@media (max-width:620px){
  dialog{
    max-width:100%;width:100%;margin:auto 0 0;
    max-height:92dvh;
  }
  dialog > form, dialog > .modal{
    border-radius:22px 22px 0 0;border-bottom:none;max-height:92dvh;
    animation:folhaSobe .3s cubic-bezier(.32,.72,0,1);
  }
  @keyframes folhaSobe{from{transform:translateY(100%)}to{transform:none}}
  .modal-pe{padding-bottom:calc(15px + env(safe-area-inset-bottom))}
}

/* ---------------------------------------------------------- switch */
.switch-linha{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 0}
.switch-cx{position:relative;width:46px;height:26px;flex-shrink:0}
.switch-cx input{opacity:0;width:0;height:0;position:absolute}
.switch-tr{
  position:absolute;inset:0;background:var(--elev);border:1px solid var(--line);
  border-radius:99px;cursor:pointer;transition:background .18s;
}
.switch-tr::after{
  content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;
  background:var(--muted);transition:transform .2s,background .2s;
}
.switch-cx input:checked + .switch-tr{background:var(--action);border-color:var(--action)}
.switch-cx input:checked + .switch-tr::after{transform:translateX(20px);background:#fff}

.dias-semana{display:flex;gap:6px;flex-wrap:wrap}
.dia-chip{
  width:44px;height:40px;display:grid;place-items:center;cursor:pointer;font-size:12.5px;font-weight:600;
  background:var(--elev);border:1px solid var(--line);border-radius:9px;transition:all .15s;
}
.dia-chip input{display:none}
.dia-chip.on{background:var(--action);border-color:var(--action);color:#fff}

/* ---------------------------------------------------------- fotos */
.foto-campo{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.foto-previa{
  width:76px;height:76px;border-radius:14px;flex-shrink:0;overflow:hidden;
  background:var(--elev);border:1px solid var(--line);
  display:grid;place-items:center;font-size:24px;font-weight:700;color:var(--accent);
}
.foto-previa.redonda{border-radius:50%}
.foto-previa img{width:100%;height:100%;object-fit:cover}
.foto-campo .crescer{min-width:0}

.avatar{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;overflow:hidden;
  background:var(--elev);border:1px solid var(--line);
  display:grid;place-items:center;font-size:15px;font-weight:700;color:var(--accent);
}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar-g{width:62px;height:62px;font-size:22px}
.avatar-p{width:32px;height:32px;font-size:12.5px}

.miniatura{
  width:46px;height:46px;border-radius:10px;flex-shrink:0;overflow:hidden;
  background:var(--elev);border:1px solid var(--line);display:grid;place-items:center;
}
.miniatura img{width:100%;height:100%;object-fit:cover}
.miniatura svg{width:20px;height:20px;color:var(--faint)}

.capa{
  height:150px;border-radius:var(--r-cartao) var(--r-cartao) 0 0;overflow:hidden;position:relative;
  background:linear-gradient(135deg,rgba(201,162,39,.18),rgba(47,125,246,.12));
}
.capa img{width:100%;height:100%;object-fit:cover}

.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.galeria-item{
  position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;
  border:1px solid var(--line);background:var(--elev);
}
.galeria-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.galeria-item:hover img{transform:scale(1.05)}
.galeria-item form{position:absolute;top:6px;right:6px}
.galeria-item button{
  width:28px;height:28px;border-radius:8px;border:none;cursor:pointer;
  background:rgba(11,12,14,.8);color:#fff;font-size:15px;line-height:1;
  display:grid;place-items:center;backdrop-filter:blur(4px);
}
.galeria-item button:hover{background:var(--erro)}

.faixa-fotos{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.faixa-fotos::-webkit-scrollbar{display:none}
.faixa-fotos img{
  height:150px;width:auto;border-radius:12px;flex-shrink:0;
  border:1px solid var(--line);object-fit:cover;
}
