/* Cards das profissionais e carrossel em destaque (js/vitrine.js).
   Usado nas duas homes: a das cuidadoras (src/pages/index.astro) e a das famílias (/familias). */
.coverflow { width: 100vw; margin-left: calc(50% - 50vw); margin-top: 10px; }
.cf-stage { position: relative; min-height: 140px; display: flex; gap: 30px; overflow-x: auto; padding: 20px 20px 25px; scroll-snap-type: x mandatory; touch-action: pan-y; user-select: none; -webkit-user-select: none; outline: none; }
.cf-stage .cuidador-card { flex: 0 0 min(320px, 78vw); scroll-snap-align: start; }
.cf-stage.cf-pronto { display: block; overflow: hidden; padding: 0; scroll-snap-type: none; cursor: grab; }
.cf-stage.cf-pronto .cuidador-card { scroll-snap-align: none; }
.cf-stage.cf-arrastando { cursor: grabbing; }
.cf-stage:focus-visible { box-shadow: inset 0 0 0 3px #ddd6fe; border-radius: 20px; }
.cf-stage img { -webkit-user-drag: none; pointer-events: none; }
.cf-controles { display: flex; justify-content: center; align-items: center; gap: 48px; margin-top: 0; margin-bottom: 32px; }
.cf-controles[hidden] { display: none; }
.cf-seta { width: 52px; height: 52px; border-radius: 50%; border: 1px solid #ddd6fe; background: var(--branco); color: var(--lilas-escuro); font-size: 18px; cursor: pointer; box-shadow: 0 8px 20px rgba(139,92,246,0.15); transition: 0.25s; }
.cf-seta:hover { background: var(--lilas); color: var(--branco); transform: scale(1.08); }

.cuidador-card { background: var(--branco); border-radius: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.08); border: 1px solid #f1f5f9; display: flex; flex-direction: column; color: inherit; text-decoration: none; position: relative; cursor: pointer; }
.cf-stage.cf-pronto .cuidador-card { position: absolute; top: 20px; left: 50%; width: var(--cf-largura, 320px); margin-left: calc(var(--cf-largura, 320px) / -2); transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.6s ease, filter 0.6s ease; will-change: transform, opacity; }
.cf-stage.cf-pronto.cf-arrastando .cuidador-card { transition: transform 0.12s ease-out, opacity 0.12s linear, filter 0.12s linear; }
.cf-stage.cf-pronto .cuidador-card.cf-lateral { filter: saturate(0.75) brightness(0.98); }
@media (prefers-reduced-motion: reduce) { .cf-stage.cf-pronto .cuidador-card { transition: none; } }

.card-top { display: flex; justify-content: center; padding-top: 35px; margin-bottom: 15px; }
.foto-anel { width: 130px; height: 130px; border-radius: 50%; padding: 5px; display: flex; justify-content: center; align-items: center; background: transparent; }
.foto-anel img, .foto-anel i { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.foto-anel i { display: flex; justify-content: center; align-items: center; background: #f8f9fc; font-size: 50px; color: #cbd5e1; }

.cuidador-info { padding: 0 25px 25px 25px; flex-grow: 1; display: flex; flex-direction: column; align-items: center; text-align: center; }
.badges-container { display: flex; gap: 6px; flex-wrap: wrap; justify-content: center; margin-bottom: 12px; }
.cuidador-badge { padding: 4px 12px; border-radius: 20px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; display: flex; align-items: center; gap: 5px; }
.badge-verificada { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; }
.badge-verificada .ico-afeto { width: 17px; height: 11px; fill: none; stroke: currentColor; stroke-width: 12; stroke-linecap: round; overflow: visible; flex-shrink: 0; }
.badge-coren { background: #eef2ff; color: #4338ca; border: 1px solid #c7d2fe; }
.badge-crefito { background: #ecfeff; color: #0e7490; border: 1px solid #a5f3fc; }
.badge-destaque { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; }
.badge-novidade { background: linear-gradient(135deg, #f5f3ff, #ede9fe); color: var(--lilas-escuro); border: 1px solid #c4b5fd; position: relative; padding-right: 18px; }
.badge-novidade::after { content: ""; position: absolute; top: 50%; right: 7px; transform: translateY(-50%); width: 7px; height: 7px; background: var(--ouro); border-radius: 50%; box-shadow: 0 0 8px rgba(251, 191, 36, 0.9); animation: pulsar-novidade 1.8s infinite; }
@keyframes pulsar-novidade { 0%, 100% { opacity: 1; transform: translateY(-50%) scale(1); } 50% { opacity: 0.4; transform: translateY(-50%) scale(1.4); } }

.luz-online { width: 7px; height: 7px; background: var(--verde-online, #10b981); border-radius: 50%; display: inline-block; box-shadow: 0 0 6px rgba(16, 185, 129, 0.7); animation: pulsar-online 1.8s infinite; vertical-align: middle; margin-right: 4px; }
@keyframes pulsar-online { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.4); } }
.texto-disponivel { color: var(--verde-online, #10b981); font-weight: 800; }
.luz-offline { width: 7px; height: 7px; background: var(--lilas); border-radius: 50%; display: inline-block; box-shadow: 0 0 6px rgba(148, 163, 184, 0.5); vertical-align: middle; margin-right: 4px; }
.texto-consultar { color: var(--lilas-escuro); font-weight: 800; }

.cuidador-nome { font-size: 22px; font-weight: 900; margin-bottom: 8px; color: var(--preto-fonte); letter-spacing: -0.5px; }
.cuidador-stars { color: var(--ouro); font-size: 16px; letter-spacing: 2px; margin-bottom: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: 900; min-height: 20px; }
.nota-numero { font-size: 15px; font-weight: 900; color: var(--preto-fonte); letter-spacing: 0; }
.cuidador-tag { color: var(--lilas); font-size: 15px; font-weight: 800; margin-bottom: 8px; }
.cuidador-certificados { color: #059669; font-size: 12px; font-weight: 800; margin-bottom: 8px; display: inline-flex; align-items: center; gap: 4px; }
.turno-pill { padding: 3px 10px; border-radius: 20px; font-size: 10px; font-weight: 800; display: inline-flex; align-items: center; gap: 5px; text-transform: uppercase; letter-spacing: 0.4px; margin-bottom: 12px; }
.turno-diurno { background: #fffbeb; color: #b45309; border: 1px solid #fde68a; }
.turno-noturno { background: #f5f3ff; color: #6d28d9; border: 1px solid #ddd6fe; }
.turno-integral { background: #f5f3ff; color: #7c3aed; border: 1px solid #ddd6fe; }
.cuidador-meta { font-size: 14px; color: var(--cinza-fonte); margin-bottom: 20px; font-weight: 600; }

.btn-card-acao { width: 100%; display: flex; justify-content: center; align-items: center; gap: 8px; background: linear-gradient(135deg, var(--lilas), var(--lilas-escuro)); color: var(--branco); padding: 14px; border-radius: 50px; font-weight: 900; font-size: 14px; text-decoration: none; transition: 0.3s; box-shadow: 0 8px 20px rgba(139, 92, 246, 0.25); margin-top: auto; font-family: 'Nunito', sans-serif; cursor: pointer; border: none; }
.btn-card-acao:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(139, 92, 246, 0.4); }

.loader { text-align: center; padding: 50px; font-size: 18px; font-weight: bold; color: var(--lilas); width: 100%; }
.loader-erro { color: var(--vermelho-suave, #ef4444); font-weight: 700; }
@media (max-width: 900px) {
  .cf-seta { width: 46px; height: 46px; }
}
