/* ==========================================================================
   cliniX — Estilos de perfil do médico (docprofile) + helpers do fluxo de
   agendamento (ícones de local/sent-card, textos do form-card).
   Extraído do <style> inline de doctor_profile.html para ser reusado também
   pela página de resultados (/resultados) e pelo modal de agendamento.
   ========================================================================== */
  .docprofile { max-width: 760px; margin: 0 auto; padding: var(--cx-space-6) var(--cx-space-4) var(--cx-space-12); }
  .docprofile__card {
    background: var(--cx-paper-bright);
    border: 1px solid var(--cx-rule-soft);
    border-radius: var(--cx-radius-xl);
    box-shadow: var(--cx-shadow-md);
    padding: var(--cx-space-6);
  }
  @media (max-width: 560px) { .docprofile__card { padding: var(--cx-space-5) var(--cx-space-4); } }

  .docprofile__hero { display: flex; gap: var(--cx-space-4); align-items: flex-start; }
  .docprofile__avatar {
    width: 92px; height: 92px; border-radius: var(--cx-radius-pill); flex-shrink: 0;
    background: linear-gradient(135deg, var(--cx-teal) 0%, var(--cx-teal-soft, var(--cx-teal-700, #0a5a4e)) 100%);
    color: #fff; display: flex; align-items: center; justify-content: center;
    font-size: 2rem; font-weight: var(--cx-weight-semibold); overflow: hidden;
    box-shadow: 0 6px 18px rgba(14, 124, 108, 0.22);
  }
  .docprofile__avatar img { width: 100%; height: 100%; object-fit: cover; }
  .docprofile__id { flex: 1; min-width: 0; }
  .docprofile__name { font-size: var(--cx-text-xl); font-weight: var(--cx-weight-bold); color: var(--cx-ink); line-height: 1.15; }

  /* Identificadores CFM separados (Conselho / Especialidade / Áreas de atuação) */
  .docprofile__ids { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: var(--cx-text-sm); line-height: 1.5; }
  .docprofile__id-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
  .docprofile__id-label {
    font-weight: 700; color: var(--cx-ink-soft); text-transform: uppercase;
    letter-spacing: 0.08em; font-size: var(--cx-text-xs);
  }
  .docprofile__id-val { font-family: var(--cx-font-mono); font-weight: 600; color: var(--cx-ink); letter-spacing: 0.02em; }
  .docprofile__id-main { color: var(--cx-ink); font-weight: 500; }

  .docprofile__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
  .docprofile__badge {
    display: inline-flex; align-items: center; gap: 6px; font-size: var(--cx-text-xs);
    color: var(--cx-ink-soft); background: var(--cx-paper); border: 1px solid var(--cx-overlay-sm);
    border-radius: var(--cx-radius-pill); padding: 4px 10px;
  }
  .docprofile__badge--verified { color: var(--cx-teal); border-color: rgba(14, 124, 108, 0.25); background: rgba(14, 124, 108, 0.08); }
  .docprofile__badge svg { width: 14px; height: 14px; flex-shrink: 0; }

  /* Primary CTA — coral cliniX (acento de ação ÚNICO) */
  .docprofile__cta {
    width: 100%; margin-top: var(--cx-space-5);
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    background: var(--cx-coral); color: #fff;
    border: none; border-radius: var(--cx-radius-md); padding: 13px 18px;
    font-family: inherit; font-size: var(--cx-text-base); font-weight: var(--cx-weight-semibold);
    cursor: pointer; transition: background var(--cx-dur-fast) var(--cx-ease-out);
  }
  .docprofile__cta:hover { background: var(--cx-coral-700, #e85a4a); }
  .docprofile__cta:disabled { background: var(--cx-teal); color: #fff; cursor: default; opacity: 1; }
  .docprofile__cta svg { width: 18px; height: 18px; flex-shrink: 0; }

  .docprofile__booking { margin-top: var(--cx-space-4); }
  .docprofile__booking .book-stage { max-width: none; }

  .docprofile__section { padding-top: var(--cx-space-5); margin-top: var(--cx-space-5); border-top: 1px solid var(--cx-rule-soft); }
  .docprofile__h3 {
    font-size: var(--cx-text-xs); font-weight: var(--cx-weight-semibold);
    text-transform: uppercase; letter-spacing: var(--cx-tracking-wide, 0.08em);
    color: var(--cx-ink-faint); margin-bottom: var(--cx-space-3);
    display: flex; align-items: center; gap: 8px;
  }
  .docprofile__h3::before { content: ""; width: 14px; height: 2px; background: var(--cx-teal); border-radius: 2px; flex-shrink: 0; }
  .docprofile__bio {
    font-size: var(--cx-text-base); color: var(--cx-ink-soft); line-height: 1.6; white-space: pre-line;
    display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
  }
  .docprofile__bio.is-expanded { -webkit-line-clamp: unset; overflow: visible; }
  /* Botão "ver mais/ver menos" (bio e convênios) — link discreto no tom cliniX. */
  .docprofile__more {
    margin-top: 8px; background: none; border: 0; padding: 0; cursor: pointer;
    color: var(--cx-teal-700, #0a5a4e); font-weight: 600; font-size: var(--cx-text-sm); font-family: inherit;
  }
  .docprofile__more:hover { text-decoration: underline; }
  .docprofile__chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .docprofile__chip { font-size: var(--cx-text-sm); background: rgba(14,124,108,0.08); border: 1px solid rgba(14, 124, 108, 0.18); border-radius: var(--cx-radius-pill); padding: 4px 12px; color: var(--cx-teal-700, #0a5a4e); }
  /* Convênios excedentes ficam ocultos até "Ver todos". */
  .docprofile__chip.is-extra { display: none; }
  .docprofile__chips.is-expanded .docprofile__chip.is-extra { display: inline-flex; }

  .docprofile__loc {
    display: flex; gap: var(--cx-space-3); padding: var(--cx-space-3);
    border: 1px solid var(--cx-rule-soft); border-radius: var(--cx-radius-md);
    margin-bottom: var(--cx-space-2); background: var(--cx-paper-warm);
  }
  .docprofile__loc:last-child { margin-bottom: 0; }
  .docprofile__loc-ico { flex-shrink: 0; line-height: 1.4; color: var(--cx-teal); }
  .docprofile__loc-ico svg { width: 18px; height: 18px; display: block; }
  .docprofile__loc-label { font-weight: 500; color: var(--cx-ink); }
  .docprofile__loc-addr { font-size: var(--cx-text-sm); color: var(--cx-ink-soft); margin-top: 2px; }
  .docprofile__loc-hours { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
  .docprofile__hour { font-size: var(--cx-text-xs); font-family: var(--cx-font-mono); color: var(--cx-ink-soft); background: var(--cx-code-bg, rgba(14,124,108,0.06)); border-radius: var(--cx-radius-sm); padding: 2px 8px; }
  .docprofile__loc-nohours { font-size: var(--cx-text-xs); color: var(--cx-ink-soft); margin-top: 6px; line-height: 1.5; }

  /* ── Formação acadêmica (até 6 níveis) ── */
  .docprofile__edu { margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--cx-space-2); }
  .docprofile__edu-row { display: grid; grid-template-columns: 200px 1fr; gap: var(--cx-space-3); align-items: baseline; padding: 8px 12px; border: 1px solid var(--cx-rule-soft); border-radius: var(--cx-radius-md); background: var(--cx-paper-warm); }
  .docprofile__edu-label { font-size: var(--cx-text-sm); color: var(--cx-ink-soft); font-weight: 600; margin: 0; }
  .docprofile__edu-val { font-size: var(--cx-text-sm); color: var(--cx-ink); margin: 0; }
  @media (max-width: 560px) {
    .docprofile__edu-row { grid-template-columns: 1fr; gap: 4px; padding: 10px 12px; }
  }

  /* ── Modalidade (Telemedicina / Particular) — campos INDEPENDENTES ── */
  .docprofile__modality { margin: var(--cx-space-3) 0 0; padding: 0; display: flex; flex-direction: column; gap: var(--cx-space-2); }
  .docprofile__modality-row { display: grid; grid-template-columns: 200px 1fr; gap: var(--cx-space-3); align-items: start; padding: 10px 12px; border: 1px solid var(--cx-rule-soft); border-radius: var(--cx-radius-md); background: var(--cx-paper-warm); }
  .docprofile__modality-label { font-size: var(--cx-text-sm); color: var(--cx-ink-soft); margin: 0; font-weight: 500; }
  .docprofile__modality-val { font-size: var(--cx-text-sm); font-weight: 600; color: var(--cx-ink); margin: 0; }
  .docprofile__modality-val--yes { color: var(--cx-teal); }
  .docprofile__modality-val--no  { color: var(--cx-ink-faint); }
  .docprofile__prices { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
  .docprofile__prices li { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-weight: 400; }
  .docprofile__price-type { font-size: var(--cx-text-xs); color: var(--cx-ink-soft); }
  .docprofile__price-val { font-family: var(--cx-font-mono); font-size: var(--cx-text-xs); font-weight: 600; color: var(--cx-ink); }
  @media (max-width: 560px) {
    .docprofile__modality-row { grid-template-columns: 1fr; gap: 4px; }
  }

  .docprofile__links { display: flex; flex-wrap: wrap; gap: var(--cx-space-2); }
  .docprofile__link { display: inline-flex; align-items: center; gap: 6px; font-size: var(--cx-text-sm); font-weight: 500; color: var(--cx-teal); background: var(--cx-paper); border: 1px solid rgba(14, 124, 108, 0.25); border-radius: var(--cx-radius-pill); padding: 6px 14px; text-decoration: none; }
  .docprofile__link:hover { background: var(--cx-teal); color: #fff; }
  .docprofile__link svg { width: 14px; height: 14px; flex-shrink: 0; }
  .docprofile__notfound { text-align: center; padding: var(--cx-space-12) var(--cx-space-4); }

  /* ── Two-column chip grid (procs + conditions) ── */
  .docprofile__two-col { display: grid; grid-template-columns: 1fr 1fr; gap: var(--cx-space-4); }
  .docprofile__two-col-label {
    font-size: var(--cx-text-xs); font-weight: var(--cx-weight-semibold);
    text-transform: uppercase; letter-spacing: var(--cx-tracking-wide, 0.08em);
    color: var(--cx-ink-mute); margin-bottom: var(--cx-space-2);
  }
  @media (max-width: 560px) { .docprofile__two-col { grid-template-columns: 1fr; } }

  /* ── Brand v1 icon modifiers + helper texts emitted by profile.js (handoff round1) ── */
  .loc-option__ico--tele,
  .loc-option__ico--presencial {
    display:inline-block; width:20px; height:20px;
    background:center/contain no-repeat;
  }
  .loc-option__ico--tele { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230e7c6c%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%272%27%20y%3D%273%27%20width%3D%2720%27%20height%3D%2714%27%20rx%3D%272%27%2F%3E%3Cline%20x1%3D%278%27%20y1%3D%2721%27%20x2%3D%2716%27%20y2%3D%2721%27%2F%3E%3Cline%20x1%3D%2712%27%20y1%3D%2717%27%20x2%3D%2712%27%20y2%3D%2721%27%2F%3E%3C%2Fsvg%3E"); }
  .loc-option__ico--presencial { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230e7c6c%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2010c0%207-9%2013-9%2013s-9-6-9-13a9%209%200%200%201%2018%200z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%273%27%2F%3E%3C%2Fsvg%3E"); }

  .sent-card__icon--ok,
  .sent-card__icon--warn,
  .sent-card__icon--mail,
  .sent-card__icon--sent {
    display:block; width:44px; height:44px; margin:0 auto 6px;
    background:center/contain no-repeat;
  }
  .sent-card__icon--ok   { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%231f8a4c%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2011.08V12a10%2010%200%201%201-5.93-9.14%27%2F%3E%3Cpolyline%20points%3D%2722%204%2012%2014.01%209%2011.01%27%2F%3E%3C%2Fsvg%3E"); }
  .sent-card__icon--warn { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23b8841a%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M10.29%203.86L1.82%2018a2%202%200%200%200%201.71%203h16.94a2%202%200%200%200%201.71-3L13.71%203.86a2%202%200%200%200-3.42%200z%27%2F%3E%3Cline%20x1%3D%2712%27%20y1%3D%279%27%20x2%3D%2712%27%20y2%3D%2713%27%2F%3E%3Cline%20x1%3D%2712%27%20y1%3D%2717%27%20x2%3D%2712.01%27%20y2%3D%2717%27%2F%3E%3C%2Fsvg%3E"); }
  .sent-card__icon--mail { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230e7c6c%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%204h16c1.1%200%202%20.9%202%202v12c0%201.1-.9%202-2%202H4c-1.1%200-2-.9-2-2V6c0-1.1.9-2%202-2z%27%2F%3E%3Cpolyline%20points%3D%2722%2C6%2012%2C13%202%2C6%27%2F%3E%3C%2Fsvg%3E"); }
  .sent-card__icon--sent { background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%2724%27%20height%3D%2724%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%230e7c6c%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M21%2015a2%202%200%200%201-2%202H7l-4%204V5a2%202%200%200%201%202-2h14a2%202%200%200%201%202%202z%27%2F%3E%3C%2Fsvg%3E"); }

  .form-card__ai-disclaimer { font-size:0.72rem; color:var(--cx-ink-faint,#8a938e); line-height:1.45; margin:0 0 10px; }
  .form-card__lgpd { font-size:0.72rem; color:var(--cx-ink-faint,#8a938e); line-height:1.45; margin:6px 0 0; }
  .form-card__privacy { font-size:0.72rem; color:var(--cx-ink-faint,#8a938e); line-height:1.45; margin:8px 0 0; }
  .form-card__privacy a { color:var(--cx-teal,#0e7c6c); text-decoration:underline; }
  .form-card__error { font-size:0.82rem; color:var(--cx-danger,#c4302b); line-height:1.45; margin:8px 0 0; }

  /* ── Telefones dos locais (perfil público) ── */
  .docprofile__loc-phones { display:flex; flex-wrap:wrap; gap:6px 12px; margin-top:6px; }
  .docprofile__loc-phone { display:inline-flex; align-items:center; gap:5px; font-size:var(--cx-text-xs); color:var(--cx-ink-soft); }
  .docprofile__loc-phone svg { width:13px; height:13px; color:var(--cx-teal); flex-shrink:0; }

  /* ── Perfil em 2 colunas quando há calendário (Clinix Auto) ── */
  .docprofile--with-calendar { max-width:1140px; }
  @media (min-width:900px) {
    .docprofile--with-calendar { display:grid; grid-template-columns:minmax(0,1fr) 400px; gap:var(--cx-space-6); align-items:start; }
  }
  .docprofile__aside { min-width:0; }
  @media (min-width:900px) { .docprofile__aside { position:sticky; top:var(--cx-space-6); } }

  /* ── Calendário mensal de disponibilidade ── */
  .mcal {
    background:var(--cx-card); border:1px solid var(--cx-rule-soft);
    border-radius:var(--cx-radius-lg); box-shadow:var(--cx-shadow-card);
    padding:var(--cx-space-5); margin-top:var(--cx-space-6);
  }
  @media (min-width:900px) { .mcal { margin-top:0; } }
  .mcal__loading, .mcal__empty { padding:24px 8px; text-align:center; color:var(--cx-ink-faint); font-size:var(--cx-text-sm); }
  .mcal__head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; }
  .mcal__title { font-weight:var(--cx-weight-bold); color:var(--cx-ink); font-size:var(--cx-text-base); text-transform:capitalize; }
  .mcal__nav {
    width:36px; height:36px; border-radius:var(--cx-radius-full); border:1px solid var(--cx-rule);
    background:var(--cx-card); color:var(--cx-teal); font-size:1.2rem; line-height:1; cursor:pointer; flex-shrink:0;
  }
  .mcal__nav:hover:not(:disabled) { background:var(--cx-teal-100); border-color:var(--cx-teal); }
  .mcal__nav:disabled { opacity:.4; cursor:not-allowed; }
  .mcal__grid { display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
  .mcal__wd { text-align:center; font-size:var(--cx-text-xs); color:var(--cx-ink-faint); font-weight:var(--cx-weight-semibold); padding:4px 0; }
  .mcal__cell {
    position:relative; aspect-ratio:1; border:none; background:transparent; border-radius:var(--cx-radius-md);
    font-size:var(--cx-text-base); color:var(--cx-ink-mute); cursor:default; padding:0;
  }
  .mcal__cell--empty { visibility:hidden; }
  .mcal__cell--has { color:var(--cx-ink); font-weight:var(--cx-weight-semibold); cursor:pointer; background:var(--cx-teal-100); }
  .mcal__cell--has:hover { background:var(--cx-teal); color:#fff; }
  .mcal__cell.is-selected { outline:2px solid var(--cx-teal); outline-offset:-2px; }
  .mcal__cell.is-selected.mcal__cell--has { background:var(--cx-teal); color:#fff; }
  .mcal__dot { position:absolute; bottom:6px; left:50%; transform:translateX(-50%); width:5px; height:5px; border-radius:50%; background:var(--cx-coral); }
  .mcal__cell--has:hover .mcal__dot, .mcal__cell.is-selected .mcal__dot { background:#fff; }
  .mcal__day { margin-top:16px; border-top:1px solid var(--cx-rule-soft); padding-top:12px; }
  .mcal__day-title { font-size:var(--cx-text-xs); text-transform:uppercase; letter-spacing:.06em; color:var(--cx-ink-faint); font-weight:var(--cx-weight-semibold); margin-bottom:8px; }
  /* Grupos por endereço dentro de um dia */
  .mcal__addr { margin-top:10px; }
  .mcal__addr:first-of-type { margin-top:0; }
  .mcal__addr-label { display:flex; align-items:flex-start; gap:5px; font-size:var(--cx-text-xs); color:var(--cx-ink-soft); font-weight:var(--cx-weight-semibold); margin-bottom:5px; line-height:1.35; }
  .mcal__addr-ico { flex-shrink:0; }
  .mcal__slots { display:flex; flex-wrap:wrap; gap:6px; }
  .mcal__slot {
    border:1px solid var(--cx-rule); background:var(--cx-card); color:var(--cx-ink);
    border-radius:var(--cx-radius-md); padding:7px 12px; font-size:var(--cx-text-sm); font-weight:var(--cx-weight-medium); cursor:pointer;
  }
  .mcal__slot:hover { border-color:var(--cx-teal); background:var(--cx-teal-100); }

