@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&family=Outfit:wght@700;800;900&display=swap');

:root {
  --bg:        #f0f6ff;
  --bg2:       #e2edf8;
  --white:     #ffffff;
  --dark:      #08142a;
  --dark2:     #0d1f3c;
  --dark3:     #132847;
  --text:      #0d1f3c;
  --muted:     #547594;
  --border:    rgba(5,130,202,0.11);
  --border-d:  rgba(255,255,255,0.08);
  --accent:    #0582ca;
  --accent2:   #00b4d8;
  --cyan:      #00d4ff;
  --green:     #06d6a0;
  --radius:    14px;
  --shadow:    0 2px 18px rgba(5,130,202,0.08);
  --shadow-md: 0 6px 30px rgba(5,130,202,0.14);
  --nav-h:     68px;
  --t:         0.22s cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{
  font-family:'Plus Jakarta Sans',sans-serif;
  background:var(--bg); color:var(--text);
  line-height:1.6; min-height:100vh;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

/* ── NAV ── */
#header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(8,20,42,0.96);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-d);
  height:var(--nav-h);
}
.nav{max-width:1200px;margin:0 auto;padding:0 2rem;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;gap:12px;}
.logo-mark{
  width:40px;height:40px;border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--cyan));
  display:flex;align-items:center;justify-content:center;
  font-family:'Outfit',sans-serif;font-size:0.88rem;font-weight:900;color:#fff;
  box-shadow:0 4px 14px rgba(0,180,216,0.35);flex-shrink:0;
}
.logo-mark.sm{width:32px;height:32px;font-size:0.75rem;border-radius:9px;}
.logo-name{font-family:'Outfit',sans-serif;font-size:1.2rem;font-weight:800;color:#fff;letter-spacing:-0.3px;}
.nav-links{display:flex;list-style:none;gap:0.15rem;}
.nl{display:block;padding:0.45rem 0.95rem;border-radius:9px;font-size:0.875rem;font-weight:600;color:rgba(255,255,255,0.55);transition:all var(--t);}
.nl:hover{color:#fff;background:rgba(255,255,255,0.08);}
.nl.active{color:var(--cyan);background:rgba(0,212,255,0.1);font-weight:700;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.nav-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;}

/* ── PAGE WRAPPER ── */
body{padding-top:var(--nav-h);}

/* ── FOOTER ── */
.footer{background:var(--dark);border-top:1px solid var(--border-d);}
.footer-inner-wrap{max-width:1200px;margin:0 auto;padding:2.5rem 2rem 1.5rem;}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:2rem;padding-bottom:2rem;border-bottom:1px solid var(--border-d);}
.footer-brand .footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:0.6rem;}
.footer-brand .logo-name{color:#fff;}
.footer-tagline{font-size:0.85rem;color:rgba(255,255,255,0.35);}
.footer-links{display:flex;flex-wrap:wrap;gap:0.5rem 1.5rem;}
.footer-links a{font-size:0.85rem;color:rgba(255,255,255,0.4);transition:color var(--t);}
.footer-links a:hover{color:#fff;}
.footer-bottom{padding-top:1.25rem;font-size:0.78rem;color:rgba(255,255,255,0.25);text-align:center;}

/* ── CONTAINER ── */
.container{max-width:1200px;margin:0 auto;padding:0 2rem;}
.section{padding:5rem 0;}
.section-alt{background:var(--white);}

.section-label{font-size:0.7rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent);margin-bottom:0.6rem;}
.section-heading{font-family:'Outfit',sans-serif;font-weight:800;font-size:clamp(1.9rem,4vw,3rem);letter-spacing:-1px;line-height:1.05;margin-bottom:2rem;color:var(--dark);}

/* ── BUTTONS ── */
.btn-primary{display:inline-block;padding:0.9rem 2.2rem;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:700;font-size:0.9rem;border-radius:12px;border:none;cursor:pointer;transition:transform var(--t),box-shadow var(--t);box-shadow:0 4px 18px rgba(5,130,202,0.3);font-family:'Plus Jakarta Sans',sans-serif;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(5,130,202,0.4);}
.btn-ghost{display:inline-block;padding:0.9rem 2.2rem;color:var(--accent);font-weight:700;font-size:0.9rem;border-radius:12px;border:2px solid rgba(5,130,202,0.3);transition:all var(--t);background:transparent;}
.btn-ghost:hover{background:rgba(5,130,202,0.06);border-color:var(--accent);}
.btn-ghost-light{display:inline-block;padding:0.9rem 2.2rem;color:rgba(255,255,255,0.85);font-weight:700;font-size:0.9rem;border-radius:12px;border:2px solid rgba(255,255,255,0.22);transition:all var(--t);background:transparent;}
.btn-ghost-light:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.5);color:#fff;}
.btn-outline{display:inline-block;padding:0.6rem 1.4rem;color:var(--accent);font-weight:600;font-size:0.85rem;border-radius:8px;border:1.5px solid rgba(5,130,202,0.22);transition:all var(--t);}
.btn-outline:hover{background:rgba(5,130,202,0.06);}

/* ── CARD ── */
.card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:border-color var(--t),transform var(--t),box-shadow var(--t);}
.card:hover{border-color:rgba(5,130,202,0.28);transform:translateY(-3px);box-shadow:var(--shadow-md);}

/* ── NEWS ── */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}
.news-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;box-shadow:var(--shadow);transition:border-color var(--t),transform var(--t),box-shadow var(--t);display:flex;flex-direction:column;}
.news-card:hover{border-color:rgba(5,130,202,0.3);transform:translateY(-4px);box-shadow:var(--shadow-md);}
.news-thumb{width:100%;height:190px;object-fit:cover;background:var(--bg2);}
.news-thumb-placeholder{width:100%;height:190px;background:linear-gradient(135deg,#d6ebff,#c0e0f5);display:flex;align-items:center;justify-content:center;font-size:2.5rem;}
.news-body{padding:1.4rem;flex:1;display:flex;flex-direction:column;}
.news-meta{font-size:0.7rem;color:var(--accent);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:0.5rem;}
.news-title{font-family:'Outfit',sans-serif;font-size:1.05rem;font-weight:800;line-height:1.3;margin-bottom:0.6rem;color:var(--dark);}
.news-excerpt{font-size:0.875rem;color:var(--muted);line-height:1.7;flex:1;}

/* ── CAMPAIGNS ── */
.campaign-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem 2rem;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;transition:border-color var(--t),box-shadow var(--t);}
.campaign-card:has(.camp-img){grid-template-columns:140px 1fr auto;}
.camp-img{width:140px;height:140px;object-fit:cover;border-radius:12px;background:var(--bg2);}
.campaign-card:hover{border-color:rgba(5,130,202,0.28);box-shadow:var(--shadow-md);}
.camp-badge{display:inline-block;background:rgba(6,214,160,0.1);color:#059669;font-size:0.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:0.25rem 0.75rem;border-radius:20px;margin-bottom:0.6rem;}
.camp-title{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:800;margin-bottom:0.4rem;color:var(--dark);}
.camp-desc{font-size:0.875rem;color:var(--muted);line-height:1.7;}
.camp-dates{text-align:right;min-width:120px;}
.camp-date-label{font-size:0.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:0.25rem;}
.camp-date-value{font-family:'Outfit',sans-serif;font-size:0.9rem;font-weight:700;color:var(--accent);}

/* ── GALLERY ── */
.gallery-tabs{display:flex;gap:0.5rem;margin-bottom:2rem;}
.gtab{padding:0.55rem 1.5rem;border-radius:10px;border:1.5px solid var(--border);background:var(--white);color:var(--muted);font-family:'Plus Jakarta Sans',sans-serif;font-size:0.875rem;font-weight:600;cursor:pointer;transition:all var(--t);}
.gtab.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 4px 14px rgba(5,130,202,0.25);}
.gtab-content{display:none;}
.gtab-content.active{display:grid;}
.photo-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0.75rem;}
.photo-item{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--bg2);cursor:pointer;transition:transform var(--t),box-shadow var(--t);position:relative;}
.photo-item:hover{transform:scale(1.03);box-shadow:0 6px 20px rgba(5,130,202,0.2);}
.photo-item img{width:100%;height:100%;object-fit:cover;}
.photo-caption{position:absolute;left:0;right:0;bottom:0;padding:0.5rem 0.7rem;background:linear-gradient(to top,rgba(8,20,42,0.85),transparent);color:#fff;font-size:0.78rem;font-weight:600;opacity:0;transition:opacity var(--t);}
.photo-item:hover .photo-caption{opacity:1;}
.video-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}
.video-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.video-card video{width:100%;display:block;}
.video-info{padding:0.85rem 1.1rem;}
.video-title{font-family:'Outfit',sans-serif;font-size:0.9rem;font-weight:700;color:var(--dark);}

/* ── CONTACT ── */
.contact-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:3rem;}
.contact-card{display:flex;align-items:center;gap:1rem;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.4rem;box-shadow:var(--shadow);margin-bottom:0.75rem;transition:border-color var(--t),box-shadow var(--t);}
.contact-card:hover{border-color:rgba(5,130,202,0.28);box-shadow:var(--shadow-md);}
.cc-icon{font-size:1.4rem;flex-shrink:0;}
.cc-label{font-size:0.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:0.15rem;}
.cc-value{font-size:0.9rem;font-weight:600;color:var(--dark);}
.contact-form-box{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);}
.contact-form-box h3{font-family:'Outfit',sans-serif;font-size:1.2rem;font-weight:800;margin-bottom:1.25rem;color:var(--dark);}
.cf-fields{display:flex;flex-direction:column;gap:0.75rem;}
.cf-fields input,.cf-fields textarea{background:var(--bg);border:1.5px solid var(--border);color:var(--text);padding:0.9rem 1.1rem;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.9rem;outline:none;transition:border-color var(--t),box-shadow var(--t);width:100%;}
.cf-fields input:focus,.cf-fields textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(5,130,202,0.1);}
.cf-fields textarea{resize:vertical;}

/* ── PAGE BANNER (light, simple, no overlap) ── */
.page-banner{background:linear-gradient(135deg,#dff0ff 0%,#eaf6ff 50%,#d4ecfa 100%);padding:4rem 2rem 3rem;}
.page-banner .section-label{color:var(--accent);}
.page-banner .section-heading{color:var(--dark);}

/* ── LIGHTBOX ── */
.lightbox{display:none;position:fixed;inset:0;z-index:999;background:rgba(0,0,0,0.92);align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:90vh;border-radius:12px;}
.lb-close{position:absolute;top:1.5rem;right:2rem;background:rgba(255,255,255,0.1);border:none;color:#fff;width:42px;height:42px;border-radius:50%;font-size:1rem;cursor:pointer;transition:background var(--t);}
.lb-close:hover{background:rgba(255,255,255,0.2);}

/* ── SKELETON ── */
.skeleton{background:var(--bg2);border-radius:var(--radius);position:relative;overflow:hidden;}
.skeleton::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.7),transparent);animation:shimmer 1.5s infinite;}
@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* ── EMPTY ── */
.empty-box{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;color:var(--muted);gap:1rem;text-align:center;}
.empty-icon{font-size:3rem;}

/* ── PILLS ── */
.pill{background:rgba(5,130,202,0.07);border:1px solid rgba(5,130,202,0.16);padding:0.4rem 1rem;border-radius:20px;font-size:0.82rem;font-weight:600;color:var(--accent);}
.pills{display:flex;flex-wrap:wrap;gap:0.5rem;}

/* ── HOME HERO (dark, only on home page) ── */
.hero{
  margin-top:calc(var(--nav-h) * -1);
  padding-top:calc(var(--nav-h) + 4rem);
  min-height:88vh;display:flex;align-items:center;
  padding-left:2rem;padding-right:2rem;padding-bottom:3rem;
  background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 55%,#0a2545 100%);
  position:relative;overflow:hidden;
}
.hero::before{content:'';position:absolute;top:-100px;right:-100px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(0,180,216,0.16) 0%,transparent 65%);pointer-events:none;}
.hero::after{content:'';position:absolute;bottom:-120px;left:-80px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(5,130,202,0.14) 0%,transparent 65%);pointer-events:none;}
.hero-inner{max-width:1200px;margin:0 auto;width:100%;position:relative;z-index:1;}
.hero-heading{font-family:'Outfit',sans-serif;font-weight:900;font-size:clamp(3.2rem,9vw,7rem);line-height:0.95;letter-spacing:-2px;margin-bottom:1.75rem;color:#fff;}
.hero-heading em{font-style:normal;background:linear-gradient(135deg,var(--accent2),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-desc{max-width:540px;font-size:1.1rem;color:rgba(255,255,255,0.55);line-height:1.8;margin-bottom:2.5rem;font-weight:500;}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap;}

/* ── LOGIN PAGE ── */
.login-page{min-height:100vh;margin-top:calc(var(--nav-h) * -1);padding-top:var(--nav-h);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--dark) 0%,var(--dark2) 50%,#0a2040 100%);padding-left:2rem;padding-right:2rem;position:relative;overflow:hidden;}
.login-page::before{content:'';position:absolute;top:-150px;left:-150px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(0,180,216,0.1),transparent 65%);}
.login-page::after{content:'';position:absolute;bottom:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(5,130,202,0.08),transparent 65%);}
.login-box{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:20px;padding:2.5rem;width:100%;max-width:380px;position:relative;z-index:1;backdrop-filter:blur(10px);}
.login-logo{display:flex;align-items:center;gap:12px;margin-bottom:2rem;justify-content:center;}
.login-logo .logo-name{color:#fff;font-family:'Outfit',sans-serif;font-size:1.3rem;font-weight:800;}
.login-title{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:800;color:#fff;text-align:center;margin-bottom:0.4rem;}
.login-sub{font-size:0.875rem;color:rgba(255,255,255,0.4);text-align:center;margin-bottom:2rem;}
.login-field{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1.25rem;}
.login-field label{font-size:0.78rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:1px;font-weight:600;}
.login-field input{background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.1);color:#fff;padding:0.9rem 1.1rem;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.95rem;outline:none;transition:border-color var(--t),box-shadow var(--t);width:100%;}
.login-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,212,255,0.1);}
.login-field input::placeholder{color:rgba(255,255,255,0.25);}
.login-btn{width:100%;padding:0.95rem;background:linear-gradient(135deg,var(--accent),var(--cyan));color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:0.95rem;border:none;border-radius:12px;cursor:pointer;transition:transform var(--t),box-shadow var(--t);box-shadow:0 4px 18px rgba(5,130,202,0.3);margin-top:0.5rem;}
.login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(5,130,202,0.4);}
.login-error{background:rgba(220,38,38,0.15);border:1px solid rgba(220,38,38,0.3);color:#fca5a5;padding:0.75rem 1rem;border-radius:8px;font-size:0.875rem;margin-bottom:1rem;display:none;}
.login-error.show{display:block;}

/* ── ADMIN ── */
.admin-body{background:var(--bg);}
.admin-wrap{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - var(--nav-h));margin-top:calc(var(--nav-h) * -1);padding-top:var(--nav-h);background:var(--dark);}
.sidebar{background:var(--dark);border-right:1px solid var(--border-d);padding:1.5rem 0;display:flex;flex-direction:column;position:sticky;top:var(--nav-h);align-self:start;height:calc(100vh - var(--nav-h));}
.sb-logo{display:flex;align-items:center;gap:12px;padding:0 1.5rem 1.5rem;border-bottom:1px solid var(--border-d);margin-bottom:1rem;}
.sb-logo .logo-name{font-family:'Outfit',sans-serif;font-weight:800;font-size:1rem;color:#fff;}
.sb-sub{font-size:0.7rem;color:rgba(255,255,255,0.3);}
.sb-nav{display:flex;flex-direction:column;flex:1;}
.sb-link{display:flex;align-items:center;gap:10px;padding:0.85rem 1.5rem;color:rgba(255,255,255,0.45);font-size:0.875rem;font-weight:600;border-left:3px solid transparent;cursor:pointer;transition:all var(--t);text-decoration:none;}
.sb-link:hover{color:#fff;background:rgba(255,255,255,0.06);}
.sb-link.active{color:var(--cyan);background:rgba(0,212,255,0.07);border-left-color:var(--cyan);}
.sb-back{padding:1rem 1.5rem;color:rgba(255,255,255,0.35);font-size:0.82rem;border-top:1px solid var(--border-d);text-decoration:none;transition:color var(--t);margin-top:auto;}
.sb-back:hover{color:#fff;}
.admin-main{padding:2.5rem;overflow-y:auto;background:var(--bg);}
.panel{max-width:760px;}
.panel{display:none;}
.panel.active{display:block;}
.panel-title{font-family:'Outfit',sans-serif;font-size:2rem;font-weight:800;letter-spacing:-1px;margin-bottom:2rem;color:var(--dark);}
.acard{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;margin-bottom:1.5rem;box-shadow:var(--shadow);}
.acard-title{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin-bottom:1.25rem;padding-bottom:0.75rem;border-bottom:1px solid var(--border);}
.aform{display:flex;flex-direction:column;gap:0.85rem;}
.aform input,.aform textarea{background:var(--bg);border:1.5px solid var(--border);color:var(--text);padding:0.9rem 1.1rem;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.875rem;outline:none;transition:border-color var(--t),box-shadow var(--t);width:100%;}
.aform input:focus,.aform textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(5,130,202,0.1);}
.aform textarea{resize:vertical;}
.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.settings-grid .full{grid-column:1/-1;}
.flabel{display:block;font-size:0.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:0.4rem;}
.file-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.file-label{background:rgba(5,130,202,0.05);border:1.5px dashed rgba(5,130,202,0.3);color:var(--accent);padding:0.65rem 1.25rem;border-radius:8px;font-size:0.82rem;font-weight:600;cursor:pointer;transition:all var(--t);white-space:nowrap;}
.file-label:hover{background:rgba(5,130,202,0.1);border-color:var(--accent);}
.file-row input[type="file"]{display:none;}
.file-row span{font-size:0.8rem;color:var(--muted);font-style:italic;}
.progress-wrap{display:flex;align-items:center;gap:1rem;}
.pbar{flex:1;height:4px;background:var(--bg2);border-radius:2px;overflow:hidden;}
#pfill{height:100%;background:var(--accent);border-radius:2px;width:0%;transition:width .2s;}
#ptext{font-size:0.8rem;color:var(--accent);font-weight:700;min-width:38px;}
.alist{display:flex;flex-direction:column;gap:0.6rem;}
.aloading{color:var(--muted);font-size:0.875rem;font-style:italic;padding:1rem 0;}
.aitem{display:flex;align-items:center;justify-content:space-between;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:0.9rem 1.1rem;gap:1rem;}
.aitem-info{flex:1;min-width:0;}
.aitem-title{font-weight:600;font-size:0.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--dark);}
.aitem-meta{font-size:0.75rem;color:var(--muted);margin-top:2px;}
.btn-del{background:rgba(220,38,38,0.07);border:1px solid rgba(220,38,38,0.18);color:#dc2626;padding:0.4rem 0.85rem;border-radius:6px;font-size:0.78rem;font-weight:600;cursor:pointer;transition:all var(--t);font-family:'Plus Jakarta Sans',sans-serif;white-space:nowrap;}
.btn-del:hover{background:rgba(220,38,38,0.12);border-color:#dc2626;}
.aphoto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0.75rem;}
.aphoto{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--bg2);}
.aphoto img{width:100%;height:100%;object-fit:cover;}
.aphoto-del{position:absolute;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--t);}
.aphoto:hover .aphoto-del{opacity:1;}
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--accent);color:#fff;padding:0.9rem 1.6rem;border-radius:12px;font-weight:600;font-size:0.875rem;z-index:9999;transform:translateY(120px);opacity:0;transition:all 0.3s;box-shadow:0 4px 20px rgba(5,130,202,0.35);}
.toast.show{transform:translateY(0);opacity:1;}
.toast.err{background:#dc2626;box-shadow:0 4px 20px rgba(220,38,38,0.3);}

@media(max-width:900px){
  .contact-layout{grid-template-columns:1fr;}
  .campaign-card{grid-template-columns:1fr;}
  .campaign-card:has(.camp-img){grid-template-columns:1fr;}
  .camp-img{width:100%;height:160px;}
  .camp-dates{text-align:left;}
  .admin-wrap{grid-template-columns:1fr;}
  .sidebar{position:relative;height:auto;top:0;}
  .form-2col,.settings-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .nav-links{display:none;flex-direction:column;position:absolute;top:var(--nav-h);left:0;right:0;background:rgba(8,20,42,0.98);border-bottom:1px solid var(--border-d);padding:1rem;box-shadow:0 8px 24px rgba(0,0,0,0.3);}
  .nav-links.open{display:flex;}
  .nav-toggle{display:flex;}
  .admin-main{padding:1.25rem;}
  .page-banner{padding:3rem 1.5rem 2rem;}
  .news-grid,.video-grid{grid-template-columns:1fr;}
  .photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
  .container{padding:0 1.25rem;}
}
