/* =====================================================================
   Precisei Chamei — CSS de marca (portado 1:1 do front original)
   Classes pc-*, variáveis e animações usadas no site público.
   ===================================================================== */

:root {
    --pc-ink: #0F2117;
    --pc-emerald: #0B5D3B;
    --pc-grass: #16A34A;
    --pc-mint: #E8F5EE;
    --pc-sand: #FBF7EF;
    --pc-coral: #FF7A45;
    --pc-muted: #5B6B62;
}

/* Gradiente de marca reutilizável */
.pc-brand-gradient {
    background-image: linear-gradient(135deg, #0B5D3B 0%, #16A34A 55%, #1FBE6B 100%);
}
.pc-ink { color: var(--pc-ink); }
.pc-coral { color: var(--pc-coral); }

/* Traço/realce sob a palavra-chave do hero */
.pc-underline { position: relative; white-space: nowrap; }
.pc-underline::after {
    content: "";
    position: absolute;
    left: -2%; right: -2%;
    bottom: 0.08em;
    height: 0.34em;
    background: linear-gradient(90deg, rgba(34,197,94,.55), rgba(31,190,107,.85));
    border-radius: 999px;
    z-index: -1;
    transform: rotate(-1deg);
}

/* Anéis de proximidade (radar) atrás do hero */
.pc-radar {
    position: absolute;
    border-radius: 9999px;
    border: 1px solid rgba(11, 93, 59, 0.10);
    animation: pcPing 6s ease-out infinite;
}
@keyframes pcPing {
    0%   { transform: scale(0.6); opacity: 0; }
    20%  { opacity: 0.8; }
    100% { transform: scale(1.25); opacity: 0; }
}

/* Pino de localização com "batida" suave */
@keyframes pcBeat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-4px); }
}
.pc-pin { animation: pcBeat 2.8s ease-in-out infinite; }

/* Cartão com trilho verde no hover */
.pc-card {
    position: relative;
    transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s, border-color .25s;
}
.pc-card::before {
    content: "";
    position: absolute;
    left: 0; top: 14px; bottom: 14px;
    width: 3px; border-radius: 999px;
    background: linear-gradient(180deg, #16A34A, #0B5D3B);
    opacity: 0;
    transition: opacity .25s;
}
.pc-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 40px -18px rgba(11,93,59,.35);
    border-color: rgba(22,163,74,.35);
}
.pc-card:hover::before { opacity: 1; }

/* Chip de categoria com ícone */
.pc-chip { transition: background-color .2s, color .2s, transform .2s; }
.pc-chip:hover { transform: translateY(-2px); }

/* Revelação no scroll */
@keyframes pcRise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
.pc-rise { animation: pcRise .6s cubic-bezier(.2,.7,.2,1) both; }

/* Fade-in de imagens ao carregar (evita "flash" do fundo verde) */
.pc-fade-img {
    opacity: 0;
    transition: opacity .4s ease, transform .5s ease;
    animation: pcImgReveal 0s linear 1.2s forwards;
}
.pc-fade-img.loaded { opacity: 1; animation: none; }
@keyframes pcImgReveal { to { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
    .pc-radar, .pc-pin, .pc-rise { animation: none !important; }
}
