/* 
   Kumbh Sans fonts are loaded via Google Fonts CDN in base.html template.
   Local @font-face declarations have been removed to prevent 404 errors
   until actual font files are available in static/fonts/.
   
   When actual font files (woff2, woff, ttf) are added to static/fonts/,
   uncomment the @font-face declarations below for offline font loading:

@font-face {
    font-family: 'Kumbh Sans';
    src: url('../fonts/KumbhSans-Light.woff2') format('woff2'),
         url('../fonts/KumbhSans-Light.woff') format('woff'),
         url('../fonts/KumbhSans-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Kumbh Sans';
    src: url('../fonts/KumbhSans-Regular.woff2') format('woff2'),
         url('../fonts/KumbhSans-Regular.woff') format('woff'),
         url('../fonts/KumbhSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Kumbh Sans';
    src: url('../fonts/KumbhSans-Bold.woff2') format('woff2'),
         url('../fonts/KumbhSans-Bold.woff') format('woff'),
         url('../fonts/KumbhSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
*/

/* Kumbh Sans variables for consistent usage */
:root {
    --font-family-kumbh: 'Kumbh Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-bold: 700;
}

:root {
    /* Routine101 Color Palette */
    --routine101-off-white: #FFFFF1;
    --routine101-light-blue: #BDD8EC;
    --routine101-light-pink: #F39A9F;
    --routine101-teal: #538A8A;
    --routine101-medium-blue: #355EA1;
    --routine101-dark: #08182C;
    
    /* Updated Bootstrap-compatible variables */
    --bg: var(--routine101-off-white);
    --text: var(--routine101-dark);
    --primary: var(--routine101-medium-blue);
    --primary-dark: #2A4881;
    --success: var(--routine101-teal);
    --info: var(--routine101-light-blue);
    --light: var(--routine101-off-white);
    --dark: var(--routine101-dark);
    --secondary: var(--routine101-light-pink);
}

body {
    background-color: var(--bg);
    color: var(--text);
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-regular);
    line-height: 1.6;
}

/* Enhanced Button Styles */
.btn-primary {
    background-color: var(--primary);
    border: none;
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-bold); /* Kumbh Sans Bold */
    letter-spacing: 0.025em;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background-color: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(13, 110, 253, 0.3);
}

.btn-outline-primary {
    border: 2px solid var(--primary);
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-bold); /* Kumbh Sans Bold */
    letter-spacing: 0.025em;
    transition: all 0.3s ease;
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(13, 110, 253, 0.2);
}

/* Hero Section */
.hero_section_image {
    max-width: 400px;
    transition: transform 0.3s ease;
}

.hero_section_image:hover {
    transform: scale(1.05);
}

/* Enhanced Card Styles */
.hover-card {
    transition: all 0.3s ease;
    border-radius: 16px !important;
}

.hover-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
}

.feature-icon {
    margin-bottom: 1.5rem;
}

.feature-icon i {
    transition: all 0.3s ease;
}

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

/* Typography Enhancements with Kumbh Sans */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-bold); /* Kumbh Sans Bold */
}

p, .lead, .text-body {
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-light); /* Kumbh Sans Light */
}

.display-3 {
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-bold); /* Kumbh Sans Bold */
    letter-spacing: -0.025em;
}

.display-5 {
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-bold); /* Kumbh Sans Bold */
    letter-spacing: -0.02em;
}

.display-6 {
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-bold); /* Kumbh Sans Bold */
}

/* Responsive Improvements */
@media (max-width: 768px) {
    .display-3 {
        font-size: 2.5rem;
    }
    
    .hero_section_image {
        max-width: 300px;
    }
    
    .btn-lg {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .display-3 {
        font-size: 2rem;
    }
    
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    
    .card-body {
        padding: 2rem !important;
    }
}

/* Animation for smooth loading */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.card {
    animation: fadeInUp 0.6s ease-out;
}

/* Legacy feature-card styles (keeping for compatibility) */
.feature-card {
    background: linear-gradient(to bottom right, var(--routine101-light-blue), var(--routine101-off-white));
    border-radius: 20px;
    padding: 10px 10px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(8, 24, 44, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 20px rgba(8, 24, 44, 0.15);
}

.feature-card i {
    font-size: 2rem;
    color: var(--routine101-medium-blue);
    margin-bottom: 20px;
}

.feature-card h5 {
    font-size: 1.4rem;
    color: var(--routine101-dark);
    margin-bottom: 12px;
}

.feature-card p {
    font-size: 1rem;
    color: var(--routine101-dark);
    line-height: 1.6;
}

/* Bootstrap Color Overrides */
.bg-light {
    background-color: var(--routine101-off-white) !important;
}

.bg-primary {
    background-color: var(--routine101-medium-blue) !important;
}

.bg-success {
    background-color: var(--routine101-teal) !important;
}

.bg-info {
    background-color: var(--routine101-light-blue) !important;
}

.bg-warning {
    background-color: var(--routine101-light-pink) !important;
}

.text-primary {
    color: var(--routine101-medium-blue) !important;
}

.text-success {
    color: var(--routine101-teal) !important;
}

.text-info {
    color: var(--routine101-light-blue) !important;
}

.text-warning {
    color: var(--routine101-light-pink) !important;
}

.text-dark {
    color: var(--routine101-dark) !important;
}

.border-primary {
    border-color: var(--routine101-medium-blue) !important;
}

.border-success {
    border-color: var(--routine101-teal) !important;
}

.border-info {
    border-color: var(--routine101-light-blue) !important;
}

.border-warning {
    border-color: var(--routine101-light-pink) !important;
}

/* Button Overrides */
.btn-primary {
    background-color: var(--routine101-medium-blue);
    border-color: var(--routine101-medium-blue);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: #2A4881;
    border-color: #2A4881;
}

.btn-success {
    background-color: var(--routine101-teal);
    border-color: var(--routine101-teal);
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: #456E6E;
    border-color: #456E6E;
}

.btn-outline-primary {
    color: var(--routine101-medium-blue);
    border-color: var(--routine101-medium-blue);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    background-color: var(--routine101-medium-blue);
    border-color: var(--routine101-medium-blue);
}

/* Card Enhancements */
.card {
    background-color: var(--routine101-off-white);
    border-color: rgba(189, 216, 236, 0.3);
}

.card-header.bg-primary {
    background-color: var(--routine101-medium-blue) !important;
    border-bottom-color: var(--routine101-medium-blue);
}

.card-header.bg-success {
    background-color: var(--routine101-teal) !important;
    border-bottom-color: var(--routine101-teal);
}

.card-header.bg-warning {
    background-color: var(--routine101-light-pink) !important;
    border-bottom-color: var(--routine101-light-pink);
    color: var(--routine101-dark) !important;
}

.card-header.bg-danger {
    background-color: #C85450 !important;
    border-bottom-color: #C85450;
}

/* Navbar Styling */
.navbar.bg-light {
    background-color: var(--routine101-off-white) !important;
    border-bottom: 1px solid rgba(189, 216, 236, 0.3);
}

.navbar-brand {
    color: var(--routine101-dark) !important;
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-bold); /* Kumbh Sans Bold */
}

.nav-link {
    color: var(--routine101-dark) !important;
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-regular); /* Kumbh Sans Regular */
}

.nav-link:hover,
.nav-link:focus {
    color: var(--routine101-medium-blue) !important;
}

/* Form Styling for Authentication Pages */
.form-control:focus {
    border-color: var(--routine101-medium-blue);
    box-shadow: 0 0 0 0.2rem rgba(53, 94, 161, 0.25);
}

.form-select:focus {
    border-color: var(--routine101-medium-blue);
    box-shadow: 0 0 0 0.2rem rgba(53, 94, 161, 0.25);
}

/* Password validation message styling */
.helptext ul {
    list-style: none;
    padding-left: 0;
    margin-top: 0.5rem;
    margin-bottom: 1rem;
    font-size: 0.875rem;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}

.helptext ul li {
    padding: 0.375rem 0.75rem;
    margin-bottom: 0.25rem;
    background-color: rgba(189, 216, 236, 0.2);
    border: 1px solid rgba(189, 216, 236, 0.4);
    border-radius: 0.375rem;
    color: var(--routine101-dark);
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-light);
}

.helptext ul li:before {
    content: "•";
    color: var(--routine101-medium-blue);
    font-weight: bold;
    margin-right: 0.5rem;
}

/* Form field labels */
form p label,
.form-label {
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-regular);
    color: var(--routine101-dark);
    margin-bottom: 0.5rem;
    display: block;
}

/* Form field spacing */
form p {
    margin-bottom: 1rem;
}

/* Centered form controls in authentication forms */
.text-center .form-control,
.text-center .form-select {
    max-width: 100%;
    margin: 0 auto;
}

/* Checkbox styling for remember me */
.form-check-input:checked {
    background-color: var(--routine101-medium-blue);
    border-color: var(--routine101-medium-blue);
}

.form-check-input:focus {
    border-color: var(--routine101-medium-blue);
    box-shadow: 0 0 0 0.2rem rgba(53, 94, 161, 0.25);
}

.form-check-label {
    font-family: var(--font-family-kumbh);
    font-weight: var(--font-weight-light);
    color: var(--routine101-dark);
}
