/* 
 * Everest Hospital Custom Theme
 * Based on Logo Colors
 * Primary: #0066B2 (Blue) | Accent: #FF5733 (Orange-Red)
 */

:root {
    /* Primary Colors from Logo */
    --everest-blue: #0066B2;
    --everest-blue-light: #0077CC;
    --everest-blue-dark: #004D85;
    --everest-blue-darker: #003D6B;
    
    /* Accent Colors from Logo */
    --everest-orange: #FF5733;
    --everest-orange-light: #FF6B4A;
    --everest-orange-dark: #E84D3D;
    
    /* Neutral Colors */
    --white: #FFFFFF;
    --gray-50: #F9FAFB;
    --gray-100: #F3F4F6;
    --gray-200: #E5E7EB;
    --gray-300: #D1D5DB;
    --gray-600: #4B5563;
    --gray-700: #374151;
    --gray-900: #111827;
}

/* Typography - Professional Medical Font */
body {
    font-family: 'Inter', 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', 'Segoe UI', sans-serif;
    font-weight: 700;
    letter-spacing: -0.02em;
}

/* Primary Buttons - Everest Blue */
.btn-primary,
.bg-primary,
[class*="bg-blue-"] {
    background-color: var(--everest-blue) !important;
    border-color: var(--everest-blue) !important;
    color: var(--white) !important;
}

.btn-primary:hover,
.bg-primary:hover {
    background-color: var(--everest-blue-dark) !important;
    border-color: var(--everest-blue-dark) !important;
}

/* Secondary Buttons - Everest Orange */
.btn-secondary,
.bg-secondary,
.bg-orange,
[class*="bg-red-"] {
    background-color: var(--everest-orange) !important;
    border-color: var(--everest-orange) !important;
    color: var(--white) !important;
}

.btn-secondary:hover,
.bg-secondary:hover {
    background-color: var(--everest-orange-dark) !important;
    border-color: var(--everest-orange-dark) !important;
}

/* Text Colors */
.text-primary {
    color: var(--everest-blue) !important;
}

.text-secondary {
    color: var(--everest-orange) !important;
}

/* Links */
a {
    color: var(--everest-blue);
    transition: color 0.2s ease;
}

a:hover {
    color: var(--everest-blue-dark);
}

/* Borders and Accents */
.border-primary {
    border-color: var(--everest-blue) !important;
}

.border-secondary {
    border-color: var(--everest-orange) !important;
}

/* Focus States */
input:focus,
textarea:focus,
select:focus {
    border-color: var(--everest-blue) !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 102, 178, 0.1) !important;
}

/* Navbar Specific Overrides */
.bg-\[\\#0e1a3a\] {
    background-color: var(--everest-blue-darker) !important;
}

.bg-\[\\#044a75\] {
    background-color: var(--everest-blue-dark) !important;
}

.hover\:bg-\[\\#223159\]:hover {
    background-color: var(--everest-blue-dark) !important;
}

.hover\:bg-\[\\#16264f\]:hover {
    background-color: var(--everest-blue-dark) !important;
}

/* Update dark blue colors to logo blue */
[class*="text-[#0e1a3a]"],
.text-\[\\#0e1a3a\] {
    color: var(--everest-blue-darker) !important;
}

/* Gradient Buttons */
.bg-gradient-to-r.from-red-500 {
    background: linear-gradient(to right, var(--everest-orange), var(--everest-orange-dark)) !important;
}

/* Card Headers */
.bg-\[\\#f0fafd\] {
    background-color: rgba(0, 102, 178, 0.05) !important;
}

/* Icon Colors */
.text-icon-purple,
.text-icon-green,
.text-icon-orange {
    color: var(--everest-blue) !important;
}

.bg-icon-purple\/10,
.bg-icon-green\/10,
.bg-icon-orange\/10 {
    background-color: rgba(0, 102, 178, 0.1) !important;
}

/* Pulse Animation for Book Appointment */
@keyframes pulse-glow {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(255, 87, 51, 0.7);
    }
    50% {
        box-shadow: 0 0 0 10px rgba(255, 87, 51, 0);
    }
}

.animate-pulse-glow {
    animation: pulse-glow 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* Success States */
.bg-green-500,
.bg-green-600 {
    background-color: #10B981 !important;
}

/* Warning States */
.bg-yellow-500,
.bg-yellow-600 {
    background-color: #F59E0B !important;
}

/* Info States */
.bg-blue-500,
.bg-blue-600 {
    background-color: var(--everest-blue) !important;
}

/* Hover Effects for Cards */
.group:hover .group-hover\:bg-\[\\#0e1a3a\] {
    background-color: var(--everest-blue-darker) !important;
}

/* Shadows with Brand Color */
.shadow-brand {
    box-shadow: 0 10px 30px rgba(0, 102, 178, 0.15);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: var(--gray-100);
}

::-webkit-scrollbar-thumb {
    background: var(--everest-blue);
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--everest-blue-dark);
}

/* Selection Color */
::selection {
    background-color: var(--everest-blue);
    color: var(--white);
}

::-moz-selection {
    background-color: var(--everest-blue);
    color: var(--white);
}

/* Responsive Typography */
@media (max-width: 768px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    h3 { font-size: 1.5rem; }
}


/* Utility Classes for Easy Color Updates */
.everest-blue-text {
    color: #0066B2 !important;
}

.everest-blue-bg {
    background-color: #0066B2 !important;
}

.everest-blue-dark-bg {
    background-color: #004D85 !important;
}

.everest-blue-hover:hover {
    background-color: #004D85 !important;
}

.everest-orange-bg {
    background-color: #FF5733 !important;
}

.everest-orange-text {
    color: #FF5733 !important;
}

/* Specific Component Overrides */
.font-display,
h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', 'Segoe UI', 'Roboto', sans-serif !important;
}

/* Button Hover States */
button:hover, a.button:hover {
    transform: translateY(-2px);
    transition: all 0.3s ease;
}

/* Card Shadows with Brand Color */
.shadow-everest {
    box-shadow: 0 10px 40px rgba(0, 102, 178, 0.15) !important;
}

/* Gradient Backgrounds */
.bg-gradient-everest {
    background: linear-gradient(135deg, #0066B2 0%, #004D85 100%) !important;
}

.bg-gradient-everest-orange {
    background: linear-gradient(135deg, #FF5733 0%, #E84D3D 100%) !important;
}

/* Border Colors */
.border-everest-blue {
    border-color: #0066B2 !important;
}

.border-everest-orange {
    border-color: #FF5733 !important;
}

/* Ring Colors for Focus States */
.ring-everest-blue {
    --tw-ring-color: rgba(0, 102, 178, 0.5) !important;
}
