
/* Shared site chrome — keep this file common to every page. */
:root{
  --site-pink:#e9005b;
  --site-ink:#4a2434;
  --site-cream:#fffaf7;
  --site-line:#f0d5df;
}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--site-cream);
  color:var(--site-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;
}
a{color:inherit;text-decoration:none}
.site-shell{width:100%;max-width:none;margin:0;background:transparent;min-height:100vh;box-shadow:none}
.site-header,.topbar{
  position:sticky;top:0;z-index:100;
  background:rgba(255,250,247,.94);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(233,0,91,.10);
}
.nav{
  width:min(1180px,calc(100% - 40px));
  min-height:82px;
  margin:auto;
  padding:10px 0;
  display:flex;
  align-items:center;
  gap:24px;
}
.brand{
  display:flex!important;
  align-items:center;
  flex:0 0 auto;
  padding:0!important;
  background:none!important;
  border-radius:0!important;
}
.brand img{
  display:block;
  width:clamp(150px,16vw,190px);
  height:auto;
}
.brand small{display:none!important}
.navlinks{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:4px;
  margin-left:auto;
}
.navlinks a{
  padding:3px 12px!important;
  border-radius:999px!important;
  font-size:18px!important;
  font-weight:800!important;
}
.navlinks a:hover,.navlinks a.active{
  background:#fff0f6!important;
  color:var(--site-pink)!important;
}
.nav-cta{
  background:var(--site-pink)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(233,0,91,.18);
}
.site-socials{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  margin-left:4px;
}
.site-socials a{
  width:50px;
  display:grid;place-items:center;
  border-radius:9px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.site-socials a:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(80,20,45,.13)}
.site-socials img{width:100%;height:100%;object-fit:contain}
.menu{
  display:none;
  margin-left:auto;
  border:0;
  background:none;
  color:var(--site-pink);
  font-size:26px;
  line-height:1;
  cursor:pointer;
}
.site-footer{
  background:#4d2636;
  color:#ffeaf2;
  margin-top:0;
  padding:28px 20px 18px;
}
.footer-logos{
  width:min(1180px,100%);
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-height:54px;
}
.footer-logos img{display:block;max-width:100%;height:auto}
.footer-logo1{width:min(90%,48vw)}
.footer-logo2{width:min(100%,48vw)}
.footer-logos a{width:min(15%,48vw)}
.footer-copy{
  width:min(1180px,100%);
  margin:18px auto 0;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.16);
  text-align:center;
  color:#f8dce6;
  font-size:13px;
  letter-spacing:.02em;
}
@media(max-width:1080px){
  .nav{gap:14px}
  .navlinks a{padding-left:9px!important;padding-right:5px!important}
  .site-socials{gap:4px}
  .site-socials a{width:35px;}
}
@media(max-width:820px){
  .nav{width:min(100% - 28px,680px);min-height:66px;padding:8px 0}
  .brand img{width:155px}
  .menu{display:block}
  .navlinks{
    display:none;
    position:absolute;
    top:66px;left:0;right:0;
    padding:12px 14px 18px;
    background:#fffafc;
    border-bottom:1px solid var(--site-line);
    box-shadow:0 15px 30px rgba(80,20,45,.08);
    flex-direction:column;
    align-items:stretch;
    margin:0;
  }
  .navlinks.open{display:flex}
  .navlinks a{text-align:center;padding:10px!important}
  .site-socials{
    display:flex;
    position:static;
    margin:8px auto 0;
    justify-content:center;
    transform:none;
  }
  .site-socials a{width:60px;}
  .footer-logos{
    flex-direction:column;
    gap:18px;
  }
  .footer-logo1{width:min(100%,92vw)}
  .footer-logo2{width:min(100%,92vw)}
  .footer-logos a{width:min(30%,48vw)}

}
@media(max-width:480px){
  .brand img{width:142px}
  .site-socials{right:10px;gap:3px}
  .site-socials a{width:55px;}
  .footer-copy{font-size:12px}
}

/* 2026 update: expanded navigation + footer social area */
.site-header .navlinks{gap:3px}
.site-header .navlinks a{white-space:nowrap}
.site-footer{padding:46px 7% 20px;background:#4d2636}
.footer-main{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1.1fr 1.1fr 1fr;gap:36px;align-items:center}
.footer-block{min-width:0}
.footer-label{font-size:13px;letter-spacing:.16em;font-weight:800;color:#f7bdcf;margin-bottom:14px}
.footer-orgs{display:flex;align-items:center;gap:20px}
.footer-guidance .footer-orgs a{width:190px}
.footer-organizer>a{display:block;width:min(100%,420px)}
.footer-block img{display:block;max-width:100%;height:auto}
.footer-social .site-socials{display:flex;align-items:center;gap:20px;margin:0;flex-wrap:wrap}
.footer-social .site-socials a{width:46px!important;height:46px;display:grid;place-items:center;border-radius:10px}
.footer-social .site-socials img{width:100%;height:100%;object-fit:contain}
.footer-copy{width:min(1180px,100%);margin:28px auto 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.16);text-align:center;color:#f8dce6;font-size:13px}
@media(max-width:1080px){
 .site-header .navlinks a{font-size:15px!important;padding:5px 8px!important}
 .footer-main{gap:22px}
}
@media(max-width:820px){
 .site-header .navlinks{top:66px}
 .site-footer{padding:34px 20px 18px}
 .footer-main{grid-template-columns:1fr;gap:30px;text-align:center}
 .footer-orgs{justify-content:center;flex-wrap:wrap}
 .footer-guidance .footer-orgs a{width:min(42%,190px)}
 .footer-organizer>a{margin:auto;width:min(90%,420px)}
 .footer-social .site-socials{justify-content:center}
}

/* Login */
.nav-login{border:1px solid rgba(233,0,91,.25)!important}
.login-page{padding:78px 20px 96px;background:radial-gradient(circle at 15% 10%,rgba(255,205,222,.28),transparent 32%),var(--site-cream)}
.login-layout{width:min(1080px,100%);margin:auto;display:flex;flex-direction:column;gap:24px}
.login-card,.login-tools{background:rgba(255,255,255,.92);border:1px solid rgba(233,0,91,.10);border-radius:28px;box-shadow:0 22px 60px rgba(77,38,54,.10);padding:38px}
.login-card .form-head{text-align:left}.login-card .lead{max-width:100%;margin-left:0;margin-right:0}
.social-login{display:grid;gap:12px;margin-top:28px}.login-google-wrap{margin-top:30px;max-width:100%}.login-google-wrap .social-btn{width:100%}
.social-btn{width:100%;min-height:72px;border:1px solid #e2d7dc;border-radius:17px;background:#fff;display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:12px 18px;font-size:16px;font-weight:800;color:#4a2434;cursor:pointer;transition:.2s;box-shadow:0 8px 20px rgba(77,38,54,.06)}
.social-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(77,38,54,.10)}
.provider-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:22px;flex:0 0 38px}.google .provider-icon{font-family:Arial;color:#4285f4;background:#fff}.google-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.25;flex:1}.google-copy strong{font-size:16px}.google-copy small{font-size:12px;font-weight:500;color:#8b717d}.google-arrow{font-size:22px;color:#e9005b;font-weight:900;padding-left:4px}.login-security{display:flex;justify-content:flex-start;align-items:center;gap:6px;margin-top:13px;color:#8b717d;font-size:12px}.login-security span{color:#36a269;font-weight:900}
.login-divider{display:flex;align-items:center;gap:14px;margin:24px 0;color:#9c8490}.login-divider:before,.login-divider:after{content:"";height:1px;background:#eadde2;flex:1}.login-divider span{font-size:13px}
.login-note{padding:13px 15px;border-radius:12px;background:#fff7fa;color:#80606e;font-size:13px;line-height:1.7}
.login-tools .section-kicker{margin-bottom:8px}.login-tools h2{font-size:30px;margin:0 0 10px}.login-tools>p{color:#80606e;line-height:1.8;margin-bottom:24px}.login-tools .query-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.login-tools .query-card{min-height:150px;display:flex;align-items:center;padding:24px}.login-tools .query-card>div{flex:1}
.query-cards{display:grid;gap:12px}.query-card{display:grid;grid-template-columns:48px 1fr 20px;gap:13px;align-items:center;padding:17px;border:1px solid #eee0e5;border-radius:16px;background:#fff;transition:.2s}.query-card:hover{border-color:#f2aac3;transform:translateX(3px)}.query-icon{width:44px;height:44px;border-radius:13px;background:#fff0f6;color:var(--site-pink);display:grid;place-items:center;font-size:20px;font-weight:900}.query-card strong{display:block;font-size:16px}.query-card small{display:block;color:#8b717d;margin-top:4px}.query-card>b{color:var(--site-pink);font-size:20px}.back-home{display:inline-block;margin-top:24px;color:var(--site-pink);font-weight:800}
@media(max-width:820px){.login-page{padding:45px 15px 65px}.login-card,.login-tools{padding:30px 22px;border-radius:22px}.login-tools h2{font-size:25px}.login-google-wrap{margin-top:24px}.social-btn{min-height:68px}.login-tools .query-cards{grid-template-columns:1fr}.login-tools .query-card{min-height:110px}}

/* Activity query center */
.activity-query-page{padding:76px 20px 100px;background:radial-gradient(circle at 82% 12%,rgba(255,205,222,.28),transparent 30%),var(--site-cream);min-height:58vh}
.query-hero{text-align:center;width:min(760px,100%);margin:0 auto 42px}.query-hero .lead{max-width:650px;margin:12px auto 0;color:#80606e;line-height:1.9}
.query-center{width:min(1120px,100%);margin:auto}.query-center-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.query-center-card{background:#fff;border:1px solid rgba(233,0,91,.10);border-radius:24px;padding:32px;box-shadow:0 18px 48px rgba(77,38,54,.08);transition:.22s}.query-center-card:hover{transform:translateY(-5px);border-color:#f1abc4;box-shadow:0 24px 58px rgba(77,38,54,.12)}.query-big-icon{width:58px;height:58px;border-radius:17px;background:#fff0f6;color:var(--site-pink);display:grid;place-items:center;font-size:25px;font-weight:900;margin-bottom:24px}.query-center-card .section-kicker{margin-bottom:7px}.query-center-card h2{margin:0 0 10px;font-size:27px}.query-center-card p{color:#80606e;line-height:1.8;min-height:58px}.query-action{display:inline-block;margin-top:16px;color:var(--site-pink);font-weight:900}.query-login-tip{margin:26px auto 0;padding:18px 22px;background:#fff7fa;border-radius:15px;text-align:center;color:#80606e}.query-login-tip a{color:var(--site-pink);font-weight:900;margin-left:8px}
@media(max-width:820px){.activity-query-page{padding:48px 15px 70px}.query-center-grid{grid-template-columns:1fr}.query-center-card{padding:26px}.query-center-card p{min-height:0}.query-login-tip{line-height:1.8}}
.social-btn:disabled{cursor:default;opacity:.72;transform:none!important}
.login-tools{position:relative}.login-tools:before{content:'登入後即可使用';position:absolute;top:18px;right:22px;padding:5px 10px;border-radius:999px;background:#fff0f6;color:var(--site-pink);font-size:11px;font-weight:800;letter-spacing:.05em}.login-tools.logged-in{border-color:rgba(233,0,91,.25)}

/* Footer: keep the original 5 activity channels and add EDB social channels separately. */
.footer-main{grid-template-columns:1.05fr 1.05fr 1.35fr 1fr}
.footer-gov-social .site-socials{display:flex;align-items:center;gap:20px;margin:0;flex-wrap:wrap}
.footer-gov-social .site-socials a{width:46px!important;height:46px;display:grid;place-items:center;border-radius:10px}
.footer-gov-social .site-socials img{width:100%;height:100%;object-fit:contain}
@media(max-width:1080px){
  .footer-main{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:820px){
  .footer-main{grid-template-columns:1fr;gap:30px}
  .footer-gov-social .site-socials{justify-content:center}
}
