/* ============================================================
   Ficha de contato (bottom-sheet) — Dra. Juliana Yumi
   Mesma estrutura das outras clínicas do CRM, com os tokens DESTA
   página (--plum, --paper, --cream-soft, --ink, --line, --font-display
   Oregon, --font-body Lato). O botão reusa `.btn.btn-primary` do site.
   ============================================================ */
.ct-fundo{position:fixed;inset:0;z-index:300;background:rgba(44,28,41,.55);
  display:flex;align-items:flex-end;justify-content:center;padding:0}
.ct-fundo.hidden{display:none}
.ct-folha{position:relative;width:100%;max-width:460px;background:var(--paper,#fbf7ef);
  border-radius:22px 22px 0 0;padding:1.1rem 1.4rem 1.6rem;
  box-shadow:0 -14px 40px -18px rgba(58,26,54,.5);animation:ct-sobe .22s ease-out}
@keyframes ct-sobe{from{transform:translateY(16px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.ct-folha{animation:none}}
.ct-alca{width:38px;height:4px;border-radius:2px;background:var(--line,rgba(79,37,73,.13));margin:0 auto .9rem}
.ct-fechar{position:absolute;top:.5rem;right:.7rem;min-width:44px;min-height:44px;
  background:none;border:0;font-size:1.6rem;line-height:1;color:var(--ink-soft,#574853);
  cursor:pointer;touch-action:manipulation}
.ct-titulo{font-family:var(--font-display,Georgia,serif);font-size:1.45rem;font-weight:400;
  line-height:1.15;color:var(--plum,#4f2549);margin:0 0 .25rem}
.ct-sub{font-family:var(--font-body,system-ui,sans-serif);font-size:.95rem;color:var(--ink-soft,#574853);
  margin:0 0 1rem;line-height:1.45}
/* usado pela ficha E pelo formulário da página (#fp-erro) */
.ct-erro{background:#FBEBE7;color:#8C2E23;border-radius:10px;padding:.6rem .8rem;
  font-size:.9rem;margin-bottom:.8rem;line-height:1.4}
.ct-erro.hidden{display:none}
.ct-campo{margin-bottom:.85rem}
.ct-campo label{display:block;font-family:var(--font-body,system-ui,sans-serif);font-size:.9rem;
  font-weight:700;color:var(--ink,#2c1c29);margin-bottom:.3rem}
.ct-campo input{width:100%;min-height:52px;padding:.75rem .9rem;font-family:var(--font-body,system-ui,sans-serif);
  font-size:1rem;color:var(--ink,#2c1c29);background:#fff;
  border:1.5px solid rgba(79,37,73,.22);border-radius:12px}
.ct-campo input::placeholder{color:rgba(87,72,83,.55)}
.ct-campo input:focus{outline:3px solid rgba(79,37,73,.25);outline-offset:2px;border-color:var(--plum,#4f2549)}
.ct-enviar{width:100%;min-height:52px}
.ct-nota{font-family:var(--font-body,system-ui,sans-serif);font-size:.78rem;color:var(--ink-soft,#574853);
  margin:.7rem 0 0;text-align:center;line-height:1.45}
/* o seletor de países do intl-tel-input precisa caber na largura do campo */
.ct-campo .iti{width:100%}
@media(min-width:560px){
  .ct-fundo{align-items:center;padding:1.5rem}
  .ct-folha{border-radius:22px}
}
