.aa-project { color:#222; background:#fff; }
.aa-project-hero { position:relative; min-height:480px; display:flex; align-items:flex-end; background-size:cover; background-position:center; }
.aa-project-hero-empty { background:#5f0d0f; }
.aa-project-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.18)); }
.aa-project-hero-content { position:relative; z-index:1; color:#fff; padding-bottom:64px; }
.aa-project-hero-content span,.aa-project-label { color:#981518; font-size:.78rem; font-weight:800; letter-spacing:1.5px; }
.aa-project-hero-content span { color:#fff; opacity:.85; }
.aa-project-hero h1 { max-width:800px; margin:8px 0 12px; font-size:clamp(2.2rem,5vw,4.5rem); font-weight:800; }
.aa-project-hero p { max-width:680px; margin:0; font-size:1.15rem; line-height:1.6; }
.aa-project-hero .aa-project-leader { font-size:.98rem; font-weight:600; opacity:.92; }
.aa-project-content { padding-top:64px; padding-bottom:64px; }
.aa-project-main section+section { margin-top:48px; }
.aa-project-updated { margin:0 0 24px; color:#8a8a8a; font-size:.82rem; }
.aa-project-updated i { margin-right:5px; }
.aa-project-main h2 { margin:7px 0 17px; font-size:1.75rem; font-weight:750; }
.aa-project-copy { color:#555; font-size:1.03rem; line-height:1.85; text-align:justify; }
.aa-project-needs { padding:30px; background:#fbf2f2; border-left:4px solid #801214; }
.aa-project-needs .aa-project-copy { color:#444; }
.aa-project-donate { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:48px; padding:30px; border:1px solid #ead4d4; border-radius:14px; background:linear-gradient(135deg,#fff,#fbf2f2); }
.aa-project-donate h2 { margin:5px 0 8px; }
.aa-project-donate p { margin:0; color:#666; line-height:1.6; }
.aa-project-donate-label { color:#801214; font-size:.75rem; font-weight:800; letter-spacing:1.4px; }
.aa-project-donate-button { flex:0 0 auto; border:0; border-radius:8px; padding:13px 22px; background:#b16729; color:#fff; font-weight:700; opacity:.7; cursor:not-allowed; }
.aa-project-gallery { padding:60px 0 72px; background:#fff; }
.aa-project-gallery h2 { margin:7px 0 25px; font-weight:750; }
.aa-project-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.aa-project-gallery-item { position:relative; display:block; width:100%; padding:0; border:0; border-radius:12px; overflow:hidden; background:#ddd; cursor:zoom-in; }
.aa-project-gallery-item img { display:block; width:100%; height:280px; object-fit:cover; transition:transform .25s ease; }
.aa-project-gallery-item span { position:absolute; right:12px; bottom:12px; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:rgba(0,0,0,.65); color:#fff; opacity:0; transition:opacity .2s ease; }
.aa-project-gallery-item:hover img { transform:scale(1.025); }
.aa-project-gallery-item:hover span,.aa-project-gallery-item:focus-visible span { opacity:1; }
.aa-lightbox { position:fixed; inset:0; z-index:5000; display:none; align-items:center; justify-content:center; padding:28px 80px; background:rgba(0,0,0,.94); }
.aa-lightbox.aa-open { display:flex; }
.aa-lightbox figure { display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%; margin:0; }
.aa-lightbox figure img { display:block; max-width:100%; max-height:calc(100vh - 90px); object-fit:contain; }
.aa-lightbox figcaption { display:flex; align-items:center; gap:18px; margin-top:10px; color:#fff; font-size:.9rem; }
.aa-lightbox figcaption a { display:inline-flex; align-items:center; gap:7px; color:#fff; font-weight:700; text-decoration:none; }
.aa-lightbox figcaption a:hover { color:#e7a5a6; }
.aa-lightbox-close,.aa-lightbox-nav { position:absolute; z-index:1; display:grid; place-items:center; border:0; color:#fff; background:rgba(255,255,255,.12); cursor:pointer; }
.aa-lightbox-close { top:18px; right:20px; width:46px; height:46px; border-radius:50%; font-size:1.4rem; }
.aa-lightbox-nav { top:50%; width:50px; height:70px; transform:translateY(-50%); border-radius:8px; font-size:1.35rem; }
.aa-lightbox-prev { left:18px; }.aa-lightbox-next { right:18px; }
.aa-lightbox-close:hover,.aa-lightbox-nav:hover { background:#801214; }
body.aa-lightbox-active { overflow:hidden; }
@media(max-width:768px){.aa-project-hero{min-height:390px}.aa-project-hero-content{padding:40px 20px}.aa-project-content{padding:42px 20px}.aa-project-gallery{padding:44px 0}.aa-project-gallery .container{padding-left:20px;padding-right:20px}.aa-project-gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.aa-project-gallery-item img{height:180px}.aa-project-gallery-item span{opacity:1;width:32px;height:32px}.aa-project-needs{padding:22px}.aa-project-donate{align-items:stretch; flex-direction:column; padding:22px; gap:18px}.aa-project-donate-button{width:100%}.aa-lightbox{padding:65px 12px 80px}.aa-lightbox-nav{top:auto;bottom:18px;width:54px;height:48px;transform:none}.aa-lightbox-prev{left:calc(50% - 64px)}.aa-lightbox-next{right:calc(50% - 64px)}}

.aa-project-donate { justify-content:center; text-align:center; border-radius:0; border:2px solid #ffc439; background:#fffaf0; padding:32px; }
.aa-project-paypal { width:100%; max-width:420px; min-width:0; margin-inline:auto; }
.aa-project-paypal-brand { margin-bottom:18px; color:#003087; font-size:1.35rem; font-weight:700; }
.aa-project-paypal-brand i { margin-right:8px; }
.aa-project-paypal form { margin:0 auto; }
.aa-project-paypal input[type=image] { max-width:100%; min-width:min(180px, 100%); min-height:44px; object-fit:contain; }
.aa-project-paypal a:focus-visible, .aa-project-paypal button:focus-visible, .aa-project-paypal input:focus-visible { outline:3px solid #0070ba; outline-offset:5px; }
.aa-project-donate-button { background:#ffc439; color:#003087; }

@media(max-width:768px) {
    .aa-project-donate { width:100%; box-sizing:border-box; margin-top:32px; padding:24px 16px; gap:16px; }
    .aa-project-paypal-brand { font-size:1.15rem; margin-bottom:16px; }
    .aa-project-paypal form, .aa-project-paypal iframe, .aa-project-paypal img, .aa-project-paypal button, .aa-project-paypal input { max-width:100%; box-sizing:border-box; }
    .aa-project-donate-button { white-space:normal; min-height:48px; }
}
