.tirzepatid-calculator {
    transition: all 0.3s ease;
}

.tirzepatid-calculator input {
    transition: all 0.3s ease;
}

.tirzepatid-calculator input:focus {
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.5);
}

.tirzepatid-calculator button {
    transition: all 0.3s ease;
}

.tirzepatid-calculator button:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.tirzepatid-buy-button, .tirzepatid-diet-button, .tirzepatid-reset-button {
    transition: all 0.3s ease;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.tirzepatid-buy-button:hover, .tirzepatid-diet-button:hover, .tirzepatid-reset-button:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

#diet-plan-modal {
    transition: opacity 0.3s ease;
}

#diet-plan-modal:not(.hidden) {
    opacity: 1;
}

#diet-plan-modal .bg-gradient-to-b {
    max-height: 80vh;
    overflow-y: auto;
    transform: translateY(0);
    transition: transform 0.3s ease, opacity 0.3s ease;
    scrollbar-width: thin;
    scrollbar-color: #f59e0b #f0f0f0;
    width: 100%;
    max-width: 20rem;
    margin: 0 auto;
}

@media (min-width: 640px) {
    #diet-plan-modal .bg-gradient-to-b {
        max-width: 28rem;
    }
}

@media (min-width: 1024px) {
    #diet-plan-modal .bg-gradient-to-b {
        max-width: 42rem;
    }
}

#diet-plan-modal .bg-gradient-to-b::-webkit-scrollbar {
    width: 8px;
}

#diet-plan-modal .bg-gradient-to-b::-webkit-scrollbar-track {
    background: #f0f0f0;
}

#diet-plan-modal .bg-gradient-to-b::-webkit-scrollbar-thumb {
    background: #f59e0b;
    border-radius: 4px;
}

#diet-plan-modal .bg-gradient-to-b::-webkit-scrollbar-thumb:hover {
    background: #d97706;
}

#diet-plan-modal.hidden .bg-gradient-to-b {
    transform: translateY(-20px);
    opacity: 0;
}

#close-modal {
    font-size: 1.75rem;
    transition: color 0.2s ease;
}

#close-modal:hover {
    color: #000;
}

#tirze_result {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

#tirze_result:not(:empty) {
    opacity: 1;
    transform: translateY(0);
}