:root{--bg:#f6f3ec;--card:#fff;--ink:#111;--muted:#666;--green:#102315;--soft:#eaf2e6;--line:#ded8ce;--warn:#fff1bd}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}.wrap{max-width:1180px;margin:auto;padding:22px}.site-header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:10px 0 22px}.brand{font-weight:800;color:var(--green);font-size:22px;text-decoration:none}.site-header nav{display:flex;gap:16px}.site-header nav a{color:#333;text-decoration:none}.hero-card,.card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 2px 14px rgba(0,0,0,.05);margin-bottom:24px}.hero-card{display:grid;grid-template-columns:1.5fr .7fr;gap:24px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#2e673a;font-weight:800;font-size:14px}.hero-card h1{font-size:clamp(36px,6vw,72px);line-height:.98;margin:18px 0}.lead{font-size:22px;line-height:1.35;color:#444}.search-row{display:grid;grid-template-columns:1.2fr .45fr auto;gap:10px}.search-row input,.search-row select,.newsletter input,.admin input,.admin textarea,.admin select{width:100%;padding:14px;border:1px solid #cfc7ba;border-radius:14px;font-size:16px;background:#fff}.search-row button,.newsletter button,.town-card button,.ghost,.admin button,.btn{border:0;border-radius:14px;padding:14px 22px;background:var(--green);color:white;font-weight:800;font-size:16px;cursor:pointer;text-decoration:none;display:inline-block}.ghost{background:#eee;color:#333}.checks{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.checks label{display:inline-flex;align-items:center;gap:8px;background:var(--soft);padding:10px 14px;border-radius:999px;font-size:15px}.checks input{width:18px;height:18px;margin:0}.warning{display:none;background:var(--warn);padding:16px;border-radius:14px;margin-top:14px}.warning.always{display:block}.hero-stats{display:grid;gap:16px}.stat{background:var(--soft);border-radius:18px;padding:22px}.stat strong{font-size:42px;display:block}.stat span{color:#555}.result-layout{display:grid;grid-template-columns:1fr .8fr;gap:24px}.result{display:none}.section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.grid,.town-grid,.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.box,.town-card,.service{background:#f6f6f3;border-radius:18px;padding:18px;margin-top:14px}.label{font-size:13px;color:var(--muted)}.value{font-size:20px;font-weight:800;margin-top:5px}.dates{font-size:20px;font-weight:800;margin:8px 0}.rules{line-height:1.45}.source{font-size:14px;color:#555}.small-note,.footer{color:#666;font-size:14px}.map-card{overflow:hidden}#map{height:420px;width:100%;border-radius:18px;margin-top:14px}.chip{display:inline-block;background:var(--soft);padding:10px 14px;border-radius:999px;margin:6px}.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.newsletter{display:flex;gap:10px}.admin-layout{display:grid;grid-template-columns:240px 1fr;gap:22px}.admin-menu{background:#111;color:#fff;border-radius:18px;padding:14px;height:max-content}.admin-menu a{display:block;color:#fff;text-decoration:none;padding:10px;border-radius:10px}.admin-menu a:hover{background:#333}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}.table th,.table td{border-bottom:1px solid #eee;text-align:left;padding:10px;vertical-align:top}.danger{background:#8b1111!important}.success{background:#e7f6e9;color:#174d23;padding:12px;border-radius:12px;margin-bottom:12px}@media(max-width:800px){.hero-card,.result-layout,.how-grid,.admin-layout{grid-template-columns:1fr}.search-row{grid-template-columns:1fr}.wrap{padding:14px}.site-header{display:block}.site-header nav{margin-top:10px;flex-wrap:wrap}.hero-card h1{font-size:42px}.lead{font-size:18px}.newsletter{display:block}.newsletter button{margin-top:10px;width:100%}}
.next-pickup-box{
    background:#eaf5ff;
    border:1px solid #b9dfff;
    padding:12px;
    margin:12px 0;
    border-radius:8px;
}

.upcoming-dates{
    margin:10px 0;
    font-size:14px;
}

.source a{
    color:#0d6efd;
    font-weight:600;
    text-decoration:none;
}

.source a:hover{
    text-decoration:underline;
}

/* Fix admin menu layout */
.admin-menu{
  background:#111;
  color:#fff;
  border-radius:18px;
  padding:14px;
  height:max-content;
}

.admin-menu strong{
  display:block;
  margin-bottom:10px;
}

.admin-menu a{
  display:block;
  color:#fff;
  text-decoration:none;
  padding:10px 12px;
  border-radius:10px;
  margin:4px 0;
}

.admin-menu a:hover{
  background:#333;
}

/* Fix public checkbox buttons */
.checks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.checks label{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  background:var(--soft);
  padding:10px 14px;
  border-radius:999px;
  font-size:15px;
  width:auto !important;
  max-width:max-content;
}

.checks input[type="checkbox"]{
  width:18px !important;
  height:18px !important;
  min-width:18px;
  margin:0;
  padding:0;
}

/* Better mobile admin */
@media(max-width:800px){
  .admin-menu{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .admin-menu strong{
    width:100%;
  }

  .admin-menu a{
    display:inline-block;
    background:#222;
    margin:0;
  }
}