/* Pharmind — Estilos customizados */

/* Variáveis de cor */
:root {
    --phm-green-900: #0B4D2C;
    --phm-green-700: #14803D;
    --phm-green-500: #22C55E;
    --phm-green-100: #DCFCE7;
    --phm-green-50:  #F0FDF4;

    --phm-blue-700:  #1D4ED8;
    --phm-blue-500:  #3B82F6;
    --phm-blue-100:  #DBEAFE;

    --phm-orange-600: #EA580C;
    --phm-orange-100: #FFEDD5;
    --phm-amber-500:  #F59E0B;

    --phm-red-600:   #DC2626;
    --phm-red-100:   #FEE2E2;

    --phm-white:     #FFFFFF;
    --phm-gray-50:   #F9FAFB;
    --phm-gray-100:  #F3F4F6;
    --phm-gray-300:  #D1D5DB;
    --phm-gray-500:  #6B7280;
    --phm-gray-700:  #374151;
    --phm-gray-900:  #111827;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Focus visible para acessibilidade */
*:focus-visible {
    outline: 2px solid var(--phm-green-500);
    outline-offset: 2px;
}

/* Transição suave em links */
a {
    transition: color 0.15s ease;
}

/* Drop zone hover via JS */
.drop-zone-active {
    border-color: var(--phm-green-700) !important;
    background-color: var(--phm-green-50) !important;
}

/* --- Loading animation --- */
@keyframes pulse-dot {
    0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
    40% { transform: scale(1); opacity: 1; }
}
.loading-dot { animation: pulse-dot 1.4s ease-in-out infinite; }
.loading-dot:nth-child(2) { animation-delay: 0.2s; }
.loading-dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes fade-in-up {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in-up { animation: fade-in-up 0.4s ease-out forwards; }

@keyframes progress-indeterminate {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(400%); }
}
.progress-bar-indeterminate {
    animation: progress-indeterminate 1.8s ease-in-out infinite;
    width: 25%;
}

/* --- Card hover --- */
.card-hover {
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.card-hover:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

/* --- Pill icon rotate --- */
@keyframes spin-slow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.spin-slow { animation: spin-slow 3s linear infinite; }

/* --- Gradient text --- */
.text-gradient {
    background: linear-gradient(135deg, #14803D 0%, #22C55E 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* --- Hero float animation --- */
@keyframes hero-float {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-20px) scale(1.02); }
}
.hero-float { animation: hero-float 8s ease-in-out infinite; }
}

/* --- Details marker style --- */
details summary::-webkit-details-marker,
details summary::marker {
    display: none;
    content: "";
}
details summary {
    list-style: none;
}

/* --- Step line connector --- */
.step-connector {
    position: relative;
}
.step-connector::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2rem;
    width: 2px;
    height: 2rem;
    background: #D1D5DB;
}
.step-connector:last-child::after {
    display: none;
}

/* --- Breadcrumb separator --- */
.breadcrumb-sep {
    color: #D1D5DB;
    margin: 0 0.5rem;
    font-size: 0.75rem;
}
