@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&family=Outfit:wght@400;700;900&display=swap";:root{--primary-color:#036;--primary-hover:#024;--secondary-color:#009ca6;--background-light:#f4f7f6;--card-bg:#fff;--text-main:#1e293b;--text-muted:#475569;--accent-color:#e35205;--brick-color:#c2410c;--font-heading:"Outfit", sans-serif;--font-body:"Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--background-light);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin-bottom:1rem;font-weight:700}a{color:inherit;text-decoration:none}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#fffffff2;border-bottom:1px solid #0033661a;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0;box-shadow:0 4px 6px -1px #0000000d}.nav-brand{font-family:var(--font-heading);color:var(--primary-color);font-size:1.8rem;font-weight:900}.nav-links{gap:2rem;display:flex}.nav-link{color:var(--text-muted);font-weight:600;transition:color .3s;position:relative}.nav-link:hover,.nav-link.active{color:var(--text-main)}.nav-link.active:after{content:"";background-color:var(--primary-color);border-radius:2px;width:100%;height:2px;position:absolute;bottom:-4px;left:0}.hero{text-align:center;background:radial-gradient(circle,#009ca61a 0%,#0000 70%);border-radius:24px;margin-bottom:3rem;padding:4rem 1rem}.hero h1{margin-bottom:1rem;font-size:3.5rem}.hero p{color:var(--text-muted);max-width:600px;margin:0 auto;font-size:1.2rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;display:grid}.product-card{background:var(--card-bg);border:1px solid #0033660d;border-radius:20px;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s;display:flex;overflow:hidden;box-shadow:0 4px 6px -1px #0000000d}.product-card:hover{border-color:#009ca64d;transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.product-image{object-fit:cover;background-color:#fff;width:100%;height:250px}.product-info{flex-direction:column;flex:1;gap:.6rem;padding:1.6rem;display:flex}.product-info h3{font-family:var(--font-heading);color:var(--primary-color);margin:0;font-size:1.35rem;font-weight:800}.card-actions{flex-direction:column;gap:.6rem;margin-top:.5rem;display:flex}.buy-button{width:100%;color:var(--primary-color);cursor:pointer;background:#fff;border:1px solid #00336626;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-weight:700;transition:all .2s;display:flex}.buy-button:hover{border-color:var(--primary-color);background:#0033660a}.card-btn-request{background:var(--primary-color);color:#fff;border:none}.card-btn-request:hover{color:#fff;background:#024;transform:translateY(-2px);box-shadow:0 4px 12px #0363}.form-container{background:var(--card-bg);border:1px solid #0033661a;border-radius:16px;max-width:600px;margin:0 auto 2rem;padding:2rem;box-shadow:0 10px 15px -3px #0000000d}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-muted);margin-bottom:.5rem;font-weight:600;display:block}.form-control{width:100%;color:var(--text-main);font-family:var(--font-body);background:#00336608;border:1px solid #0363;border-radius:8px;padding:.8rem 1rem;font-size:1rem;transition:border-color .3s,background .3s}.form-control:focus{border-color:var(--secondary-color);background:#fff;outline:none}.btn-submit{background:var(--secondary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;transition:opacity .3s}.btn-submit:hover{opacity:.9}.pavers-container{flex-wrap:wrap;gap:8px;margin-top:2rem;display:flex}.paver{background:linear-gradient(135deg,#c2410c,#9a3412);border-radius:2px;width:40px;height:20px;animation:.5s backwards dropIn;box-shadow:inset 1px 1px 2px #fff3,2px 2px 4px #0000004d}@keyframes dropIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.stats-banner{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));text-align:center;color:#fff;border-radius:16px;margin-bottom:2rem;padding:2rem;box-shadow:0 10px 15px -3px #0363}.progress-container{background-color:#fff3;border-radius:10px;width:100%;max-width:600px;height:20px;margin:1rem auto;overflow:hidden}.progress-bar{background-color:#f59e0b;height:100%;transition:width .5s ease-out}.stats-number{font-size:3rem;font-weight:900;font-family:var(--font-heading)}.fade-in{animation:.6s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.product-image{position:relative;overflow:hidden}.product-image img{object-fit:cover;width:100%;height:250px;transition:transform .35s;display:block}.product-card:hover .product-image img{transform:scale(1.06)}.product-image-overlay{opacity:0;background:#0033668c;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.product-card:hover .product-image-overlay{opacity:1}.product-image-overlay span{color:#fff;font-family:var(--font-heading);letter-spacing:.04em;border:2px solid #ffffffb3;border-radius:30px;padding:.5rem 1.2rem;font-size:1.1rem;font-weight:700}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:540px;max-height:90vh;padding:2rem;overflow-y:auto;box-shadow:0 25px 50px #0003}.product-dialog{max-width:560px;padding:0;overflow-y:auto}.dialog-header{border-bottom:1px solid #00336614;justify-content:space-between;align-items:flex-start;padding:1.6rem 1.8rem 1rem;display:flex}.dialog-tag{color:var(--secondary-color);text-transform:uppercase;letter-spacing:.08em;background:#009ca61f;border-radius:20px;margin-bottom:.4rem;padding:.25rem .7rem;font-size:.75rem;font-weight:700;display:inline-block}.dialog-title{color:var(--primary-color);margin:0;font-size:1.5rem;line-height:1.2}.dialog-close{cursor:pointer;width:36px;height:36px;color:var(--text-muted);background:#0033660f;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;line-height:1;transition:background .2s;display:flex}.dialog-close:hover{background:#00336624}.dialog-image-wrap{width:100%;height:240px;overflow:hidden}.dialog-image{object-fit:cover;width:100%;height:100%}.dialog-meta{background:#00336608;border-bottom:1px solid #0033660f;justify-content:space-between;align-items:center;padding:1rem 1.8rem;display:flex}.dialog-price{font-size:2rem;font-weight:900;font-family:var(--font-heading);color:var(--secondary-color)}.dialog-impact{color:#9a3412;background:#c2410c1a;border:1px solid #c2410c33;border-radius:20px;padding:.4rem .9rem;font-size:.88rem;font-weight:600}.dialog-description{color:var(--text-main);padding:1.2rem 1.8rem 0;font-size:.97rem;line-height:1.75}.dialog-cta-hint{color:var(--text-muted);padding:.6rem 1.8rem 0;font-size:.88rem;line-height:1.6}.dialog-actions{gap:.8rem;padding:1.4rem 1.8rem 1.8rem;display:flex}.dialog-btn-cancel{cursor:pointer;color:var(--text-muted);background:0 0;border:1px solid #00336626;border-radius:10px;flex:1;padding:.85rem;font-size:.95rem;font-weight:600;transition:background .2s}.dialog-btn-cancel:hover{background:#0033660a}.dialog-btn-request{border-radius:10px;flex:2;padding:.85rem;font-size:.97rem}.admin-logout-btn{color:var(--primary-color);cursor:pointer;background:0 0;border:1px solid #0363;border-radius:8px;padding:.5rem 1.1rem;font-weight:600;transition:background .2s}.admin-logout-btn:hover{background:#0033660f}.admin-tabs{border-bottom:2px solid #0033661a;gap:.5rem;margin-bottom:1.8rem;padding-bottom:0;display:flex}.admin-tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;border-radius:8px 8px 0 0;margin-bottom:-2px;padding:.75rem 1.4rem;font-size:.95rem;font-weight:600;transition:color .2s,background .2s,border-color .2s}.admin-tab-btn:hover{color:var(--primary-color);background:#0033660a}.admin-tab-btn.active{color:var(--primary-color);border-bottom-color:var(--secondary-color);background:#0033660a}.admin-panel{background:var(--card-bg);border:1px solid #0033661a;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #0000000a}.amount-display{background:linear-gradient(135deg, var(--primary-color), var(--secondary-color));color:#fff;border-radius:14px;align-items:center;gap:1.2rem;margin-bottom:1.8rem;padding:1.2rem 1.8rem;display:flex}.amount-label{opacity:.85;font-size:.95rem;font-weight:600}.amount-value{font-family:var(--font-heading);font-size:2.2rem;font-weight:900}.amount-sections{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin-bottom:1.8rem;display:grid}.amount-card{background:#00336608;border:1px solid #0033661a;border-radius:12px;padding:1.4rem}.amount-card h3{margin-bottom:0;font-size:1.05rem}.danger-zone{background:#dc262608;border:1px solid #dc262633;border-radius:12px;padding:1.4rem}.manage-product-list{flex-direction:column;gap:.8rem;display:flex}.manage-product-card{background:#fff;border:1px solid #0033661a;border-radius:12px;padding:1rem 1.2rem;transition:box-shadow .2s}.manage-product-card:hover{box-shadow:0 4px 12px #0000000f}.manage-edit-btn{color:var(--primary-color);cursor:pointer;white-space:nowrap;background:#00336612;border:1px solid #00336626;border-radius:7px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:background .2s}.manage-edit-btn:hover{background:#00336624}.manage-remove-btn{color:#dc2626;cursor:pointer;white-space:nowrap;background:#dc262612;border:1px solid #dc262633;border-radius:7px;padding:.5rem 1rem;font-size:.88rem;font-weight:600;transition:background .2s}.manage-remove-btn:hover{background:#dc262624}.edit-form{animation:.25s fadeIn}.img-preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem;margin-top:1rem;display:grid}.img-preview-thumb{aspect-ratio:1;border:2px solid #0033661a;border-radius:8px;position:relative;overflow:hidden}.img-preview-thumb img{object-fit:cover;width:100%;height:100%}.img-thumb-primary{border-color:var(--secondary-color);box-shadow:0 0 0 2px #009ca633}.img-thumb-badge{background:var(--secondary-color);color:#fff;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:800;position:absolute;top:5px;left:5px}.img-thumb-actions{opacity:0;background:#0009;justify-content:center;gap:10px;padding:4px 0;transition:opacity .2s;display:flex;position:absolute;bottom:0;left:0;right:0}.img-preview-thumb:hover .img-thumb-actions{opacity:1}.img-thumb-actions button{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:.9rem;transition:background .2s;display:flex}.img-thumb-actions button:hover{background:#fff3}.carousel-btn{cursor:pointer;width:40px;height:40px;color:var(--primary-color);z-index:10;background:#fffc;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:2rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #0000001a}.carousel-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026}.carousel-btn-prev{left:1rem}.carousel-btn-next{right:1rem}.dialog-thumbnails{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff6;border:1px solid #ffffff4d;border-radius:12px;gap:8px;padding:6px;display:flex;position:absolute;bottom:1.2rem;left:50%;transform:translate(-50%)}.dialog-thumb{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:8px;width:44px;height:44px;transition:all .2s;overflow:hidden}.dialog-thumb img{object-fit:cover;opacity:.7;width:100%;height:100%}.dialog-thumb:hover img{opacity:1}.dialog-thumb.active{border-color:var(--secondary-color);transform:scale(1.1)}.dialog-thumb.active img{opacity:1}.pavers-grid-visual{background:#00006405;border:1px solid #0033660d;border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(18px,1fr));gap:4px;padding:1rem;display:grid}.paver-unit{aspect-ratio:1;background:#0000640d;border-radius:2px;transition:all .3s}.paver-unit.funded{background:var(--brick-color);animation:.4s backwards paverPop;box-shadow:inset 1px 1px 2px #fff3,1px 1px 3px #0000001a}@keyframes paverPop{0%{opacity:0;transform:scale(0)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}
