/* 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;
}

.nav-links { list-style: none; display: flex; gap: 20px; align-items: center; }
.nav-links li { cursor: pointer; color: #555; font-weight: 500; transition: color 0.3s; font-size: 0.95rem; }
.nav-links li a { text-decoration: none; color: #555; }
.nav-links li:hover, .nav-links li.active, .nav-links li a:hover { color: #e67e22; }

.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: none;     /* Hides scrollbar in Firefox */
}

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

/* 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%;
}

.modules-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 25px;
    margin-bottom: 50px;
}

.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: none;     /* Hides scrollbar in Firefox */
}

/* Hides scrollbar in Chrome/Safari */
.modules-grid-video::-webkit-scrollbar {
    display: none;
}

/* 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: cover;
}

/* 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;
}

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

/* Container: forces a single horizontal row and enables scrolling */
.products-grid-carousel {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 20px;
    padding: 20px;
    /* Smooth scrolling on touch devices */
    -webkit-overflow-scrolling: touch; 
    /* Hides the scrollbar while keeping functionality */
    scrollbar-width: none; 
}

.products-grid-carousel::-webkit-scrollbar { 
    display: none; 
}

/* Image wrapper: maintains consistent aspect ratio */
.product-img-wrapper-carousel {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    margin-bottom: 15px;
    cursor: pointer;
}

.product-img-wrapper-carousel img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product-card-carousel {
    flex: 0 0 300px;
    max-width: 300px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    
    /* NEW: This makes the card a vertical column */
    display: flex;
    flex-direction: column;
    height: 100%; /* Ensures the card uses full height */
}

/* This pushes the button to the bottom */
.btn-order-ig-carousel {
    margin-top: auto; 
    margin-bottom: 0;
}

/* --- 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: none;         /* Firefox */
    scroll-snap-type: x mandatory; /* Adds the smooth snapping effect */
}

.donation-scroll-wrapper::-webkit-scrollbar {
    display: none;                 /* Chrome/Safari */
}

.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;
}

/* --- 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; /* Centers the card and gives spacing at the bottom */
}

.sponsor-card-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;                 /* Adjust space between logos */
    flex-wrap: wrap;
}

.sponsor-card-logo {
    width: 140px;              /* Sets a strict width boundary */
    height: 70px;              /* Sets a strict height boundary */
    object-fit: contain;       /* Safeguards proportions so logos never warp */
    display: block;
    transition: transform 0.2s ease;
}

.sponsor-card-logo:hover {
    transform: scale(1.05);    /* Subtle interactive lift on hover */
}