/* projects.css */

/* Existing CSS (as provided) - KEEP ALL OF IT */
/* General Styles - Light Theme (Base) */
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Inter', 'Poppins', sans-serif;
    font-weight: 400;
    line-height: 1.7;
    color: #374155; /* Tailwind gray-700 */
    background-color: #ffffff; /* White background */
    transition: background-color 0.3s ease, color 0.3s ease;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    /*  REDUCE THEME SIZE GLOBALLY - ADJUSTED SIZE */
    font-size: 1.0rem; /*  Original was 0.9rem - increased */
}

.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }


/* ==============================
   HEADER & NAVIGATION (Consistent)
   ============================== */

/* Header Styling - Light Theme */
.site-header { background-color: #f5fdf8; color: #020202; padding: 15px 0; position: sticky; height: 80px; top: 0; z-index: 1000; width: 100%; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); transition: background-color 0.2s ease, box-shadow 0.2s ease; }
.site-header .container { display: flex; justify-content: space-between; align-items: center; }
.logo a { text-decoration: none; display: flex; align-items: center; }
.logom{ width: 60px; cursor: pointer; }
.main-nav ul { list-style: none; display: flex; gap: 20px; }
.main-nav ul li a { color: #020202; text-decoration: none; font-size: 1em; padding: 8px 12px; border-radius: 4px; transition: color 0.2s ease, background-color 0.2s ease; }
.main-nav ul li a:hover { color: #007bff; background-color: #f0f0f0; }

/* Dropdown Menu Styles - Light Theme */
.dropdown { position: relative; display: inline-block; }
.dropdown-content { display: none; position: absolute; background-color: #ffffff; min-width: 200px; box-shadow: 0px 6px 12px rgba(0,0,0,0.1); z-index: 1001; border-radius: 6px; left: 50%; transform: translateX(-50%); right: auto; transition: background-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease, visibility 0.2s ease; opacity: 0; visibility: hidden; padding: 5px 0; border: 1px solid #e2e8f0; }
.dropdown-content a { color: #333;text-decoration: none; display: block; transition: background-color 0.2s ease, color 0.2s ease; border-radius: 0; }
.dropdown-content a:hover { background-color: #f0f0f0; }
.dropdown:hover .dropdown-content { display: block; opacity: 1; visibility: visible; }

main.design-resources { /* Common wrapper for both page types */
    padding: 3.125em 0; /* 50px converted to em */
    max-width: 56.25em; /* 900px converted to em */
    margin: 2.5em auto; /* 40px converted to em */
}

/* projects.css - Updated Hero Section Styles */

/* Hero Section on Content Pages */
main.design-resources section.hero {
    background-color: #1a2a6c; /* Dark blue base color from image */
    /* New background gradient */
    background: linear-gradient(135deg, #152456 0%, #244e99 100%); /* Adjusted gradient */
    padding: 3.5em 1.5em; /* 3em top and bottom */ /* 2.5rem converted to em */
    text-align: center;
    border-bottom: none; /* Remove line under title */
    margin-bottom: 3.5em; /* Reduced - 2.5rem converted to em */
    border-radius: 1em; /* 1em */
    box-shadow: 0 0.5em 1.5em rgba(0, 0, 0, 0.15); /* Subtle Shadow */
    position: relative;

    /* New Fade-In Animation */
    opacity: 0;
    transform: translateY(-20px);
    animation: fadeInHero 1.2s ease-out forwards;
}

@keyframes fadeInHero {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Target H1 specifically within hero on content pages */
main.design-resources section.hero h1 {
    font-family: 'Poppins', sans-serif;
    font-size: 2.7em; /* adjusted - 1.875em; /* 2.5rem converted to em  - Reduced to 1.875em */
    margin-bottom: 0.7em; /* adjusted - 0.625em; /* 1rem converted to em */
    color: #ffffff; /* White heading */
    font-weight: 700; /* Bolder */
    letter-spacing: -0.01em;
    line-height: 1.2;
}

/* Target P specifically within hero on content pages */
main.design-resources section.hero p {
    font-size: 1.2em; /* adjusted - 0.825em; /* 1.1rem converted to em - Reduced to 0.825em */
    color: rgba(255, 255, 255, 0.75); /* Light gray */
    max-width: 55em; /* adjusted - 40.625em; /* 650px converted to em */
    margin: 0 auto;
    line-height: 1.6;
}

/* Image Styling on Content Pages */
main.design-resources .features-image { /* Target only images with this class */
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
    margin: 1.25em auto; /* 2rem converted to em */
    border-radius: 0.75em; /* 12px converted to em */
    box-shadow: 0 0.5em 1.25em rgba(148, 163, 184, 0.15); /* 8px and 20px converted to em */
    border: 1px solid #e2e8f0;
}

/* --- Shared Conclusion Paragraph --- */
p.conclusion-paragraph {
    text-align: center;
    font-size: 0.825em; /* 1.1rem converted to em */
    color: #64748b;
    margin-top: 2.1875em; /* 3.5rem converted to em */
    padding-top: 1.25em; /* 2rem converted to em */
    font-weight: 400;
    border-top: 1px solid #e2e8f0;
}


/* Footer Styling - Light Theme (Unchanged) */
#footer { background-color: #f8f9fa; padding: 2.5em 0; /* 40px converted to em */ color: #555; transition: background-color 0.2s ease, color 0.2s ease; margin-top: 1.875em; border-top: 1px solid #e5e7eb; }
#footer .container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
#footer .footer-columns { display: flex; flex-wrap: wrap; justify-content: center; gap: 2.5em; /* 40px converted to em */ }
#footer .footer-column { flex: 1; min-width: 11.25em; /* 180px converted to em */ margin-bottom: 1.875em; text-align: left; }
#footer .footer-column h3 { font-size: 0.9em; margin-bottom: 0.9375em; /* 1.2rem and 15px converted to em */ color: #333; transition: color 0.2s ease; }
#footer .footer-column ul { list-style: none; padding: 0; }
#footer .footer-column li { margin-bottom: 0.5em; /* 8px converted to em */ }
#footer .footer-column a { color: #007bff; text-decoration: none; transition: color 0.2s ease; }
#footer .footer-column a:hover { color: #0056b3; }

/* Theme Toggle Button - Light Theme (Unchanged) */
#theme-toggle { position: fixed; top: 1.5625em; /* 25px converted to em */ right: 1.875em; /* 30px converted to em */ width: 3.125em; /* 50px converted to em */ height: 3.125em; /* 50px converted to em */ border-radius: 50%; border: 1px solid #ced4da; background-color: #ffffff; cursor: pointer; padding: 0; display: flex; justify-content: center; align-items: center; overflow: hidden; box-shadow: 0 0.125em 0.3125em rgba(0, 0, 0, 0.1); /* 2px and 5px converted to em */ transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease; z-index: 1001; }
#theme-toggle:hover { background-color: #f9fafb; box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.15); /* 4px and 8px converted to em */ }
#theme-toggle:active { transform: scale(0.95); }
#theme-toggle:focus-visible { outline: 2px solid #007bff; outline-offset: 3px; }
#theme-toggle .icon { display: block; width: 1.5em; /* 24px converted to em */ height: 1.5em; /* 24px converted to em */ border-radius: 50%; background-color: #facc15; position: relative; box-shadow: 0 0 0.3125em rgba(0, 0, 0, 0.05); /* 5px converted to em */ transition: all 0.2s ease-in-out; transform: scale(1) rotate(0deg); }


/* --- Dark Theme Styles --- */
body[data-theme="dark"] {
    color: #d1d5db;
    background-color: #0f172a;
}

/* Header Styling - Dark Theme (Unchanged) */
body[data-theme="dark"] .site-header { background-color: #111827; color: #f8f9fa; box-shadow: 0 0.125em 0.3125em rgba(0, 0, 0, 0.15); /* 2px and 5px converted to em */ }
body[data-theme="dark"] .main-nav ul li a { color: #f8f9fa; }
body[data-theme="dark"] .main-nav ul li a:hover { color: #60a5fa; background-color: #1f2937; }

/* Dropdown Menu Styles - Dark Theme (Unchanged) */
body[data-theme="dark"] .dropdown-content { background-color: #1f2937; box-shadow: 0px 6px 12px rgba(0,0,0,0.3); border-color: #334155; }
body[data-theme="dark"] .dropdown-content a { color: #f8f9fa; }
body[data-theme="dark"] .dropdown-content a:hover { background-color: #374151; }


/* Content Pages (e.g., Canva) - Dark Theme */
body[data-theme="dark"] main.design-resources section.hero { border-bottom-color: #334155; }
body[data-theme="dark"] main.design-resources section.hero h1 { color: #f1f5f9; }
body[data-theme="dark"] main.design-resources section.hero p { color: #94a3b8; }
body[data-theme="dark"] h2.jj, body[data-theme="dark"] h3.jj { color: #f1f5f9; }
body[data-theme="dark"] main.design-resources .resource-summary p, body[data-theme="dark"] main.design-resources .resource-list p { color: #94a3b8; }
body[data-theme="dark"] main.design-resources .resource-list p b { color: #e2e8f0; }
body[data-theme="dark"] main.design-resources .features-image { box-shadow: 0 0.625em 1.5625em rgba(0, 0, 0, 0.2); /* 10px and 25px converted to em */ border-color: #334155; }
body[data-theme="dark"] main.design-resources .resource-summary p a, body[data-theme="dark"] main.design-resources .resource-list p a { color: #60a5fa; }
body[data-theme="dark"] main.design-resources .resource-summary p a:hover, body[data-theme="dark"] main.design-resources .resource-list p a:hover { color: #93c5fd; }

/* Portfolio Page Content - Dark Theme */
body[data-theme="dark"] ul.resource-single-column-list li.resource-item { background-color: #1e293b; border-color: transparent; box-shadow: 0 0.625em 1.875em rgba(0, 0, 0, 0.25); /* 10px and 30px converted to em */ }
body[data-theme="dark"] ul.resource-single-column-list li.resource-item:hover { box-shadow: 0 0.9375em 2.1875em rgba(0, 0, 0, 0.3); /* 15px and 35px converted to em */ border-color: #475569; }
body[data-theme="dark"] ul.resource-single-column-list .resource-item-image { background-color: #334155; }
body[data-theme="dark"] ul.resource-single-column-list .image-overlay { background: linear-gradient(to top, rgba(15, 23, 42, 0.6) 0%, rgba(15, 23, 42, 0) 50%); opacity: 0.8; }
body[data-theme="dark"] ul.resource-single-column-list li.resource-item:hover .image-overlay { opacity: 0.5; }
body[data-theme="dark"] ul.resource-single-column-list .resource-item-content { background-color: #1e293b; }
body[data-theme="dark"] ul.resource-single-column-list .resource-tag { filter: brightness(0.9) contrast(1.1); }
body[data-theme="dark"] ul.resource-single-column-list .resource-tag.design-tool { background-color: #075985; color: #e0f2fe; }
body[data-theme="dark"] ul.resource-single-column-list .resource-tag.ui-ux { background-color: #4338ca; color: #eef2ff; }
body[data-theme="dark"] ul.resource-single-column-list .resource-tag.photos { background-color: #166534; color: #dcfce7; }
body[data-theme="dark"] ul.resource-single-column-list .resource-tag.color-tool { background-color: #9a3412; color: #ffedd5; }
body[data-theme="dark"] ul.resource-single-column-list .resource-item-content h3 { color: #f1f5f9; }
body[data-theme="dark"] ul.resource-single-column-list a.resource-item-link:hover .resource-item-content h3 { color: #60a5fa; }
body[data-theme="dark"] ul.resource-single-column-list .resource-item-content p { color: #94a3b8; }
body[data-theme="dark"] ul.resource-single-column-list .visit-link-inline { color: #60a5fa; border-top-color: #334155; }
body[data-theme="dark"] ul.resource-single-column-list a.resource-item-link:hover .visit-link-inline { color: #93c5fd; }

/* --- Shared Conclusion Paragraph --- */
body[data-theme="dark"] p.conclusion-paragraph { color: #94a3b8; border-top-color: #334155; }

/* Footer Styling - Dark Theme (Unchanged) */
body[data-theme="dark"] #footer { background-color: #111827; color: #adb5bd; border-top-color: #1f2937; }
body[data-theme="dark"] #footer .footer-column h3 { color: #f0f0f0; }
body[data-theme="dark"] #footer .footer-column a { color: #60a5fa; }
body[data-theme="dark"] #footer .footer-column a:hover { color: #93c5fd; }

/* Theme Toggle Button - Dark Theme (Unchanged) */
body[data-theme="dark"] #theme-toggle { border-color: #4b5563; background-color: #1f2937; }
body[data-theme="dark"] #theme-toggle:hover { background-color: #374151; }
body[data-theme="dark"] #theme-toggle:focus-visible { outline-color: #60a5fa; }
body[data-theme="dark"] #theme-toggle .icon { background-color: #eab308; transform: scale(1) rotate(180deg) translateX(-2px); box-shadow: inset -6px -3px 0 0px #0f172a; /* Use body bg for cutout */ }


/* Media Queries for Responsiveness */
@media (max-width: 768px) {
     /* Intro animation responsive styles - REMOVED */
    /* Header unchanged */
    .site-header { height: 100px; } /* Slightly shorter header */
    .site-header .container { flex-wrap: nowrap; }
    .logo { flex-grow: 1; }
    .main-nav { order: 3; width: 100%;} /* Pushed below logo/toggle */
    .main-nav ul { flex-direction: row; align-items: center; gap: 5px; } /* Stack links vertically */
    .main-nav ul li { width: 100%; text-align: center;} /* Make list items full width */

    .dropdown1 { position: fixed; transform: none; box-shadow: none; background-color: #ffffff; text-align: center; left: 200px; width: 20%; }
    body[data-theme="dark"] .dropdown-content { background-color: #1e293b; }
    .dropdown-content a { padding: 8px 10px; }
    body[data-theme="light"] .dropdown-content a { color:#cbd5e1 ; } /* Adjusted mobile dropdown color */
    body[data-theme="dark"] .dropdown-content a { color: #374155; } /* Adjusted mobile dropdown color */
    .dropdown > a i { /* Hide the dropdown icon on mobile */
        display: none;
    }

    /* Responsive Content Pages */
    main.design-resources { padding: 2.5em 0; max-width: 90%; }
    main.design-resources section.hero { padding: 0 0.9375em 1.25em 0.9375em; margin-bottom: 1.25em; }
    main.design-resources section.hero h1 { font-size: 1.5em; }
    main.design-resources section.hero p { font-size: 0.75em; }
    main.design-resources h2.jj { font-size: 1.125em; }
    main.design-resources h3.jj { font-size: 1.05em; }
    main.design-resources .features-image { max-width: 100%; margin: 0.9375em auto; }

    /* Responsive Portfolio List */
    ul.resource-single-column-list { gap: 1.25em; }
    ul.resource-single-column-list .resource-item-image { height: auto; aspect-ratio: 16 / 10; }
    ul.resource-single-column-list .resource-item-content { padding: 0.78125em 0.9375em; }
    ul.resource-single-column-list .resource-item-content h3 { font-size: 0.9375em; }
    ul.resource-single-column-list .resource-item-content p { font-size: 0.7em; }
    ul.resource-single-column-list .visit-link-inline { font-size: 0.7em; }

    p.conclusion-paragraph { font-size: 0.7875em; margin-top: 1.875em; padding-top: 1.09375em; }

    /* Footer unchanged */
    #footer .footer-columns { flex-direction: row; align-items: center; }
    #footer .footer-column { width: 100%; margin-bottom: 1.25em; text-align: center; }

    /* Theme toggle unchanged */
    #theme-toggle { position: absolute; top: 0.9375em; right: 0.9375em; width: 2.5em; height: 2.5em; }
    #theme-toggle .icon { width: 1.25em; height: 1.25em; }
    body[data-theme="dark"] #theme-toggle .icon { box-shadow: inset -5px -2px 0 0px #111827; }
}

@media (max-width: 480px) {
    /* Content Pages */
    main.design-resources .hero h1 { font-size: 1.3125em; }
    main.design-resources h2.jj { font-size: 0.975em; }
    main.design-resources h3.jj { font-size: 0.9em; }

    /* Portfolio List */
    ul.resource-single-column-list .resource-item-image { height: auto; aspect-ratio: 4 / 3; }
    ul.resource-single-column-list .resource-item-content h3 { font-size: 0.8625em; }
    ul.resource-single-column-list .resource-item-content p { font-size: 0.65em; }
}

/* ---------------------------------------------------------- */
/*  NEW E-COMMERCE STYLES
/* ---------------------------------------------------------- */

/* Product Grid */
.product-list .container {
    max-width: 1700px; /* 1200px converted to em */
}

.product-grid {
    list-style: none;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* Display 4 items in a row */
    gap: 1.25em; /* 2rem converted to em */
}

.product-item {
    background-color: #ffffff;
    border-radius: 0.75em; /* 12px converted to em */
    overflow: hidden;
    box-shadow: 0 0.3125em 0.9375em rgba(0, 0, 0, 0.08); /* 5px and 15px converted to em */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column; 
    justify-content: space-between; /* Distribute space evenly */
    
}

.product-item:hover {
    transform: translateY(-0.25em); /* -4px converted to em */
    box-shadow: 0 0.5em 1.25em rgba(0, 0, 0, 0.12); /* 8px and 20px converted to em */
}

.product-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.product-item:hover .product-image img {
    transform: scale(1.05);
}

.product-content {
    padding: 0.9375em; /* 1.5rem converted to em */
    display: flex;
    flex-direction: column;
}

.product-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1.05em; /* 1.4rem converted to em */
    color: #1e293b;
    margin-bottom: 0.46875em; /* 0.75rem converted to em */
    font-weight: 600;
    line-height: 1.3;
}

.product-price {
    display: block;
    font-size: 0.9em; /* 1.2rem converted to em */
    font-weight: 600;
    color: #3f83f8;
    margin-bottom: 0.625em; /* 1rem converted to em */
}

.add-to-cart-button {
    background-color: #3b82f6;
    color: #ffffff;
    font-size: 0.75em; /* 1rem converted to em */
    font-weight: 500;
    padding: 0.46875em 0.78125em; /* 0.75rem and 1.25rem converted to em */
    border: none;
    border-radius: 0.375em; /* 6px converted to em */
    cursor: pointer;
    transition: background-color 0.2s ease;
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 0.46875em; /* 0.75rem converted to em */
    text-decoration: none;
}

.add-to-cart-button:hover {
    background-color: #2563eb;
}

.view-details-link {
    display: inline-block;
    font-size: 0.675em; /* 0.9rem converted to em */
    font-weight: 500;
    color: #3b82f6;
    text-decoration: none;
    transition: color 0.2s ease;
}

.view-details-link:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

/* Dark Theme Overrides for Product Styles */
body[data-theme="dark"] .product-item {
    background-color: #1e293b;
    border-color: #334155;
    box-shadow: 0 0.3125em 0.9375em rgba(0, 0, 0, 0.2); /* 5px and 15px converted to em */
}

body[data-theme="dark"] .product-title {
    color: #f1f5f9;
}

body[data-theme="dark"] .product-price {
    color: #60a5fa;
}

body[data-theme="dark"] .add-to-cart-button {
    background-color: #60a5fa;
    color: #1e293b;
}

body[data-theme="dark"] .add-to-cart-button:hover {
    background-color: #93c5fd;
}

body[data-theme="dark"] .view-details-link {
    color: #60a5fa;
}

body[data-theme="dark"] .view-details-link:hover {
    color: #93c5fd;
}

/* Responsive Adjustments for Product Grid */
@media (max-width: 768px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr); /* Display 2 items in a row on medium screens */
    }

    .product-content {
        padding: 0.625em; /* 1rem converted to em */
    }

    .product-title {
        font-size: 0.9em; /* 1.2rem converted to em */
        margin-bottom: 0.3125em; /* 0.5rem converted to em */
    }

    .product-price {
        font-size: 0.825em; /* 1.1rem converted to em */
        margin-bottom: 0.46875em; /* 0.75rem converted to em */
    }

    .add-to-cart-button {
        font-size: 0.7em; /* 0.9rem converted to em */
        padding: 0.375em 0.625em; /* 0.6rem and 1rem converted to em */
        margin-bottom: 0.3125em; /* 0.5rem converted to em */
    }

    .view-details-link {
        font-size: 0.6em; /* 0.8rem converted to em */
    }
}

@media (max-width: 480px) {
    .product-grid {
        grid-template-columns: 1fr; /* Single column on very small screens */
    }

    .product-content {
        padding: 0.625em; /* 1rem converted to em */
    }

    .product-title {
        font-size: 0.825em; /* 1.1rem converted to em */
    }
}