/* Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

body {
    background-color: #f9f9f9;
    color: #333;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-size: 0.95rem;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 5%;
    background-color: #ffffff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    position: sticky;
    top: 0;
    z-index: 1000;
}

.logo { 
    cursor: pointer; 
    transition: transform 0.2s ease; 
    display: flex;
    align-items: center;
}
.logo:hover { transform: scale(1.05); }

.nav-logo-img {
    height: 45px;       
    width: auto;        
    object-fit: contain;
    display: block;
}

/* --- CLEAN & FIXED NAVIGATION --- */
.nav-links {
    display: flex;
    gap: 20px;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-links li {
    cursor: pointer;
    font-size: 0.95rem;
}

/* Base style for the text links */
.nav-links li a {
    color: #555;
    text-decoration: none;
    font-weight: 500;            /* Medium weight for inactive links */
    transition: color 0.2s ease;  /* Smooth color transition */
}

/* Hover State (Color changes, but stays regular weight so text doesn't shift) */
.nav-links li:hover a,
.nav-links li a:hover {
    color: #e67e22;
}

/* Active State (Stays orange and becomes bold) */
.nav-links li.active a {
    color: #e67e22;
    font-weight: 700;            /* Makes the active link bold */
}

/*
.nav-links li.nav-admin { color: #2c3e50; border-left: 2px solid #ccc; padding-left: 15px; font-weight: bold; }
.nav-links li.nav-admin a { color: #2c3e50; text-decoration: none; }
.nav-links li.nav-admin:hover, .nav-links li.nav-admin.active, .nav-links li.nav-admin a:hover { color: #db2777; }
*/

.page-content { animation: fadeIn 0.4s ease-in-out; min-height: 100vh; padding-bottom: 50px; }

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.hero {
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding: 40px 5%; 
    text-align: center;
    /* Inayos ang path patungo sa assets/images/ folder */
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../images/mockup3.png'); 
    background-size: cover; 
    background-position: center; 
    color: white;
    width: 100%;                  
    aspect-ratio: 16 / 9;         
    max-height: 70vh;             
}

.hero-content { max-width: 800px; }
.hero-content h1 { font-size: 2.5rem; color: white; margin-bottom: 15px; line-height: 1.2; }
.hero-stats { list-style: none; margin: 20px 0; color: #e0e0e0; display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
.hero-buttons { display: flex; gap: 15px; margin-top: 25px; justify-content: center; }

.btn { padding: 10px 25px; text-decoration: none; font-weight: bold; border-radius: 5px; cursor: pointer; border: none; font-size: 0.95rem; transition: background 0.3s, color 0.3s; display: inline-block; }
.btn-primary { background-color: #e67e22; color: white; }
.btn-primary:hover { background-color: #d35400; }
.btn-secondary { background-color: transparent; color: white; border: 2px solid white; }
.btn-secondary:hover { background-color: white; color: #2c3e50; }
.btn-danger { background-color: #e74c3c; color: white; }
.btn-danger:hover { background-color: #c0392b; }
.btn-admin-save { background-color: #db2777; color: white; }
.btn-admin-save:hover { background-color: #be185d; }

.info-section { display: flex; flex-direction: column; gap: 25px; padding: 60px 5%; background-color: #f4f6f7; scroll-margin-top: 70px; }
.mission-vision-row { display: flex; gap: 25px; }

.card { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); flex: 1; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card h3 { color: #2c3e50; margin-bottom: 15px; font-size: 1.3rem; border-bottom: 2px solid #e67e22; display: inline-block; padding-bottom: 5px; }
.card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
.card-wide { width: 100%; }

.impact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 25px; }
.pillar { background-color: #fafbfc; padding: 20px; border-radius: 6px; border-top: 4px solid #2c3e50; }
.pillar h4 { color: #e67e22; margin-bottom: 5px; font-size: 1.05rem; }
.pillar-subtitle { font-size: 0.85rem; color: #7f8c8d; font-weight: bold; margin-bottom: 10px; }

.profile-container { 
    display: grid; 
    grid-template-columns: 320px 1fr; 
    gap: 40px; 
    background: white; 
    padding: 40px; 
    border-radius: 12px; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); 
    max-width: 1000px; 
    margin: 30px auto; 
    align-items: center; 
}

.profile-portrait { 
    width: 100%; 
    aspect-ratio: 9 / 16;
    background-color: #f1f5f9; 
    border-radius: 8px; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    color: #888; 
    font-weight: bold; 
    border: 1px solid #e2e8f0; 
    background-size: cover; 
    background-position: center;
    background-repeat: no-repeat;
}

.profile-info h2 { color: #2c3e50; font-size: 2.2rem; margin-bottom: 5px; }
.profile-info h3 { color: #e67e22; font-size: 1.2rem; font-weight: 600; margin-bottom: 20px; border-bottom: 2px solid #f4f6f7; padding-bottom: 10px; }
.profile-info p { color: #555; line-height: 1.8; font-size: 1rem; }

.project-block { background: white; padding: 35px; border-radius: 8px; box-shadow: 0 4px 8px rgba(0,0,0,0.04); margin-bottom: 45px; border-bottom: 3px solid #e67e22; }
.project-block h2 { color: #2c3e50; font-size: 1.6rem; margin-bottom: 10px; }
.project-block p { color: #555; margin-bottom: 20px; max-width: 900px; }



.project-gallery { 
    display: flex; 
    flex-wrap: wrap;       
    gap: 15px; 
    margin-top: 25px; 
    align-items: flex-start; 
}

.project-photo-wrapper {
    max-width: 100%;       
    width: auto;            
    height: auto;        
    border-radius: 8px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    cursor: pointer;
    transition: transform 0.2s ease;
    overflow: hidden;
}

.project-photo-wrapper:hover {
    transform: scale(1.02);
}

.project-photo-wrapper img {
    display: block;
    width: auto;           
    height: auto;        
    max-width: 450px;   
    max-height: 300px;      
    object-fit: contain;   
}

/* Lightbox Pop-up Overlay */
.image-lightbox {
    display: none; 
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    justify-content: center;
    align-items: center;
    cursor: zoom-out;
}

.image-lightbox img {
    max-width: 95%;       
    max-height: 95%;
    border-radius: 4px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.5);
    object-fit: contain;
}

.newsletter-container { max-width: 600px; margin: 30px auto; background: white; padding: 40px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.05); text-align: center; }
.socials-box { display: flex; justify-content: center; gap: 20px; margin-top: 30px; flex-wrap: wrap; }
.social-link-btn { display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; color: white; text-decoration: none; font-size: 1.4rem; transition: transform 0.3s, filter 0.3s; }
.social-link-btn:hover { transform: scale(1.1); filter: brightness(0.9); }
.fb-btn { background-color: #1877f2; }
.ig-btn { background-image: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); }
.li-btn { background-color: #0077b5; }

.login-box { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); max-width: 400px; margin: 50px auto; text-align: center; border-top: 4px solid #db2777; }
.admin-dashboard { display: none; max-width: 1100px; margin: 0 auto; }

.admin-tabs { display: flex; gap: 10px; margin-bottom: 25px; border-bottom: 2px solid #ddd; padding-bottom: 10px; flex-wrap: wrap; }
.admin-tab-btn { padding: 8px 16px; background: #e0e0e0; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; color: #555; margin-bottom: 5px; }
.admin-tab-btn.active { background: #db2777; color: white; }

.admin-section-card { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.05); margin-bottom: 30px; display: none; border: 1px solid #e2e8f0; }
.admin-section-card.active { display: block; }

.form-group { margin-bottom: 15px; text-align: left; }
.form-group label { display: block; font-weight: bold; color: #2c3e50; margin-bottom: 5px; font-size: 0.9rem; }
.form-group input, .form-group textarea { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 5px; font-size: 0.95rem; }
.form-group textarea { resize: vertical; height: 100px; }

.password-change-box { background: #f8fafc; padding: 15px 20px; border-radius: 8px; border: 1px solid #cbd5e1; margin-bottom: 25px; display: flex; gap: 15px; align-items: flex-end; flex-wrap: wrap; }
.admin-item-row { display: flex; justify-content: space-between; align-items: center; padding: 12px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px; margin-bottom: 10px; }
.admin-row-actions { display: flex; gap: 8px; }
.btn-small { padding: 4px 10px; font-size: 0.8rem; border-radius: 4px; }

.generic-section { padding: 50px 5%; }
.generic-section h1 { text-align: center; font-size: 2rem; margin-bottom: 15px; color: #2c3e50; }
.generic-section p.subtitle { text-align: center; font-size: 1rem; margin-bottom: 30px; color: #555; max-width: 800px; margin-left: auto; margin-right: auto; }

footer { text-align: center; padding: 15px; background-color: #1a252f; color: white; margin-top: auto; font-size: 0.85rem; }

@media (max-width: 768px) {
    .mission-vision-row { flex-direction: column; }
    .impact-grid { grid-template-columns: 1fr; }
    .profile-container { grid-template-columns: 1fr; padding: 20px; }
}
/* --- DONATION, MERCH, & SPONSORS LAYOUT --- */
.donation-row {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    flex-wrap: wrap;
}

.donation-info-text {
    flex: 1;
    min-width: 280px;
    text-align: left;
}
/*
.x {
    flex: 1;
    min-width: 250px;
    max-width: 300px;
    text-align: center;
}

.donation-qr-box img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 1px solid #ddd;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
*/

/* Products Section */
.section-title-divider {
    text-align: center;
    font-size: 1.8rem;
    color: #2c3e50;
    margin: 60px 0 20px 0;
    position: relative;
}

/* Keep Sponsors as a standard Grid */
.sponsors-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px;
    margin-top: 20px;
    margin-bottom: 40px;
    align-items: center;
}

/* Transform Products into a Horizontal Scroll Row */
.products-grid {
    display: flex;
    flex-wrap: nowrap;         /* Prevents wrapping to a new line */
    overflow-x: auto;          /* Enables horizontal scrolling */
    gap: 20px;
    margin-top: 20px;
    margin-bottom: 40px;
    padding-bottom: 15px;      /* Adds breathing room at the bottom */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; /* Smooth scrolling for mobile */
    scrollbar-width: auto;     /* Hides scrollbar in Firefox */
}

/* Hides scrollbar in Chrome/Safari for a cleaner look */
.products-grid::-webkit-scrollbar {
    display: block; 
    height: 6px;
}

.products-grid::-webkit-scrollbar-track {
    background: #f1f5f9;       /* Light gray track background */
    border-radius: 10px;
}

.products-grid::-webkit-scrollbar-thumb {
    background: #cbd5e1;       /* Gray scrollbar handle */
    border-radius: 10px;
}

.products-grid::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;       /* Darker gray when you hover over it */
}

/* Sub-headers grouping products by type (Shirts, Tote Bags, etc.) */
.product-group-title {
    font-size: 1.2rem;
    color: #2c3e50;
    margin: 0 0 5px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #e67e22;
}

.product-card {
    flex: 0 0 260px;           /* CRITICAL: Locks card width to 260px and stops it from shrinking */
    display: flex;
    flex-direction: column;    /* Allows us to push the order button to the bottom */
    background: white;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    padding: 15px;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.03);
    transition: transform 0.2s;
}

.product-card:hover {
    transform: translateY(-5px);
}

.product-img-wrapper {
    width: 100%;
    aspect-ratio: 1 / 1; /* Perpektong parisukat para sa damit/caps */
    background-color: #f8fafc;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 12px;
    position: relative; /* anchors the prev/next nav buttons and dots */
    cursor: zoom-in;
}

.product-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.product-card h4 {
    color: #2c3e50;
    font-size: 1.1rem;
    margin-bottom: 5px;
}

.product-price {
    color: #e67e22;
    font-weight: bold;
    font-size: 1rem;
}

/* Product photo carousel nav buttons (prev/next) */
.img-nav-btn {
    display: none; /* JS reveals these only when a product has 2+ photos */
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.9);
    color: #2c3e50;
    font-size: 0.8rem;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.18);
    transition: background 0.2s, color 0.2s, transform 0.2s;
    z-index: 5;
}

.img-nav-btn:hover {
    background: #e67e22;
    color: #ffffff;
    transform: translateY(-50%) scale(1.1);
}

.img-nav-prev { left: 8px; }
.img-nav-next { right: 8px; }

/* Dot indicators showing which photo is active */
.img-dots {
    display: none; /* JS reveals these only when a product has 2+ photos */
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
    justify-content: center;
    align-items: center;
    gap: 5px;
    z-index: 5;
}

.img-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(0, 0, 0, 0.15);
}

.img-dot.active {
    background: #e67e22;
    border-color: #e67e22;
}


/* Sponsors Section */

.sponsor-logo-box {
    padding: 20px;
    background: white;
    border-radius: 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 200px;
    border: 1px solid #f1f5f9;
}

.sponsor-logo-box img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    filter: grayscale(20%);
    transition: filter 0.3s;
}

.sponsor-logo-box img:hover {
    filter: grayscale(0%);
}
/* --- INSTAGRAM ORDER BUTTON --- */
.btn-order-ig {
    display: inline-flex;
    align-self: center;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); /* IG Gradient Color */
    color: white !important;
    text-decoration: none;
    padding: 10px 16px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    margin-top: auto;
    width: 85%;
    transition: transform 0.2s, opacity 0.2s;
    box-shadow: 0 4px 10px rgba(219, 39, 119, 0.2);
}

.btn-order-ig:hover {
    transform: scale(1.03);
    opacity: 0.95;
}

.btn-order-ig i {
    font-size: 1.1rem;
}

/* --- LEARNING MODULES GRID (LEARN.HTML) --- */
.modules-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 30px 5%;
}

/* Transform Modules Grid into a Horizontal Scroll Row */
.modules-grid {
    display: flex;
    flex-wrap: nowrap;         /* Forces a single horizontal line */
    overflow-x: auto;          /* Enables horizontal scrolling */
    gap: 30px;
    margin-top: 25px;
    margin-bottom: 50px;
    padding-bottom: 20px;      /* Breathing room for the scroll area */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; /* Smooth swiping on mobile */
    scrollbar-width: auto;     /* Hides scrollbar in Firefox */
}

/* Add the fixed width to the card so it doesn't shrink */
.module-card {
    flex: 0 0 300px;           /* CRITICAL: Locks width to 300px */
    background: white;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease;
}

/* Make it responsive for smaller phone screens */
@media (max-width: 500px) {
    .module-card {
        flex: 0 0 85vw;        /* Takes up 85% of the screen width on small phones */
    }
}

/* Reveal & style the scrollbar (Chrome/Safari/Edge) */
.modules-grid::-webkit-scrollbar {
    display: block;            /* Forces the hidden scrollbar to show up */
    height: 8px;               /* Thickness of the horizontal scrollbar */
}

.modules-grid::-webkit-scrollbar-track {
    background: #f1f5f9;       /* Light gray bar track */
    border-radius: 10px;
}

.modules-grid::-webkit-scrollbar-thumb {
    background: #cbd5e1;       /* Gray scrollbar draggable handle */
    border-radius: 10px;
}

.modules-grid::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;       /* Darker gray highlight on hover */
}

.module-card {
    background: white;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease;
}

.module-card:hover {
    transform: translateY(-3px); /* May kaunting angat kapag hino-hover */
}

/* Start Here */

/* Transform Modules Grid into a Horizontal Scroll Row */
.modules-grid-video {
    display: flex;
    flex-wrap: nowrap;         /* Forces a single horizontal line */
    overflow-x: auto;          /* Enables horizontal scrolling */
    gap: 30px;
    margin-top: 25px;
    margin-bottom: 50px;
    padding-bottom: 20px;      /* Breathing room for the scroll area */
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch; /* Smooth swiping on mobile */
    scrollbar-width: auto;     /* Hides scrollbar in Firefox */
}

/* 2. PREVENT VIDEO CARDS FROM SHRINKING */
.modules-grid-video .module-card-video {
    flex: 0 0 350px;           /* Crucial: prevents cards from compressing; sets fixed width */
}

/* 3. REVEAL & STYLE THE SCROLLBAR (Chrome/Safari/Edge) */
.modules-grid-video::-webkit-scrollbar {
    display: block;            /* Forces the hidden scrollbar to show up */
    height: 8px;               /* Thickness of the horizontal scrollbar */
}

.modules-grid-video::-webkit-scrollbar-track {
    background: #f1f5f9;       /* Light gray bar track matching your donation setup */
    border-radius: 10px;
}

.modules-grid-video::-webkit-scrollbar-thumb {
    background: #cbd5e1;       /* Gray scrollbar draggable handle */
    border-radius: 10px;
}

.modules-grid-video::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;       /* Darker gray highlight on hover */
}

/* Lock the Card Size */
.module-card-video {
    flex: 0 0 380px;           /* CRITICAL: Locks width to 380px (wider for 16:9 videos) */
    background: white;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0,0,0,0.02);
    display: flex;
    flex-direction: column;
    transition: transform 0.2s ease;
}

.module-card-video:hover {
    transform: translateY(-3px);
}

/* Make it responsive for smaller phone screens */
@media (max-width: 500px) {
    .module-card-video {
        flex: 0 0 85vw;        /* Takes up 85% of the screen width on small phones */
    }
}

/* Container para sa YouTube Embeds upang maging Responsive */
.video-container {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9; /* Sakto sa landscape format ng YouTube */
}

.video-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Preview Area para sa Flyers/Infographics */
.flyer-preview {
    width: 100%;
    aspect-ratio: 4 / 5; /* Magandang aspect ratio para sa mga vertical infographics */
    background-color: #f8fafc;
    overflow: hidden;
    border-bottom: 1px solid #edf2f7;
}

.flyer-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;       /* Prevents the image from zooming in */
    padding: 15px;             /* Adds a nice breathing room around the flyer */
    background-color: #f8fafc; /* Fills the empty space with a soft gray */
}

/* Laman ng Card (Text & Button) */
.module-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.module-body h3 {
    color: #2c3e50;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.module-body p {
    color: #64748b;
    font-size: 0.9rem;
    margin-bottom: 20px;
    line-height: 1.5;
}

/* Green Download Button */
.btn-download {
    background-color: #27ae60;
    color: white !important;
    text-align: center;
    padding: 11px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    font-size: 0.9rem;
    margin-top: auto; /* Itinutulak nito ang button sa pinakababa ng card kahit maikli ang text */
    transition: background 0.2s;
    display: inline-block;
}

.btn-download:hover {
    background-color: #219653;
}

img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    image-orientation: from-image !important; /* Ensures images respect their EXIF orientation data */
}

.qr-code-class {
    max-width: 220px;
    width: 100%;
    margin: 10px auto;
}

/* --- SALE BADGE --- */
.sale-header {
    display: inline-block;
    background-color: #e74c3c; /* Matches your existing danger button red */
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;       /* Gives it a smooth pill shape */
    margin-top: 5px;
    margin-bottom: 5px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(231, 76, 60, 0.2);
}

/* For the crossed-out old price */
.price-original {
    text-decoration: line-through;
    color: #94a3b8;            /* Soft muted gray */
    font-size: 0.85rem;
    margin-right: 6px;
    font-weight: normal;
}

/* Sold Out Header */
.sold-out-header {
    display: inline-block;
    background-color: gray; /* Matches your existing danger button red */
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 20px;       /* Gives it a smooth pill shape */
    margin-top: 5px;
    margin-bottom: 5px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 4px rgba(231, 76, 60, 0.2);
}

/* --- DONATION HORIZONTAL SCROLL --- */
.donation-scroll-wrapper {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 30px;
    padding: 20px 5% 40px 5%; /* Includes bottom padding for shadow/scroll clearance */
    margin: 0 auto;
    max-width: 1200px;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: auto;         /* Firefox */
    scroll-snap-type: x mandatory; /* Adds the smooth snapping effect */
}

/* 2. CHANGE THIS FOR CHROME/SAFARI/EDGE: */
.donation-scroll-wrapper::-webkit-scrollbar {
    display: block;                /* Changed from 'none' to 'block' to reveal it */
    height: 8px;                   /* Sets the height/thickness of your horizontal bar */
}

/* 3. STYLE THE SCROLLBAR: Matches the clean look of your products section */
.donation-scroll-wrapper::-webkit-scrollbar-track {
    background: #f1f5f9;           /* Light gray track background */
    border-radius: 10px;
}

.donation-scroll-wrapper::-webkit-scrollbar-thumb {
    background: #cbd5e1;           /* Gray scrollbar handle */
    border-radius: 10px;
}

.donation-scroll-wrapper::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;           /* Darker gray when you hover over it */
}

.donation-card {
    flex: 0 0 800px;               /* Locks the card width */
    max-width: 85vw;               /* Shrinks card on smaller screens */
    background: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    border: 1px solid #e2e8f0;
    scroll-snap-align: center;     /* Tells the card to snap to the center of the screen */
}

/* --- QR CODE SCALING --- */
.donation-qr-box img {
    max-width: 180px;         /* Change this number to scale the QR code up or down */
    width: 100%;              /* Ensures it is responsive on tiny screens */
    height: auto;             /* Keeps the aspect ratio perfect so it doesn't stretch */
    object-fit: contain;      /* Guarantees the entire image remains fully visible */
    display: block;
    margin: 15px auto 0 auto; /* Centers the QR code and adds a little breathing room on top */
    border-radius: 8px;       /* Optional: Gives the corners a smooth, modern look */
}

/* Centers the text above the QR code to match the centered image */
.donation-qr-box {
    text-align: center;
}

#main-founder-desc {
    text-align: justify;
    text-justify: inter-word; /* Makes word-spacing look cleaner on modern browsers */
    line-height: 1.6;        /* Adds comfortable breathing room between lines */
}

/* --- GLOBAL FOOTER SPONSORS (MUTED HYBRID APPROACH) --- */
.footer-sponsors {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* Subtle divider line */
}

.footer-sponsor-text {
    font-size: 0.75rem;
    color: #94a3b8;            /* Soft muted gray */
    text-transform: uppercase;
    letter-spacing: 1px;
}

.footer-sponsor-logos {
    display: flex;
    gap: 25px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.muted-logo {
    width: 45px;               /* Equal width and height forces a perfect square */
    height: 45px;
    border-radius: 50%;        /* Trims the corners to turn the square into a perfect circle */
    background-color: #ffffff; /* Generates the clean white background behind the logo */
    padding: 2px;              /* Acts as a protective barrier so the logo doesn't touch the circle edges */
    object-fit: contain;       /* Prevents the logo from stretching or warping inside the circle */
    display: inline-block;
    
    /* Muted Grayscale State */
    filter: grayscale(100%) opacity(60%); 
    transition: all 0.3s ease;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15); /* Adds slight depth against the navy footer */
}

.muted-logo:hover {
    filter: grayscale(0%) opacity(100%);  /* Snaps to full logo colors on hover */
    transform: scale(1.1);               /* Playful hover pop effect */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

/* --- UNIFIED SPONSOR CARD --- */
.sponsor-card {
    background: white;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    border: 1px solid #e2e8f0;
    max-width: 850px;
    margin: 0 auto 60px auto; 
}

.sponsor-card-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;                 
    flex-wrap: wrap;
}

.sponsor-card-logo {
    width: 140px;              
    height: 70px;              
    max-width: 45%;            /* ADDED: Guarantees they never exceed 45% of the screen width */
    object-fit: contain;       
    display: block;
    transition: transform 0.2s ease;
}

.sponsor-card-logo:hover {
    transform: scale(1.05);    
}

/* --- MOBILE RESPONSIVENESS --- */
/* This kicks in only on screens smaller than 600px (Mobile Phones) */
@media (max-width: 600px) {
    .sponsor-card {
        padding: 20px;         /* Shrinks the outer padding so the card fits better */
    }
    
    .sponsor-card-grid {
        gap: 20px;             /* Reduces the gap so the logos can sit side-by-side */
    }
}

/* --- ACCESSIBLE & PERMANENT SIDEWAYS SCROLLBAR --- */
.project-image-scrollway {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: scroll;            /* Force horizontal scrolling capabilities to be permanently active */
    gap: 15px;
    padding: 10px 5px 20px 5px;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    
    /* Accessibility: Clear, distinct contrast for Firefox browsers */
    scrollbar-width: auto;         /* Uses standard thicker size so it's easier to hit with a cursor */
    scrollbar-color: #94a3b8 #e2e8f0; /* Dark slate handle, soft gray background track */
    scroll-snap-type: x mandatory; 
}

/* Chrome, Safari, Edge, and Opera - Forces scrollbar visibility */
.project-image-scrollway::-webkit-scrollbar {
    height: 12px !important;                  /* Thicker 12px height makes a much easier target area for click-and-drag */
    display: block !important;     /* Overrides any default browser 'hide' actions */
}

/* Accessible Track: High contrast outline so the path is fully visible */
.project-image-scrollway::-webkit-scrollbar-track {
    background: #e2e8f0;           
    border-radius: 10px;
    border: 1px solid #cbd5e1 !important;     /* Adds a crisp border outline for low-vision users */
}

/* Accessible Thumb: High contrast background color so it stands out immediately */
.project-image-scrollway::-webkit-scrollbar-thumb {
    background: #94a3b8 !important;           /* Dark slate gray (Excellent contrast ratio against light track) */
    border-radius: 10px;
    border: 2px solid #e2e8f0 !important;     /* 'Inward padding effect' to make the handle look crisp and clean */
}

/* Clear state changes on hover and drag actions */
.project-image-scrollway::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;           /* Snaps to near-black on hover to indicate interactiveness */
}

.project-image-scrollway::-webkit-scrollbar-thumb:active {
    background: #94a3b8 !important;           /* Deepening dark shade while active/clicked so users know they have hold of it */
}

.project-image-scrollway img {
    flex: 0 0 320px;               
    max-width: 80vw;               
    height: 220px;                 
    object-fit: cover;             
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
    scroll-snap-align: start;      
    cursor: pointer;
    transition: transform 0.2s ease;
}

.project-image-scrollway img:hover {
    transform: scale(1.02);        
}

/* --- PROJECT LIGHTBOX WITH NAVIGATION --- */
.project-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.92); /* Dark, slightly transparent background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

#project-lightbox-img {
    max-width: 85%;
    max-height: 85vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.5);
    user-select: none;
}

/* The Left/Right Arrow Buttons */
.lightbox-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border: none;
    font-size: 2rem;
    width: 50px;
    height: 50px;
    cursor: pointer;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: background 0.3s ease;
    z-index: 10000;
}

.lightbox-nav-btn:hover {
    background: rgba(255, 255, 255, 0.4);
}

.lightbox-nav-btn.prev {
    left: 20px;
}

.lightbox-nav-btn.next {
    right: 20px;
}

/* Close Button (X) */
.lightbox-close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 2.5rem;
    cursor: pointer;
    z-index: 10000;
}

.project-description {
    text-align: justify;
    white-space: pre-line; /* <--- This forces the browser to show your paragraph breaks! */
}