/* Custom styles beyond Tailwind */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&display=swap');

body {
    font-family: 'Roboto', sans-serif;
    -webkit-font-smoothing: antialiased;
}

/* Page load fade-in with rise */
.page-fade-in {
    opacity: 0;
    transform: translateY(16px);
    animation: pageFadeIn 0.55s ease-out forwards;
}

@keyframes pageFadeIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Smooth transitions for form interactions */
.medication-block {
    animation: slideIn 0.2s ease-out;
}
.medication-block--collapsed .medication-block-chevron {
    transform: rotate(-90deg);
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Focus ring consistency */
input:focus,
select:focus,
textarea:focus {
    --tw-ring-color: #f97316;
    border-color: #f97316;
}

/* Submit button hover effect */
.btn-submit {
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.btn-submit:hover {
    transform: translateY(-2px);
}
.btn-submit:active {
    transform: translateY(0);
}

/* Safe area for notched iPhones */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    footer {
        padding-bottom: calc(2rem + env(safe-area-inset-bottom));
    }
}
