.event-card{transition:background .16s ease,transform .16s ease}
.event-card:hover{background:#fbfcf8;border-radius:12px}
.event-card.compact .text-button{display:none}
.event-card.compact .text-button[data-hide-event]{display:inline-flex}
.flyer-inline{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;margin-top:12px;padding:10px;border:1px solid #dbe6d8;border-radius:12px;background:#f8fbf6;color:var(--forest);font:inherit;font-size:12px;font-weight:700;text-align:left;cursor:pointer}
.flyer-inline img{display:block;width:100%;max-height:230px;object-fit:cover;border-radius:8px;background:#fff}
.flyer-pdf{font-weight:600;color:var(--muted)}
.vote-actions{flex-wrap:wrap}
.vote-actions .vote{min-width:76px}
.nav-item .nav-dot{min-width:6px;text-align:center}
.flyer-preview{display:block;width:100%;min-height:60dvh;border:1px solid var(--line);border-radius:10px;background:#fff;object-fit:contain}
@media(max-width:720px){
  body{background:linear-gradient(180deg,#fbfcf8 0,#f6f7f2 42%,#f3f6ef 100%)}
  .main-content{padding-top:18px}
  .topbar{box-shadow:0 2px 15px #344d3108}
  .hero{min-height:238px;padding:24px 21px;background:linear-gradient(140deg,var(--forest),#315d4b 72%,#426650);box-shadow:0 12px 28px #254c4026}
  .hero h1{font-size:29px}
  .hero .light-button{min-height:46px;padding-inline:14px}
  .stats>button{min-height:108px}
  .stats small{font-size:10px}
  .page-heading h1{font-size:28px}
  .page-heading p{max-width:34em}
  .panel{box-shadow:0 5px 20px #344d3109}
  .stats>button{border-color:#e1e8dc;box-shadow:0 4px 14px #344d3108;transition:transform .16s ease,box-shadow .16s ease}
  .stats>button:active{transform:scale(.98);box-shadow:0 2px 7px #344d3112}
  .event-card{align-items:flex-start;gap:11px;padding:18px 0}
  .event-card h3{font-size:16px;margin:4px 0 6px}
  .event-card p{font-size:12px;line-height:1.55;margin-bottom:10px}
  .event-footer{align-items:center;gap:7px}
  .event-footer .text-button{margin-left:0;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:10px}
  .event-footer .text-button[data-hide-event]{margin-left:auto}
  .vote-box{margin-top:13px;padding:12px 10px}
  .voters{margin-bottom:11px}
  .vote-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
  .vote-actions>span{grid-column:1/-1;margin:0 0 2px}
  .vote-actions .vote{min-width:0;width:100%;min-height:42px;padding:8px 6px;font-size:12px}
  .bottom-nav{padding-top:7px}
  .bottom-nav button{min-width:58px;min-height:45px;font-size:10px;position:relative}
  .bottom-nav button.active{font-weight:650}
  .bottom-nav .nav-dot{position:absolute;margin-top:-30px;margin-left:28px;min-width:18px;height:18px;padding:1px 5px;border-radius:9px;background:var(--gold);color:var(--deep);font-size:10px;line-height:16px}
  .filter-row{margin-bottom:14px}
  .filter-row button{min-height:42px;border-radius:999px;padding-inline:16px}
  .filter-row button.active{box-shadow:0 4px 10px #254c4024}
  .lunch-teaser .dark-button,.settings-card .dark-button,.settings-card .outline-button{min-height:45px}
  dialog{width:calc(100% - 20px)}
}
