:root {
    /* Terprint Brand Colors */
    --terprint-primary: #10B981;
    --terprint-primary-light: #34D399;
    --terprint-primary-dark: #059669;
    
    /* Terpene Colors */
    --terpene-myrcene: #22c55e;
    --terpene-limonene: #eab308;
    --terpene-caryophyllene: #f97316;
    --terpene-linalool: #a855f7;
    --terpene-pinene: #3b82f6;
    --terpene-humulene: #84cc16;
    --terpene-terpinolene: #f43f5e;
    --terpene-ocimene: #06b6d4;
    
    /* Effect Colors */
    --effect-relaxed: #6366f1;
    --effect-energetic: #f59e0b;
    --effect-creative: #ec4899;
    --effect-focused: #3b82f6;
    --effect-sleepy: #8b5cf6;
    --effect-happy: #10b981;
    --effect-hungry: #f97316;
}

/* Global Styles */
html, body {
    font-family: 'Inter', 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    min-height: 100vh;
}

/* Mobile-first responsive */
.strain-card {
    transition: transform 0.2s, box-shadow 0.2s;
}

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

/* Chat styles */
.messages-container::-webkit-scrollbar {
    width: 8px;
}

.messages-container::-webkit-scrollbar-track {
    background: transparent;
}

.messages-container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 4px;
}

.chat-session.active {
    background: rgba(16, 185, 129, 0.15);
}

/* Deal carousel */
.deal-carousel {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.deal-carousel::-webkit-scrollbar {
    display: none;
}

/* D3 Chart containers */
.chart-container svg {
    width: 100%;
    height: 100%;
}

/* Responsive adjustments */
@media (max-width: 600px) {
    .mud-drawer-open-responsive-sm-breakpoint .mud-main-content {
        margin-left: 0 !important;
    }
    
    .mobile-hide {
        display: none !important;
    }
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Focus states for accessibility */
button:focus-visible,
a:focus-visible,
input:focus-visible {
    outline: 2px solid var(--terprint-primary);
    outline-offset: 2px;
}

/* Loading skeleton animation */
@keyframes shimmer {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

.skeleton {
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.05) 25%,
        rgba(255, 255, 255, 0.1) 50%,
        rgba(255, 255, 255, 0.05) 75%
    );
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
}

/* Text truncation utilities */
.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.text-truncate-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Glassmorphism effect for cards */
.glass-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* PWA safe area handling */
@supports (padding-top: env(safe-area-inset-top)) {
    body {
        padding-top: env(safe-area-inset-top);
        padding-bottom: env(safe-area-inset-bottom);
        padding-left: env(safe-area-inset-left);
        padding-right: env(safe-area-inset-right);
    }
}

/* Card overflow fix - prevent clipping */
.hover-card {
    overflow: visible !important;
}

.mud-paper {
    overflow: visible;
}

/* MudStack overflow */
.mud-stack {
    overflow: visible;
}

/* MudChip overflow fix */
.mud-chip {
    overflow: visible;
    text-overflow: ellipsis;
}

/* Deals page specific fixes */
.deals-page .mud-paper {
    overflow: visible;
}

.deals-page .mud-grid-item {
    overflow: visible;
}

/* Card overflow fix - prevent clipping */
.hover-card {
    overflow: visible !important;
}

.mud-paper {
    overflow: visible;
}

/* MudStack overflow */
.mud-stack {
    overflow: visible;
}

/* MudChip overflow fix */
.mud-chip {
    overflow: visible;
    text-overflow: ellipsis;
}

/* Deals page specific fixes */
.deals-page .mud-paper {
    overflow: visible;
}

.deals-page .mud-grid-item {
    overflow: visible;
}

/* Card overflow fix - prevent clipping */
.hover-card {
    overflow: visible !important;
}

.mud-paper {
    overflow: visible;
}

/* MudStack overflow */
.mud-stack {
    overflow: visible;
}

/* MudChip overflow fix */
.mud-chip {
    overflow: visible;
    text-overflow: ellipsis;
}

/* Deals page specific fixes */
.deals-page .mud-paper {
    overflow: visible;
}

.deals-page .mud-grid-item {
    overflow: visible;
}
