/* DosageTools - Custom Styles */

/* Calculator card styling */
.calc-card {
    @apply bg-white rounded-2xl shadow-lg border border-gray-100 overflow-hidden;
}

.calc-input {
    @apply w-full px-4 py-3 border border-gray-200 rounded-xl text-lg font-mono focus:ring-2 focus:ring-brand-500 focus:border-brand-500 outline-none transition-all;
}

.calc-input::-webkit-inner-spin-button,
.calc-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.calc-input[type=number] {
    -moz-appearance: textfield;
}

.calc-select {
    @apply w-full px-4 py-3 border border-gray-200 rounded-xl text-lg bg-white focus:ring-2 focus:ring-brand-500 focus:border-brand-500 outline-none transition-all cursor-pointer;
}

.calc-btn {
    @apply w-full py-4 px-6 bg-brand-500 hover:bg-brand-600 text-white font-semibold rounded-xl transition-all transform hover:scale-[1.02] active:scale-[0.98] shadow-lg shadow-brand-500/25;
}

.calc-result {
    @apply bg-gradient-to-br from-brand-50 to-emerald-50 rounded-xl p-6 border border-brand-100;
}

.calc-result-value {
    @apply text-4xl sm:text-5xl font-bold text-brand-600 font-mono;
}

/* FAQ accordion */
.faq-item {
    @apply border-b border-gray-100 last:border-0;
}

.faq-question {
    @apply w-full flex items-center justify-between py-4 text-left font-medium text-gray-900 hover:text-brand-600 transition-colors;
}

.faq-answer {
    @apply pb-4 text-gray-600 leading-relaxed hidden;
}

.faq-answer.open {
    @apply block;
}

.faq-icon {
    @apply w-5 h-5 text-gray-400 transition-transform;
}

.faq-icon.open {
    @apply rotate-180;
}

/* Smooth animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.3s ease-out;
}

/* Print styles */
@media print {
    header, footer, .no-print { display: none !important; }
    .calc-result { break-inside: avoid; }
}
