/* Light Blog Theme Styles */

/* Force light theme colors - override DaisyUI defaults */
[data-theme="lightblog"],
[data-theme="light"],
html[data-theme="lightblog"],
html[data-theme="light"] {
    --primary: 37 99 235;
    --primary-focus: 29 78 216;
    --primary-content: 255 255 255;
    
    --secondary: 100 116 139;
    --secondary-focus: 71 85 105;
    --secondary-content: 255 255 255;
    
    --accent: 245 158 11;
    --accent-focus: 217 119 6;
    --accent-content: 255 255 255;
    
    --neutral: 55 65 81;
    --neutral-focus: 31 41 55;
    --neutral-content: 255 255 255;
    
    --base-100: 255 255 255;
    --base-200: 248 250 252;
    --base-300: 226 232 240;
    --base-content: 31 41 55;
    
    --info: 14 165 233;
    --success: 16 185 129;
    --warning: 245 158 11;
    --error: 239 68 68;

    --p: 30 70% 40%;      /* Navy primary */
    --pc: 0 0% 100%;      /* White on primary */
    --s: 215 28% 63%;     /* Steel secondary */
    --sc: 0 0% 100%;      /* White on secondary */
    --a: 217 91% 60%;     /* Theme blue accent */
    --ac: 0 0% 100%;      /* White on accent */
    --n: 220 13% 46%;     /* Gray neutral */
    --nc: 0 0% 100%;      /* White on neutral */
    --b1: 220 13% 98%;    /* Light base */
    --b2: 220 13% 95%;    /* Slightly darker base */
    --b3: 220 13% 90%;    /* Even darker base */
    --bc: 220 13% 20%;    /* Dark text on base */
    
    color-scheme: light;
}

/* Force body and html to use light background */
html, body {
    background-color: rgba(245, 245, 245, 0.877) !important;
    color: rgb(31 41 55) !important;
}

/* Theme-specific color variables for custom use */
:root {
    --lightblog-primary: #2563eb;
    --lightblog-secondary: #64748b;
    --lightblog-accent: #f59e0b;
    --lightblog-neutral: #374151;
    --lightblog-base-100: #ffffff;
    --lightblog-base-200: #f8fafc;
    --lightblog-base-300: #e2e8f0;
    --lightblog-info: #0ea5e9;
    --lightblog-success: #10b981;
    --lightblog-warning: #f59e0b;
    --lightblog-error: #ef4444;
    
    /* Typography */
    --lightblog-font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --lightblog-font-heading: 'Cal Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    
    /* Shadows */
    --lightblog-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --lightblog-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --lightblog-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --lightblog-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.0
    4);

    
    --theme-black: #353535;
    --theme-navy: #1e3a8a;
    --theme-steel: #64748b;
    --theme-blue: #3b82f6;
    --theme-gray: #6b7280;
    --theme-light: #f8fafc;
    --theme-accent: #059669;
    --shadow-theme: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-theme-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Force light theme on main container */
.min-h-screen {
    background-color: rgb(255 255 255) !important;
    color: rgb(31 41 55) !important;
}

/* Hero section enhancements */
.hero.bg-base-200 {
    background: linear-gradient(135deg, rgb(248 250 252) 0%, #e0f2fe 100%) !important;
    position: relative;
    overflow: hidden;
}

.hero.bg-base-200::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23e2e8f0' fill-opacity='0.3'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    opacity: 0.5;
    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 1;
}

/* Typography enhancements */
.hero h1 {
    font-family: var(--lightblog-font-heading);
    background: linear-gradient(135deg, var(--lightblog-primary), var(--lightblog-accent));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
    letter-spacing: -0.025em;
}

.hero p {
    color: var(--lightblog-secondary) !important;
    font-weight: 500;
}

/* Force light background on cards */
.card {
    background: rgb(255 255 255) !important;
    border: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: var(--lightblog-shadow-md);
    border-radius: 1rem;
    overflow: hidden;
    backdrop-filter: blur(10px);
    color: rgb(31 41 55) !important;
}

.card:hover {
    box-shadow: var(--lightblog-shadow-xl);
    border-color: rgba(37, 99, 235, 0.2);
}

/* Card body content */
.card-body {
    background: rgb(255 255 255) !important;
    color: rgb(31 41 55) !important;
}

/* Card title styling */
.card-title {
    font-family: var(--lightblog-font-heading);
    color: var(--lightblog-neutral) !important;
    font-weight: 700;
    line-height: 1.3;
}

.card-title:hover {
    color: var(--lightblog-primary) !important;
    transition: color 0.2s ease-in-out;
}

/* Blog content text styling */
.blog-content {
    color: #64748b !important;
    font-size: 0.95rem;
    line-height: 1.7;
    font-weight: 400;
}

/* Meta information styling */
.text-gray-600 {
    color: var(--lightblog-secondary) !important;
    font-size: 0.875rem;
    font-weight: 500;
}

/* Badge styling */
.badge {
    font-weight: 600;
    font-size: 0.75rem;
    border-radius: 0.5rem;
    padding: 0.25rem 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.badge-primary {
    background: linear-gradient(135deg, var(--lightblog-primary), #3b82f6) !important;
    color: white !important;
    border: none;
}

.badge-secondary {
    background: linear-gradient(135deg, var(--lightblog-secondary), #6b7280) !important;
    color: white !important;
    border: none;
}

.badge-outline {
    background: transparent !important;
    border: 1.5px solid var(--lightblog-base-300) !important;
    color: var(--lightblog-secondary) !important;
    backdrop-filter: blur(10px);
}

.badge-outline:hover {
    background: var(--lightblog-primary) !important;
    color: white !important;
    border-color: var(--lightblog-primary) !important;
}

/* Default badge styling */
.badge:not(.badge-primary):not(.badge-secondary):not(.badge-outline) {
    background: rgb(226 232 240) !important;
    color: rgb(55 65 81) !important;
    border: none;
}

/* Sidebar card styling */
.lg\:col-span-1 .card {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

/* Category list styling */
.space-y-2 .flex {
    padding: 0.75rem;
    border-radius: 0.5rem;
    transition: background-color 0.2s ease-in-out;
    cursor: pointer;
}

.space-y-2 .flex:hover {
    background-color: var(--lightblog-base-200) !important;
}

.space-y-2 .flex span:first-child {
    font-weight: 500;
    color: var(--lightblog-neutral) !important;
}

/* Recent posts styling */
.space-y-4 .flex {
    padding: 0.75rem;
    border-radius: 0.75rem;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}

.space-y-4 .flex:hover {
    background-color: var(--lightblog-base-200) !important;
    transform: translateX(0.25rem);
}

.space-y-4 .flex img {
    border-radius: 0.5rem;
    box-shadow: var(--lightblog-shadow-sm);
}

.space-y-4 .flex h4 {
    color: var(--lightblog-neutral) !important;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.4;
}

.space-y-4 .flex h4:hover {
    color: var(--lightblog-primary) !important;
}

.space-y-4 .flex p {
    color: var(--lightblog-secondary) !important;
    font-size: 0.75rem;
    font-weight: 500;
}

/* Image styling */
.card figure img {
    transition: all 0.3s ease-in-out;
    filter: brightness(1) saturate(1);
}

.card:hover figure img {
    filter: brightness(1.05) saturate(1.1);
}

/* Container improvements */
.container {
    max-width: 1200px;
    background: transparent !important;
}

/* Force light backgrounds on all potential dark elements */
.bg-base-100 {
    background-color: rgb(255 255 255) !important;
}

.bg-base-200 {
    background-color: rgb(248 250 252) !important;
}

.bg-base-300 {
    background-color: rgb(226 232 240) !important;
}

/* Text colors */
.text-base-content {
    color: rgb(31 41 55) !important;
}

.text-base-content\/60 {
    color: rgba(31, 41, 55, 0.6) !important;
}

.text-base-content\/80 {
    color: rgba(31, 41, 55, 0.8) !important;
}

/* Responsive typography */
@media (max-width: 768px) {
    .hero h1 {
        font-size: 2.5rem;
    }
    
    .hero p {
        font-size: 1rem;
    }
    
    .card-title {
        font-size: 1.5rem;
    }
}

/* Loading state for images */
.card figure {
    position: relative;
    overflow: hidden;
}

.card figure::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
    z-index: 1;
}

.card figure:hover::before {
    left: 100%;
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
    background-color: rgb(255 255 255) !important;
}

/* Selection styling */
::selection {
    background-color: var(--lightblog-primary);
    color: white;
}

::-moz-selection {
    background-color: var(--lightblog-primary);
    color: white;
}

/* Animation keyframes */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(2rem);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Page load animations */
.page-content {
    animation: fadeInUp 0.6s ease-out;
}

.card:nth-child(1) { animation-delay: 0.1s; }
.card:nth-child(2) { animation-delay: 0.2s; }
.card:nth-child(3) { animation-delay: 0.3s; }

/* Focus improvements for accessibility */
.card:focus-within {
    outline: 2px solid var(--lightblog-primary);
    outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .card {
        border: 2px solid var(--lightblog-neutral);
    }
    
    .badge-outline {
        border-width: 2px;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}


  /* Typography Enhancements */
  .theme-heading {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2;
  }
  
  .theme-subheading {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    color: var(--theme-steel);
    letter-spacing: -0.015em;
  }
  
  .theme-body {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    line-height: 1.6;
    color: var(--theme-gray);
  }
  
  /* Theme Navigation */
  .theme-navbar {
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 1px solid rgba(30, 58, 138, 0.1);
    box-shadow: var(--shadow-theme);
  }
  
  .theme-nav-link {
    position: relative;
    font-weight: 500;
    color: var(--theme-black);
    transition: all 0.2s ease;
  }
  
  .theme-nav-link:hover {
    color: var(--theme-navy);
  }
  
  .theme-nav-link::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--theme-navy);
    transition: width 0.3s ease;
  }
  
  .theme-nav-link:hover::after,
  .theme-nav-link.active::after {
    width: 100%;
  }
  
  /* Theme Hero Section */
  .theme-hero {
    background: linear-gradient(135deg, var(--theme-navy) 0%, var(--theme-blue) 100%);
    position: relative;
    overflow: hidden;
  }
  
  .theme-hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    opacity: 0.3;
  }
  
  /* Theme Cards */
  .theme-card {
    background: white;
    border-radius: 12px;
    box-shadow: var(--shadow-theme);
    border: 1px solid rgba(30, 58, 138, 0.08);
    transition: all 0.3s ease;
    overflow: hidden;
  }
  
  .theme-card:hover {
    box-shadow: var(--shadow-theme-lg);
    transform: translateY(-4px);
  }
  
  .theme-card-header {
    padding: 1.5rem;
    border-bottom: 1px solid rgba(30, 58, 138, 0.08);
  }
  
  .theme-card-body {
    padding: 1.5rem;
  }
  
  /* Theme Buttons */
  .btn-theme {
    background: var(--theme-navy);
    color: white;
    border: none;
    font-weight: 600;
    padding: 0.75rem 2rem;
    border-radius: 8px;
    transition: all 0.2s ease;
    text-transform: none;
    letter-spacing: 0;
  }
  
  .btn-theme:hover {
    background: var(--theme-blue);
    transform: translateY(-1px);
    box-shadow: var(--shadow-theme);
  }
  
  .btn-theme-outline {
    background: transparent;
    color: var(--theme-navy);
    border: 2px solid var(--theme-navy);
    font-weight: 600;
    padding: 0.75rem 2rem;
    border-radius: 8px;
    transition: all 0.2s ease;
  }
  
  .btn-theme-outline:hover {
    background: var(--theme-navy);
    color: white;
  }
  
  /* Theme Blog Post Styling */
  .theme-post {
    background: white;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: var(--shadow-theme);
    border: 1px solid rgba(30, 58, 138, 0.08);
    margin-bottom: 2rem;
    transition: all 0.3s ease;
  }
  
  .theme-post:hover {
    box-shadow: var(--shadow-theme-lg);
  }
  
  .theme-post-meta {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--theme-steel);
    margin-bottom: 1rem;
  }
  
  .theme-post-category {
    background: var(--theme-accent);
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  
  /* Theme Sidebar */
  .theme-sidebar {
    background: var(--theme-light);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: var(--shadow-theme);
    border: 1px solid rgba(30, 58, 138, 0.08);
  }
  
  .theme-sidebar-title {
    color: var(--theme-navy);
    font-weight: 700;
    margin-bottom: 1.5rem;
    font-size: 1.25rem;
  }
  
  /* Theme Form Styling */
  .theme-form-input {
    border: 2px solid rgba(30, 58, 138, 0.1);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    transition: all 0.2s ease;
    background: white;
  }
  
  .theme-form-input:focus {
    border-color: var(--theme-blue);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    outline: none;
  }
  
  /* Theme Newsletter Section */
  .theme-newsletter {
    background: linear-gradient(135deg, var(--theme-navy) 0%, var(--theme-blue) 100%);
    color: white;
    border-radius: 12px;
    padding: 3rem 2rem;
    text-align: center;
    margin: 3rem 0;
  }
  
  /* Theme Footer */
  .theme-footer {
    background: var(--theme-navy);
    color: white;
    padding: 3rem 0 2rem;
    margin-top: 4rem;
  }
  
  .theme-footer-section {
    margin-bottom: 2rem;
  }
  
  .theme-footer-title {
    color: white;
    font-weight: 700;
    margin-bottom: 1rem;
  }
  
  .theme-footer-link {
    color: rgba(255, 255, 255, 0.8);
    transition: color 0.2s ease;
  }
  
  .theme-footer-link:hover {
    color: white;
  }
  
  /* Responsive Design */
  @media (max-width: 768px) {
    .theme-hero {
      padding: 3rem 1rem;
    }
    
    .theme-card-body {
      padding: 1rem;
    }
    
    .theme-newsletter {
      padding: 2rem 1rem;
    }
  }
  
  /* Loading and Transition Effects */
  .theme-loading {
    opacity: 0.6;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  
  .theme-fade-in {
    animation: themeFadeIn 0.5s ease-out;
  }
  
  @keyframes themeFadeIn {
    from {
      opacity: 0;
      transform: translateY(20px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
  
  /* Theme Stats/Metrics Styling */
  .theme-stats {
    background: white;
    border-radius: 12px;
    padding: 2rem;
    box-shadow: var(--shadow-theme);
    text-align: center;
  }
  
  .theme-stat-number {
    font-size: 3rem;
    font-weight: 800;
    color: var(--theme-navy);
    line-height: 1;
  }
  
  .theme-stat-label {
    color: var(--theme-steel);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.875rem;
  }
  
  /* Theme Breadcrumb */
  .theme-breadcrumb {
    background: var(--theme-light);
    padding: 1rem 0;
    border-bottom: 1px solid rgba(30, 58, 138, 0.1);
  }
  
  .theme-breadcrumb a {
    color: var(--theme-steel);
    text-decoration: none;
    transition: color 0.2s ease;
  }
  
  .theme-breadcrumb a:hover {
    color: var(--theme-navy);
  }
  
  .theme-breadcrumb .current {
    color: var(--theme-navy);
    font-weight: 600;
  }