/**
 * Fresh Theme - Bright, Energetic
 * Perfect for food, health, kids, and lifestyle brands
 */

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800&family=Open+Sans:wght@400;500;600&display=swap');

/* Theme CSS Variables */
:root {
    --primary: #16a34a;
    --primary-rgb: 22, 163, 74;
    --primary-dark: #15803d;
    --hov-primary: #15803d;
    --soft-primary: rgba(22, 163, 74, 0.1);
    --secondary: #374151;
    --accent: #16a34a;
    --success: #22c55e;
    --warning: #f59e0b;
    --danger: #ef4444;
    --light: #f0fdf4;
    --dark: #14532d;
    --gray: #6b7280;
    --gray-light: #d1d5db;
    --background: #ffffff;
    --card-bg: #ffffff;
    --border-color: #e5e7eb;
    --border-radius: 12px;
}

/* Base Typography */
body {
    font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 500;
    line-height: 1.7;
    color: #374151;
    background-color: #ffffff;
    font-size: 16px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Nunito', sans-serif;
    font-weight: 700;
    color: #14532d;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.5rem; }

/* Header - Light & Fresh */
.aiz-header,
header,
.site-header {
    background-color: #ffffff !important;
    border-bottom: 2px solid #f0fdf4;
    box-shadow: 0 2px 10px rgba(22, 163, 74, 0.05);
}

.aiz-header .navbar-brand,
.site-header .logo {
    color: #16a34a !important;
    font-weight: 800;
    font-size: 1.5rem;
}

.aiz-header .nav-link,
.site-header a {
    color: #374151 !important;
    font-weight: 600;
    transition: color 0.2s ease;
}

.aiz-header .nav-link:hover,
.site-header a:hover {
    color: #16a34a !important;
}

/* Navigation - Green Pill Effect */
.aiz-header .nav-link.active,
.aiz-header .nav-link:hover {
    background-color: #f0fdf4;
    border-radius: 9999px;
    padding: 0.5rem 1rem;
}

/* Buttons - Rounded & Vibrant */
.btn-primary {
    background-color: #16a34a !important;
    border-color: #16a34a !important;
    color: #ffffff !important;
    font-weight: 700;
    padding: 0.75rem 1.75rem;
    border-radius: 9999px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.25);
}

.btn-primary:hover {
    background-color: #15803d !important;
    border-color: #15803d !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(22, 163, 74, 0.35);
}

.btn-outline-primary {
    color: #16a34a !important;
    border: 2px solid #16a34a !important;
    background-color: transparent !important;
    font-weight: 700;
    border-radius: 9999px;
}

.btn-outline-primary:hover {
    background-color: #16a34a !important;
    color: #ffffff !important;
}

/* Accent Button - Orange */
.btn-accent {
    background-color: #f97316 !important;
    border-color: #f97316 !important;
    color: #ffffff !important;
    font-weight: 700;
    border-radius: 9999px;
    box-shadow: 0 4px 14px rgba(249, 115, 22, 0.25);
}

.btn-accent:hover {
    background-color: #ea580c !important;
    transform: translateY(-2px);
}

/* Cards - Soft & Rounded */
.card,
.product-card,
.aiz-card {
    border: none;
    border-radius: 1rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    background-color: #ffffff;
    transition: all 0.3s ease;
    overflow: hidden;
}

.card:hover,
.product-card:hover {
    box-shadow: 0 8px 30px rgba(22, 163, 74, 0.12);
    transform: translateY(-6px);
}

/* Product Cards */
.product-card .product-image {
    border-radius: 0.75rem;
    overflow: hidden;
    margin: 0.75rem;
}

.product-card .product-title,
.product-box .product-title {
    font-size: 1rem;
    font-weight: 700;
    color: #14532d;
    margin-bottom: 0.5rem;
}

.product-card .product-price,
.product-box .product-price {
    font-size: 1.1rem;
    font-weight: 800;
    color: #16a34a;
}

.product-card .old-price {
    color: #9ca3af;
    text-decoration: line-through;
    font-weight: 500;
}

/* Category Cards - Colorful */
.category-card {
    text-align: center;
    padding: 2rem;
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
    border-radius: 1rem;
    transition: all 0.3s ease;
}

.category-card:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 30px rgba(22, 163, 74, 0.15);
}

.category-card .category-icon {
    width: 60px;
    height: 60px;
    background-color: #16a34a;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    color: #ffffff;
}

/* Footer - Light Green Tint */
footer,
.footer-area,
.aiz-footer {
    background-color: #f0fdf4 !important;
    color: #374151;
    padding: 4rem 0 2rem;
}

footer a,
.footer-area a {
    color: #6b7280 !important;
    transition: color 0.2s ease;
}

footer a:hover,
.footer-area a:hover {
    color: #16a34a !important;
}

footer h5,
footer h6 {
    color: #14532d;
    font-weight: 700;
    margin-bottom: 1.25rem;
}

/* Forms - Soft & Rounded */
.form-control {
    border: 2px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 0.875rem 1.25rem;
    font-size: 1rem;
    font-weight: 500;
    transition: all 0.2s ease;
    background-color: #f9fafb;
}

.form-control:focus {
    border-color: #16a34a;
    box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.1);
    background-color: #ffffff;
}

.form-control::placeholder {
    color: #9ca3af;
}

label {
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.5rem;
}

/* Badges & Tags - Playful */
.badge {
    font-weight: 700;
    padding: 0.4rem 0.85rem;
    border-radius: 9999px;
    font-size: 0.75rem;
}

.badge-primary {
    background-color: #16a34a !important;
    color: #ffffff !important;
}

.badge-sale {
    background-color: #f97316 !important;
    color: #ffffff !important;
}

.badge-new {
    background-color: #06b6d4 !important;
    color: #ffffff !important;
}

/* Sidebar - Fresh */
.aiz-sidebar {
    background-color: #ffffff;
    border-right: 2px solid #f0fdf4;
    border-radius: 1rem;
}

/* Breadcrumb */
.breadcrumb {
    background: transparent;
    padding: 0;
    font-size: 0.875rem;
}

.breadcrumb-item a {
    color: #6b7280;
}

.breadcrumb-item + .breadcrumb-item::before {
    content: "›";
    color: #d1d5db;
    font-weight: bold;
}

.breadcrumb-item.active {
    color: #16a34a;
    font-weight: 600;
}

/* Tables - Rounded */
.table {
    border-collapse: separate;
    border-spacing: 0;
}

.table thead th {
    background-color: #f0fdf4;
    border: none;
    font-weight: 700;
    color: #14532d;
    padding: 1rem;
}

.table thead th:first-child {
    border-top-left-radius: 0.75rem;
}

.table thead th:last-child {
    border-top-right-radius: 0.75rem;
}

.table td {
    border-bottom: 1px solid #f3f4f6;
    padding: 1rem;
}

/* Pagination - Pills */
.pagination {
    gap: 0.5rem;
}

.pagination .page-link {
    border: none;
    color: #374151;
    padding: 0.625rem 1rem;
    border-radius: 9999px;
    font-weight: 600;
    background-color: #f3f4f6;
}

.pagination .page-item.active .page-link {
    background-color: #16a34a;
    color: #ffffff;
}

.pagination .page-link:hover {
    background-color: #dcfce7;
    color: #16a34a;
}

/* Hero Section - Vibrant */
.hero-section {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 50%, #bbf7d0 100%);
    padding: 5rem 0;
    border-radius: 0 0 3rem 3rem;
}

.hero-section h1 {
    font-size: 3rem;
    color: #14532d;
    margin-bottom: 1rem;
}

.hero-section p {
    font-size: 1.15rem;
    color: #374151;
    max-width: 600px;
}

/* Sale Banner */
.sale-banner {
    background: linear-gradient(135deg, #f97316 0%, #fb923c 100%);
    color: #ffffff;
    border-radius: 1rem;
    padding: 1.5rem;
    font-weight: 700;
}

/* ==========================================
   RESPONSIVE DESIGN - Mobile First Approach
   ========================================== */

/* Extra Small Devices (portrait phones, < 576px) */
@media (max-width: 575.98px) {
    body {
        font-size: 15px;
        line-height: 1.65;
    }

    h1 { font-size: 1.75rem; }
    h2 { font-size: 1.5rem; }
    h3 { font-size: 1.25rem; }

    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* Header Mobile */
    .aiz-header,
    header,
    .site-header {
        padding: 0.75rem 0;
    }

    .aiz-header .navbar-brand {
        font-size: 1.25rem;
    }

    .aiz-header .nav-link {
        font-size: 0.9rem;
    }

    /* Product Grid */
    .product-grid,
    .row.product-list {
        gap: 1rem;
    }

    .product-card {
        margin-bottom: 1rem;
        border-radius: 0.75rem;
    }

    .product-card .product-image {
        border-radius: 0.5rem;
        margin: 0.5rem;
    }

    .product-card .product-title {
        font-size: 0.9rem;
    }

    .product-card .product-price {
        font-size: 1rem;
    }

    /* Buttons */
    .btn-primary,
    .btn-outline-primary,
    .btn-accent {
        padding: 0.625rem 1.25rem;
        font-size: 0.9rem;
        width: 100%;
        margin-bottom: 0.5rem;
        border-radius: 0.5rem;
    }

    /* Forms */
    .form-control {
        padding: 0.75rem 1rem;
        font-size: 16px;
        border-radius: 0.5rem;
    }

    /* Tables */
    .table-responsive {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .table thead th {
        font-size: 0.8rem;
        padding: 0.75rem;
        border-top-left-radius: 0.5rem;
        border-top-right-radius: 0.5rem;
    }

    /* Footer */
    footer,
    .footer-area {
        padding: 2.5rem 1rem 1.5rem;
        text-align: center;
    }

    footer .col-md-3,
    footer .col-md-4 {
        margin-bottom: 1.5rem;
    }

    /* Category Cards */
    .category-card {
        padding: 1.25rem;
        border-radius: 0.75rem;
    }

    .category-card .category-icon {
        width: 48px;
        height: 48px;
    }

    /* Sidebar */
    .aiz-sidebar {
        width: 100%;
        position: fixed;
        left: -100%;
        top: 0;
        height: 100vh;
        z-index: 1050;
        transition: left 0.3s ease;
        border-radius: 0;
    }

    .aiz-sidebar.open {
        left: 0;
    }

    /* Pagination */
    .pagination {
        gap: 0.25rem;
    }

    .pagination .page-link {
        padding: 0.5rem 0.75rem;
        font-size: 0.85rem;
    }

    /* Section Spacing */
    .section {
        padding: 2.5rem 0;
    }

    /* Hero Section */
    .hero-section {
        padding: 2.5rem 0;
        border-radius: 0 0 1.5rem 1.5rem;
    }

    .hero-section h1 {
        font-size: 1.875rem;
        margin-bottom: 0.75rem;
    }

    .hero-section p {
        font-size: 1rem;
        max-width: 100%;
    }

    /* Sale Banner */
    .sale-banner {
        padding: 1rem;
        border-radius: 0.75rem;
    }

    /* Quick Actions */
    .quick-action-btn {
        width: 36px;
        height: 36px;
    }

    /* Alerts */
    .alert {
        border-radius: 0.5rem;
    }

    /* Mobile Menu */
    .mobile-menu {
        background-color: #ffffff;
        border-radius: 0;
    }

    .mobile-menu a {
        color: #374151;
        border-bottom: 1px solid #f0fdf4;
        padding: 1rem;
        font-weight: 600;
    }

    .mobile-menu a:hover {
        background-color: #f0fdf4;
        color: #059669;
    }
}

/* Small Devices (landscape phones, 576px - 767px) */
@media (min-width: 576px) and (max-width: 767.98px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.75rem; }
    h3 { font-size: 1.35rem; }

    .container {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    /* Product Grid - 2 Columns */
    .product-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.25rem;
    }

    .section {
        padding: 3rem 0;
    }

    .hero-section h1 {
        font-size: 2.25rem;
    }

    /* Footer */
    footer .row {
        text-align: left;
    }
}

/* Medium Devices (tablets, 768px - 991px) */
@media (min-width: 768px) and (max-width: 991.98px) {
    h1 { font-size: 2.25rem; }
    h2 { font-size: 1.875rem; }

    .container {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    /* Product Grid - 3 Columns */
    .product-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }

    /* Sidebar */
    .aiz-sidebar {
        width: 260px;
    }

    .section {
        padding: 3.5rem 0;
    }

    .hero-section h1 {
        font-size: 2.5rem;
    }

    /* Mobile Menu */
    .mobile-menu {
        background-color: #ffffff;
        border-radius: 1rem;
    }

    .mobile-menu a {
        color: #374151;
        border-bottom: 1px solid #f0fdf4;
        padding: 1rem;
        font-weight: 600;
    }

    .mobile-menu a:hover {
        background-color: #f0fdf4;
        color: #059669;
    }
}

/* Large Devices (desktops, 992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .container {
        max-width: 960px;
    }

    /* Product Grid - 4 Columns */
    .product-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 1.75rem;
    }

    .section {
        padding: 4rem 0;
    }
}

/* Extra Large Devices (large desktops, >= 1200px) */
@media (min-width: 1200px) {
    .container {
        max-width: 1140px;
    }

    /* Product Grid - 4 Columns */
    .product-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem;
    }

    .section {
        padding: 4.5rem 0;
    }
}

/* Ultra Wide (>= 1400px) */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }

    .product-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

/* ==========================================
   PROFESSIONAL SPACING UTILITIES
   ========================================== */
.spacing-xs { margin-bottom: 0.5rem; }
.spacing-sm { margin-bottom: 1rem; }
.spacing-md { margin-bottom: 1.5rem; }
.spacing-lg { margin-bottom: 2rem; }
.spacing-xl { margin-bottom: 3rem; }

.padding-xs { padding: 0.5rem; }
.padding-sm { padding: 1rem; }
.padding-md { padding: 1.5rem; }
.padding-lg { padding: 2rem; }
.padding-xl { padding: 3rem; }

/* ==========================================
   MUTED ACCENT COLORS (Professional)
   ========================================== */
/* Accent Colors - Muted Versions */
.text-accent {
    color: #ea580c !important;
}

.text-primary {
    color: #059669 !important;
}

.bg-accent {
    background-color: #ea580c !important;
}

.bg-primary-light {
    background-color: #ecfdf5 !important;
}

/* Sale/Discount Badges - Muted */
.sale-badge,
.discount-badge {
    background-color: #ea580c;
    color: #ffffff;
    border-radius: 0.375rem;
    padding: 0.25rem 0.75rem;
    font-weight: 600;
    font-size: 0.75rem;
}

/* Quick Actions */
.quick-action-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #ffffff;
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    color: #374151;
}

.quick-action-btn:hover {
    background-color: #059669;
    color: #ffffff;
    transform: scale(1.05);
}

/* Rating Stars */
.rating-stars {
    color: #f59e0b;
}

/* Progress Bars */
.progress {
    height: 6px;
    border-radius: 0.25rem;
    background-color: #ecfdf5;
}

.progress-bar {
    background-color: #059669;
    border-radius: 0.25rem;
}

/* Alerts */
.alert {
    border: none;
    border-radius: 0.5rem;
    font-weight: 500;
}

.alert-success {
    background-color: #ecfdf5;
    color: #065f46;
}

.alert-warning {
    background-color: #fffbeb;
    color: #92400e;
}

.alert-danger {
    background-color: #fef2f2;
    color: #991b1b;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

::-webkit-scrollbar-track {
    background: #f5f5f5;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: #059669;
}

/* Selection */
::selection {
    background-color: #059669;
    color: #ffffff;
}

/* Subtle Animation */
@keyframes fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fade-in 0.3s ease-out;
}

/* Default Section Spacing */
.section {
    padding: 4rem 0;
}

/* Decorative Elements - Muted */
.decoration-blob {
    position: absolute;
    width: 200px;
    height: 200px;
    background: linear-gradient(135deg, rgba(5, 150, 105, 0.05) 0%, rgba(5, 150, 105, 0.02) 100%);
    border-radius: 50%;
    filter: blur(40px);
}
