/* TAC Abuja Metro Youths — brand tokens & UI (ports the React app's design) */
:root{
  --navy:#03045E;
  --royal:#023E8A;
  --cyan:#0096C7;
  --gold:#F4C95D;
  --bg:#FBFBFF;
  --fg:#03045E;
  --muted:#EEF3FB;
  --muted-fg:#4A5A87;
  --border:#DCE4F5;
  --gradient-hero:linear-gradient(135deg,#03045E 0%,#023E8A 55%,#0096C7 100%);
  --gradient-royal:linear-gradient(120deg,#023E8A 0%,#0096C7 100%);
  --gradient-soft:linear-gradient(180deg,#FBFBFF 0%,#EEF3FB 100%);
  --shadow-elegant:0 24px 60px -20px color-mix(in oklab,#03045E 40%,transparent);
  --shadow-glow:0 0 40px color-mix(in oklab,#0096C7 30%,transparent);
  --font-display:"Fraunces","Georgia",serif;
  --font-sans:"Plus Jakarta Sans","Inter",system-ui,sans-serif;
}

html,body.tac-amy-body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;}
body.tac-amy-body{margin:0;}
.tac-amy *{box-sizing:border-box;}
.tac-amy .font-display{font-family:var(--font-display);letter-spacing:-.01em;}
.tac-amy .container{max-width:1200px;margin:0 auto;padding:0 1rem;}
@media(min-width:768px){.tac-amy .container{padding:0 2rem;}}

/* HEADER */
.tac-hdr{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--navy) 92%,transparent);backdrop-filter:blur(14px);color:#fff;border-bottom:1px solid rgba(255,255,255,.1);}
.tac-hdr-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;max-width:1200px;margin:0 auto;}
@media(min-width:768px){.tac-hdr-inner{padding:.75rem 2rem;}}
.tac-hdr-brand{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none;}
.tac-hdr-brand img{width:44px;height:44px;border-radius:9999px;background:rgba(255,255,255,.1);padding:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);}
.tac-hdr-brand .t1{font-family:var(--font-display);font-size:1.125rem;font-weight:600;line-height:1.1;}
.tac-hdr-brand .t2{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);}
.tac-hdr-nav{display:none;gap:.25rem;align-items:center;}
@media(min-width:1024px){.tac-hdr-nav{display:flex;}}
.tac-hdr-nav a{color:rgba(255,255,255,.85);text-decoration:none;padding:.5rem 1rem;font-size:.9rem;font-weight:500;border-radius:.5rem;transition:color .2s;}
.tac-hdr-nav a:hover,.tac-hdr-nav .current-menu-item>a,.tac-hdr-nav .current_page_item>a{color:var(--cyan);}
.tac-hdr-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;}
.tac-hdr-cta{display:none;gap:.75rem;align-items:center;}
@media(min-width:1024px){.tac-hdr-cta{display:flex;}}
.tac-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:9999px;font-weight:600;font-size:.875rem;text-decoration:none;transition:all .2s;cursor:pointer;border:0;}
.tac-btn-live{border:1px solid rgba(255,255,255,.25);color:#fff;background:transparent;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;}
.tac-btn-live:hover{background:rgba(255,255,255,.1);}
.tac-btn-live .dot{position:relative;display:inline-flex;width:.5rem;height:.5rem;}
.tac-btn-live .dot::before{content:"";position:absolute;inset:0;border-radius:9999px;background:#f87171;opacity:.75;animation:tac-ping 1.5s cubic-bezier(0,0,0.2,1) infinite;}
.tac-btn-live .dot::after{content:"";position:relative;display:inline-block;width:.5rem;height:.5rem;border-radius:9999px;background:#ef4444;}
@keyframes tac-ping{75%,100%{transform:scale(2.2);opacity:0;}}
.tac-btn-donate{background:var(--cyan);color:var(--navy);box-shadow:var(--shadow-glow);}
.tac-btn-donate:hover{background:#fff;}
.tac-btn-primary{background:var(--navy);color:#fff;}
.tac-btn-primary:hover{background:var(--royal);}
.tac-btn-outline{border:1.5px solid var(--navy);color:var(--navy);background:transparent;}
.tac-btn-outline:hover{background:var(--navy);color:#fff;}
.tac-btn-cyan{background:var(--cyan);color:var(--navy);}
.tac-btn-cyan:hover{background:var(--navy);color:#fff;}
.tac-hdr-toggle{display:inline-flex;background:none;border:0;color:#fff;padding:.5rem;border-radius:.375rem;cursor:pointer;}
@media(min-width:1024px){.tac-hdr-toggle{display:none;}}
.tac-hdr-toggle:hover{background:rgba(255,255,255,.1);}
.tac-hdr-mobile{display:none;border-top:1px solid rgba(255,255,255,.1);background:var(--navy);padding:1rem;}
.tac-hdr-mobile.open{display:block;}
.tac-hdr-mobile a{display:block;padding:.75rem 1rem;color:rgba(255,255,255,.9);text-decoration:none;border-radius:.375rem;}
.tac-hdr-mobile a:hover{background:rgba(255,255,255,.1);}
.tac-hdr-mobile ul{list-style:none;margin:0 0 .5rem;padding:0;}
.tac-hdr-mobile-cta{display:flex;gap:.5rem;padding-top:.5rem;}
.tac-hdr-mobile-cta a{flex:1;text-align:center;}

/* FOOTER */
.tac-ftr{position:relative;overflow:hidden;background:var(--navy);color:#fff;}
.tac-ftr-glow1,.tac-ftr-glow2{position:absolute;width:24rem;height:24rem;border-radius:9999px;filter:blur(60px);opacity:.3;pointer-events:none;}
.tac-ftr-glow1{top:-10rem;right:-10rem;background:var(--cyan);}
.tac-ftr-glow2{bottom:-10rem;left:-10rem;background:var(--royal);}
.tac-ftr-inner{position:relative;max-width:1200px;margin:0 auto;padding:0 1rem;}
@media(min-width:768px){.tac-ftr-inner{padding:0 2rem;}}
.tac-ftr-news{padding:4rem 0 3rem;border-bottom:1px solid rgba(255,255,255,.1);display:grid;gap:2.5rem;}
@media(min-width:768px){.tac-ftr-news{grid-template-columns:1fr 1fr;align-items:center;}}
.tac-ftr-news .kicker{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);margin-bottom:.75rem;}
.tac-ftr-news h3{font-family:var(--font-display);font-size:1.875rem;font-weight:600;margin:0;}
@media(min-width:768px){.tac-ftr-news h3{font-size:2.25rem;}}
.tac-ftr-form{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:1rem;backdrop-filter:blur(8px);}
@media(min-width:640px){.tac-ftr-form{flex-direction:row;}}
.tac-ftr-form input{flex:1;background:transparent;border:0;padding:.75rem 1rem;color:#fff;outline:none;font:inherit;}
.tac-ftr-form input::placeholder{color:rgba(255,255,255,.4);}
.tac-ftr-form button{background:var(--cyan);color:var(--navy);border:0;padding:.75rem 1.5rem;font-weight:600;border-radius:.75rem;cursor:pointer;font:inherit;}
.tac-ftr-form button:hover{background:#fff;}
.tac-ftr-main{padding:3.5rem 0;display:grid;gap:2.5rem;}
@media(min-width:768px){.tac-ftr-main{grid-template-columns:2fr 1fr 1fr;}}
.tac-ftr-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;}
.tac-ftr-brand img{width:48px;height:48px;border-radius:9999px;background:rgba(255,255,255,.1);padding:4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);}
.tac-ftr-brand .t1{font-family:var(--font-display);font-size:1.25rem;font-weight:600;}
.tac-ftr-brand .t2{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);}
.tac-ftr p{color:rgba(255,255,255,.7);line-height:1.7;max-width:28rem;}
.tac-ftr .italic-cyan{font-style:italic;color:var(--cyan);}
.tac-ftr-socials{display:flex;gap:.75rem;margin-top:1.5rem;}
.tac-ftr-socials a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:9999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#fff;text-decoration:none;transition:all .2s;}
.tac-ftr-socials a:hover{background:var(--cyan);color:var(--navy);}
.tac-ftr-socials svg{width:1rem;height:1rem;}
.tac-ftr h4{color:var(--cyan);font-weight:600;margin:0 0 1rem;}
.tac-ftr ul.tac-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;}
.tac-ftr ul.tac-links a{color:rgba(255,255,255,.75);text-decoration:none;}
.tac-ftr ul.tac-links a:hover{color:#fff;}
.tac-ftr ul.tac-reach{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;font-size:.875rem;color:rgba(255,255,255,.75);}
.tac-ftr ul.tac-reach li{display:flex;gap:.5rem;}
.tac-ftr ul.tac-reach svg{width:1rem;height:1rem;color:var(--cyan);flex-shrink:0;margin-top:2px;}
.tac-ftr-bottom{border-top:1px solid rgba(255,255,255,.1);}
.tac-ftr-bottom .inner{display:flex;flex-direction:column;gap:.5rem;justify-content:space-between;align-items:center;padding:1.5rem 0;font-size:.75rem;color:rgba(255,255,255,.5);}
@media(min-width:768px){.tac-ftr-bottom .inner{flex-direction:row;}}

/* Elementor widget shared blocks */
.tac-section{padding:5rem 0;}
.tac-kicker{display:inline-block;font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);margin-bottom:.75rem;}
.tac-h2{font-family:var(--font-display);font-size:2.25rem;font-weight:600;line-height:1.15;margin:0 0 1rem;color:var(--navy);}
@media(min-width:768px){.tac-h2{font-size:3rem;}}
.tac-lead{font-size:1.05rem;color:var(--muted-fg);line-height:1.7;max-width:42rem;}

/* Hero */
.tac-hero{position:relative;overflow:hidden;background:var(--gradient-hero);color:#fff;padding:5rem 0 6rem;}
.tac-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(1200px 500px at 80% 10%,rgba(0,150,199,.35),transparent 60%);pointer-events:none;}
.tac-hero .grid{display:grid;gap:3rem;align-items:center;position:relative;z-index:1;}
@media(min-width:900px){.tac-hero .grid{grid-template-columns:1.1fr 1fr;}}
.tac-hero h1{font-family:var(--font-display);font-size:2.75rem;font-weight:600;line-height:1.05;margin:0 0 1.25rem;}
@media(min-width:768px){.tac-hero h1{font-size:4rem;}}
.tac-hero h1 .accent{color:var(--cyan);font-style:italic;}
.tac-hero p{color:rgba(255,255,255,.85);font-size:1.1rem;line-height:1.6;max-width:34rem;margin:0 0 2rem;}
.tac-hero .btns{display:flex;flex-wrap:wrap;gap:.75rem;}
.tac-hero .btns .tac-btn{padding:.85rem 1.75rem;font-size:.95rem;}
.tac-hero-media{position:relative;border-radius:1.5rem;overflow:hidden;box-shadow:var(--shadow-elegant);aspect-ratio:4/5;background:#0a0e3d;}
.tac-hero-media img{width:100%;height:100%;object-fit:cover;display:block;}

/* Feature cards */
.tac-features{display:grid;gap:1.5rem;}
@media(min-width:640px){.tac-features{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.tac-features{grid-template-columns:repeat(3,1fr);}}
.tac-feature{background:#fff;border:1px solid var(--border);border-radius:1.25rem;padding:1.75rem;transition:all .2s;}
.tac-feature:hover{border-color:var(--cyan);transform:translateY(-4px);box-shadow:var(--shadow-elegant);}
.tac-feature .icon{width:3rem;height:3rem;border-radius:.75rem;background:var(--gradient-royal);color:#fff;display:grid;place-items:center;margin-bottom:1rem;}
.tac-feature .icon svg{width:1.5rem;height:1.5rem;}
.tac-feature h3{font-family:var(--font-display);font-size:1.35rem;margin:0 0 .5rem;color:var(--navy);}
.tac-feature p{color:var(--muted-fg);margin:0;line-height:1.6;}

/* Events grid */
.tac-events{display:grid;gap:1.5rem;}
@media(min-width:768px){.tac-events{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.tac-events{grid-template-columns:repeat(3,1fr);}}
.tac-event{background:#fff;border-radius:1.25rem;overflow:hidden;border:1px solid var(--border);transition:all .3s;}
.tac-event:hover{transform:translateY(-4px);box-shadow:var(--shadow-elegant);}
.tac-event .img{aspect-ratio:16/10;overflow:hidden;background:var(--muted);}
.tac-event .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.tac-event:hover .img img{transform:scale(1.05);}
.tac-event .body{padding:1.5rem;}
.tac-event .date{color:var(--cyan);font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;}
.tac-event h3{font-family:var(--font-display);font-size:1.4rem;margin:.5rem 0;color:var(--navy);}
.tac-event p{color:var(--muted-fg);margin:0 0 1rem;font-size:.925rem;line-height:1.55;}

/* CTA */
.tac-cta{background:var(--gradient-hero);color:#fff;border-radius:2rem;padding:3rem 2rem;text-align:center;box-shadow:var(--shadow-elegant);}
.tac-cta h2{font-family:var(--font-display);font-size:2rem;margin:0 0 .75rem;}
@media(min-width:768px){.tac-cta h2{font-size:2.75rem;}}
.tac-cta p{color:rgba(255,255,255,.85);max-width:36rem;margin:0 auto 1.75rem;line-height:1.6;}
.tac-cta .btns{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem;}

/* Speakers */
.tac-speakers{display:grid;gap:1.5rem;}
@media(min-width:640px){.tac-speakers{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.tac-speakers{grid-template-columns:repeat(4,1fr);}}
.tac-speaker{text-align:center;background:#fff;border:1px solid var(--border);border-radius:1.25rem;padding:1.5rem;}
.tac-speaker .avatar{width:7rem;height:7rem;border-radius:9999px;margin:0 auto 1rem;background:var(--gradient-royal);display:grid;place-items:center;color:#fff;font-family:var(--font-display);font-size:2rem;overflow:hidden;}
.tac-speaker .avatar img{width:100%;height:100%;object-fit:cover;}
.tac-speaker h4{font-family:var(--font-display);font-size:1.15rem;margin:0 0 .25rem;color:var(--navy);}
.tac-speaker .role{color:var(--cyan);font-size:.85rem;font-weight:600;}

/* Schedule */
.tac-schedule{display:grid;gap:1.5rem;}
@media(min-width:900px){.tac-schedule{grid-template-columns:repeat(3,1fr);}}
.tac-day{background:#fff;border:1px solid var(--border);border-radius:1.25rem;padding:1.75rem;}
.tac-day .day-num{font-family:var(--font-display);color:var(--cyan);font-size:.85rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;}
.tac-day h3{font-family:var(--font-display);font-size:1.5rem;margin:.25rem 0 1rem;color:var(--navy);}
.tac-day ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem;}
.tac-day li{display:flex;gap:.75rem;font-size:.9rem;color:var(--muted-fg);}
.tac-day li strong{color:var(--navy);min-width:5rem;}

/* Gallery */
.tac-gallery{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);}
@media(min-width:768px){.tac-gallery{grid-template-columns:repeat(4,1fr);}}
.tac-gallery a,.tac-gallery .item{display:block;aspect-ratio:1;border-radius:1rem;overflow:hidden;background:var(--muted);}
.tac-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.tac-gallery a:hover img{transform:scale(1.08);}

/* Info bar (event details) */
.tac-infobar{display:grid;gap:1rem;grid-template-columns:1fr;background:#fff;border:1px solid var(--border);border-radius:1.5rem;padding:1.5rem;box-shadow:var(--shadow-elegant);}
@media(min-width:768px){.tac-infobar{grid-template-columns:repeat(3,1fr);}}
.tac-infobar .item{display:flex;gap:.85rem;align-items:flex-start;}
.tac-infobar .icon{width:2.5rem;height:2.5rem;border-radius:.75rem;background:var(--gradient-royal);color:#fff;display:grid;place-items:center;flex-shrink:0;}
.tac-infobar .lbl{color:var(--cyan);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;}
.tac-infobar .val{color:var(--navy);font-weight:600;}
