/* Custom styles for CalcHub - Bootstrap 5 based */

/* Calculator Cards */
.calculator-card {
    transition: all 0.3s ease;
}

.calculator-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.15) !important;
}

.calculator-icon {
    transition: transform 0.3s ease;
}

.calculator-card:hover .calculator-icon {
    transform: scale(1.1);
}

/* Ad Container */
.ad-container {
    background-color: var(--bs-secondary-bg);
    min-height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Button enhancements */
.btn-primary {
    transition: all 0.3s ease;
}

.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(13, 110, 253, 0.4);
}

/* Result cards */
.result-card {
    border-left: 4px solid var(--bs-primary);
}

/* Smooth transitions */
* {
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Dark mode specific adjustments */
[data-bs-theme="dark"] .calculator-icon {
    filter: brightness(1.1);
}

/* Form enhancements */
.form-control:focus, .form-select:focus {
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

/* BMI Category specific colors */
.bmi-underweight {
    background-color: rgba(13, 202, 240, 0.1);
    border-left-color: #0dcaf0 !important;
}

.bmi-normal {
    background-color: rgba(25, 135, 84, 0.1);
    border-left-color: #198754 !important;
}

.bmi-overweight {
    background-color: rgba(255, 193, 7, 0.1);
    border-left-color: #ffc107 !important;
}

.bmi-obese {
    background-color: rgba(220, 53, 69, 0.1);
    border-left-color: #dc3545 !important;
}

[data-bs-theme="dark"] .bmi-underweight {
    background-color: rgba(13, 202, 240, 0.2);
}

[data-bs-theme="dark"] .bmi-normal {
    background-color: rgba(25, 135, 84, 0.2);
}

[data-bs-theme="dark"] .bmi-overweight {
    background-color: rgba(255, 193, 7, 0.2);
}

[data-bs-theme="dark"] .bmi-obese {
    background-color: rgba(220, 53, 69, 0.2);
}

/* Compact layout for calculator pages */
main .text-center.mb-5 {
    margin-bottom: 2rem !important;
}

main .text-center.mb-5 .fs-1 {
    font-size: 2.5rem !important;
    margin-bottom: 0.5rem !important;
}

main .text-center.mb-5 .display-4 {
    font-size: 2rem !important;
    margin-bottom: 1rem !important;
}

main .text-center.mb-5 .lead {
    font-size: 1rem !important;
    margin-bottom: 0 !important;
}

/* Reduce ad container size */
.ad-container {
    min-height: 50px !important;
    padding: 1rem !important;
    font-size: 0.85rem;
}

/* Tighter spacing */
.mb-4 {
    margin-bottom: 1rem !important;
}

.my-4 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important;
}

.my-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}

.card-body.p-4 {
    padding: 1.5rem !important;
}

/* Compact homepage hero section */
header.bg-primary {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

header .container.text-center {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

header .display-3 {
    font-size: 2.5rem !important;
    margin-bottom: 1rem !important;
}

header .lead {
    font-size: 1.1rem !important;
}

/* Reduce spacing around calculator cards on homepage */
main.container.my-5 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
}
