/* ==========================================================================
   MD TEC CONVITES: BASE DO MOTOR

   Estilo só das partes que o motor desenha para todo tema: formulário de
   confirmação, passe com QR, cartão de pós-evento, barra fixa do celular e
   a revelação das seções ao rolar.

   CONTRATO COM O TEMA
   Esta folha não escolhe cor nem fonte. Ela lê as variáveis abaixo, e cada
   tema declara as suas no :root (ou no .sdc). Tema que não declarar uma
   variável fica com o valor de reserva, neutro e legível.

     --sdc-fundo            fundo da página
     --sdc-superficie       fundo de campo, cartão e controle
     --sdc-texto            texto principal
     --sdc-texto-suave      rótulo, apoio, legenda
     --sdc-destaque         botão principal, foco, contador
     --sdc-destaque-texto   texto em cima do destaque
     --sdc-acento           rótulos e detalhes (o segundo tom do tema)
     --sdc-fio              bordas finas
     --sdc-erro             mensagens de erro
     --sdc-fonte-texto / --sdc-fonte-titulo
     --sdc-raio-controle    canto de botão e campo

     Passe (o cartão com QR, igual à peça que o convidado baixa):
     --sdc-passe-fundo, --sdc-passe-caixa, --sdc-passe-tinta,
     --sdc-passe-rotulo, --sdc-passe-faixa, --sdc-passe-faixa-texto,
     --sdc-passe-borda, --sdc-passe-fio

   O QR fica sempre preto sobre branco, em qualquer tema: leitor de portaria
   espera módulo escuro sobre fundo claro.
   ========================================================================== */

.sdc{
  --_fundo:var(--sdc-fundo,#0d1117);
  --_sup:var(--sdc-superficie,rgba(255,255,255,.05));
  --_texto:var(--sdc-texto,#eef2f6);
  --_suave:var(--sdc-texto-suave,#9aa7b4);
  --_dest:var(--sdc-destaque,#3fb6c4);
  --_dest-txt:var(--sdc-destaque-texto,#071014);
  --_acento:var(--sdc-acento,#c9a961);
  --_fio:var(--sdc-fio,rgba(255,255,255,.14));
  --_erro:var(--sdc-erro,#ff9c90);
  --_f-texto:var(--sdc-fonte-texto,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif);
  --_f-titulo:var(--sdc-fonte-titulo,Georgia,'Times New Roman',serif);
  --_raio-c:var(--sdc-raio-controle,8px);
}
.sdc,.sdc *,.sdc *::before,.sdc *::after{box-sizing:border-box;}
.sdc img{max-width:100%;height:auto;display:block;}
.sdc button{font-family:inherit;}
.sdc dl,.sdc dd{margin:0;}
.sdc [hidden]{display:none !important;}

/* ---------------- botões ---------------- */
.sdc-botao{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:50px;padding:14px 26px;
  border:1px solid transparent;border-radius:var(--_raio-c);
  font-family:var(--_f-texto);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;text-align:center;cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
/* Peso alto de propósito: botão é link, e a cor de link do tema não pode
   vencer a cor do botão (texto da cor do fundo some). */
.sdc a.sdc-botao--principal,.sdc button.sdc-botao--principal,.sdc .sdc-botao--principal{background:var(--_dest);color:var(--_dest-txt);}
.sdc a.sdc-botao--principal:hover,.sdc button.sdc-botao--principal:hover{filter:brightness(1.08);transform:translateY(-2px);color:var(--_dest-txt);}
.sdc a.sdc-botao--contorno,.sdc button.sdc-botao--contorno,.sdc .sdc-botao--contorno{background:transparent;border-color:var(--_fio);color:var(--_texto);}
.sdc a.sdc-botao--contorno:hover,.sdc button.sdc-botao--contorno:hover{border-color:var(--_acento);color:var(--_texto);}
.sdc-botao--largo{width:100%;}
.sdc-botao__icone{display:inline-flex;}
.sdc-botao__icone svg{width:15px;height:15px;display:block;}
.sdc-botao:active{transform:translateY(1px);}
.sdc-botao:disabled{opacity:.6;cursor:default;}
.sdc-botao:focus-visible{outline:2px solid var(--_dest);outline-offset:3px;}

.sdc-acoes{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.sdc-acoes--empilha{flex-direction:column;}
.sdc-acoes--empilha .sdc-botao{width:100%;}

/* ---------------- formulário ---------------- */
.sdc-form{margin:0;}
.sdc-campo{margin-bottom:18px;}
.sdc-campo label,.sdc-campo--acomp label{
  display:block;margin-bottom:8px;font-size:10.5px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--_acento);
}
.sdc input[type="text"],.sdc input[type="tel"],.sdc input[type="email"],.sdc select{
  width:100%;min-height:52px;padding:14px 15px;font-family:var(--_f-texto);font-size:16px;
  font-weight:400;color:var(--_texto);background:var(--_sup);
  border:1px solid var(--_fio);border-radius:var(--_raio-c);
  appearance:none;transition:border-color .18s ease,box-shadow .18s ease;
}
.sdc select option{background:var(--_fundo);color:var(--_texto);}
.sdc input:focus,.sdc select:focus{border-color:var(--_dest);box-shadow:0 0 0 3px color-mix(in srgb, var(--_dest) 24%, transparent);outline:none;}
.sdc input::placeholder{color:color-mix(in srgb, var(--_suave) 75%, transparent);}

.sdc-consultor-fixo{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  min-height:52px;padding:12px 15px;background:var(--_sup);
  border:1px solid var(--_fio);border-radius:var(--_raio-c);
}
.sdc-consultor-fixo__nome{font-size:16px;color:var(--_texto);}
.sdc-selecao{position:relative;}
.sdc-selecao::after{
  content:'';position:absolute;right:17px;top:50%;width:8px;height:8px;margin-top:-6px;
  border-right:1.6px solid var(--_suave);border-bottom:1.6px solid var(--_suave);
  transform:rotate(45deg);pointer-events:none;
}
.sdc-selecao select{padding-right:44px;}
.sdc-erro{font-size:13px;color:var(--_erro);margin:8px 0 0;}
.sdc-erro:empty{margin:0;}
.sdc #sdc-aviso{font-size:14px;color:var(--_erro);margin:0 0 16px;}
.sdc #sdc-aviso:empty{margin:0;}
.sdc-dica{font-size:13px;color:var(--_suave);margin:8px 0 0;}
.sdc-envios-aviso{font-size:12.5px;line-height:1.5;color:var(--_suave);margin:12px 0 0;text-align:center;}
.sdc-dica strong{color:var(--_texto);font-weight:500;}

.sdc-campo--acomp{padding:18px 16px;background:var(--_sup);border:1px solid var(--_fio);border-radius:var(--_raio-c);}
.sdc-campo--acomp p{font-size:13px;color:var(--_suave);margin:0 0 14px;}
.sdc-contador{display:flex;align-items:center;gap:16px;}
.sdc-contador button{
  width:48px;height:48px;flex:0 0 48px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--_fio);background:var(--_sup);border-radius:var(--_raio-c);
  font-size:20px;line-height:1;color:var(--_texto);cursor:pointer;transition:border-color .18s ease,color .18s ease;
}
.sdc-contador button:hover:not(:disabled){border-color:var(--_dest);color:var(--_dest);}
/* No limite o botão desliga com cor sólida, não com transparência:
   botão apagado por opacidade some no celular ao sol. */
.sdc-contador button:disabled{color:color-mix(in srgb, var(--_suave) 70%, var(--_fundo));border-color:color-mix(in srgb, var(--_fio) 50%, transparent);cursor:default;}
.sdc-contador output{font-family:var(--_f-titulo);font-size:24px;min-width:32px;text-align:center;font-variant-numeric:tabular-nums;color:var(--_texto);}
.sdc #sdc-fichas{display:grid;gap:12px;}
.sdc #sdc-fichas:not(:empty){margin-top:16px;}
.sdc-ficha-acomp label{display:block;margin-bottom:7px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--_acento);}

.sdc-consent{display:flex;align-items:flex-start;gap:12px;margin:20px 0 4px;font-size:13.5px;line-height:1.5;color:var(--_suave);}
.sdc-consent input{width:22px;height:22px;flex:0 0 22px;margin:2px 0 0;accent-color:var(--_dest);}
.sdc-consent label{margin:0;text-transform:none;letter-spacing:0;font-size:13.5px;font-weight:400;color:var(--_suave);}
.sdc-armadilha{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}

/* ---------------- passe (presença confirmada) ---------------- */
.sdc-passe{
  --_p-fundo:var(--sdc-passe-fundo,#fbf8f1);
  --_p-caixa:var(--sdc-passe-caixa,#f2eee4);
  --_p-tinta:var(--sdc-passe-tinta,#1b2430);
  --_p-rotulo:var(--sdc-passe-rotulo,#5d6773);
  --_p-faixa:var(--sdc-passe-faixa,#1b2430);
  --_p-faixa-txt:var(--sdc-passe-faixa-texto,#ffffff);
  --_p-borda:var(--sdc-passe-borda,#d6b76c);
  --_p-fio:var(--sdc-passe-fio,#e2d9c4);
  position:relative;margin:24px auto 22px;max-width:340px;
  border:1.5px solid var(--_p-borda);border-radius:20px;
  background:var(--_p-fundo);overflow:hidden;text-align:center;
  box-shadow:0 22px 50px rgba(0,0,0,.35);
}
.sdc-passe__selo{
  display:flex;align-items:center;justify-content:center;gap:9px;margin:0;padding:14px 16px;
  background:var(--_p-faixa);color:var(--_p-faixa-txt);
  font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
}
.sdc-passe__check{
  display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;
  background:var(--_p-borda);color:var(--_p-faixa);flex:none;
}
.sdc-passe__check svg{width:13px;height:13px;display:block;}
.sdc-passe__corpo{padding:20px 18px 4px;}
.sdc-passe__olho{margin:0;font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--_p-rotulo);}
.sdc-passe__nome{
  margin:8px 0 4px;font-family:var(--_f-titulo);font-weight:500;
  font-size:clamp(26px,7.2vw,34px);line-height:1.12;color:var(--_p-tinta);overflow-wrap:break-word;
}
.sdc-passe__nome:empty{display:none;}
.sdc-passe__papel{margin:0 0 16px;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--_p-rotulo);}
.sdc-passe__corte{position:relative;height:22px;margin:6px 0 2px;}
.sdc-passe__corte::before{content:"";position:absolute;left:24px;right:24px;top:50%;border-top:2px dashed var(--_p-fio);}
.sdc-passe__qr{
  display:flex;justify-content:center;align-items:center;
  width:214px;min-height:214px;margin:4px auto 0;padding:14px;
  background:#fff;border:1px solid var(--_p-fio);border-radius:14px;
}
.sdc-passe__qr svg{width:186px;height:186px;display:block;}
.sdc-passe__qr:empty{display:none;}
.sdc-passe__nota{margin:14px 18px 0;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--_p-tinta);}
.sdc-passe__aviso{margin:6px 18px 18px;font-size:12.5px;color:var(--_p-rotulo);}
.sdc-passe__rodape{margin:0;padding:14px 16px;background:var(--_p-faixa);}
.sdc-passe__rodape span{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--_p-borda);}
.sdc-passe__rodape strong{display:block;margin-top:3px;font-size:17px;font-weight:500;color:var(--_p-faixa-txt);}
.sdc-ficha{display:grid;gap:1px;background:var(--_p-fio);border-radius:12px;overflow:hidden;text-align:left;margin:0;}
.sdc-ficha > div{background:var(--_p-caixa);padding:12px 15px;}
.sdc-ficha dt{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--_p-rotulo);margin-bottom:3px;}
.sdc-ficha dd{font-size:15px;line-height:1.4;color:var(--_p-tinta);margin:0;}
.sdc-ficha dd span{color:var(--_p-rotulo);font-size:13.5px;}
.sdc-ficha:empty{display:none;}
.sdc-guardar{margin:20px 0 0;font-size:12.5px;color:var(--_suave);word-break:break-word;}
.sdc-guardar a{color:var(--_dest);}

/* ---------------- barra fixa (só no celular) ---------------- */
.sdc #sdc-barra{
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  display:flex;align-items:center;gap:14px;
  padding:11px 16px calc(11px + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--_fundo) 94%, transparent);backdrop-filter:blur(12px);
  border-top:1px solid var(--_fio);
}
.sdc-barra__texto{flex:1 1 auto;min-width:0;line-height:1.25;}
.sdc-barra__texto b{display:block;font-size:12px;font-weight:500;color:var(--_texto);overflow-wrap:break-word;}
.sdc-barra__texto em{display:block;font-style:normal;font-size:11px;color:var(--_suave);}
.sdc #sdc-barra .sdc-botao{min-height:44px;padding:11px 18px;font-size:11px;}

/* ---------------- revelar ao rolar ---------------- */
.sdc-revelar--armado{opacity:0;transform:translateY(20px);}
.sdc-revelado{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.22,.68,.36,1);}
@media (prefers-reduced-motion:reduce){
  .sdc *,.sdc *::before,.sdc *::after{transition-duration:.001ms !important;animation-duration:.001ms !important;}
  .sdc-revelar--armado{opacity:1;transform:none;}
}

@media (min-width:1020px){
  .sdc-acoes--empilha{flex-direction:row;}
  .sdc-acoes--empilha .sdc-botao{width:auto;flex:1 1 auto;}
  .sdc #sdc-barra{display:none;}
}

/* ---------------- página em tela cheia ---------------- */
body.sdc-tela-cheia{margin:0;padding:0;}
body.sdc-tela-cheia #sdc-conteudo{display:block;margin:0;padding:0;max-width:none;}
.sdc-pular{position:absolute;left:-9999px;top:0;z-index:100;padding:12px 18px;background:var(--sdc-destaque,#3fb6c4);color:var(--sdc-destaque-texto,#071014);font:600 14px/1.2 sans-serif;text-decoration:none;}
.sdc-pular:focus{left:12px;top:12px;}
