/* ═══ Bělá Waste Calendar 2026 — v3 ═══ */
.bw-calendar-app{min-height:80vh}
.bw-cal-hero{background:linear-gradient(135deg,var(--bela-secondary) 0%,#1a4a2e 60%,var(--bela-primary) 100%);padding:20px 0 36px;position:relative;overflow:hidden}
.bw-cal-hero::before{content:'';position:absolute;inset:0;opacity:.04;background-image:repeating-linear-gradient(45deg,#fff 0,#fff 1px,transparent 1px,transparent 32px)}
.bw-cal-hero .bela-container{position:relative;z-index:1}
.bw-cal-overtitle{font-size:11px;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}
.bw-cal-h1{font-family:var(--bela-font-heading);font-size:clamp(28px,4vw,42px);font-weight:800;color:#fff;line-height:1.1;margin-bottom:8px}
.bw-cal-sub{font-size:15px;color:rgba(255,255,255,.6);max-width:500px;line-height:1.6}
.bw-cal-zones{background:var(--bela-surface);border-radius:16px;border:1px solid var(--bela-border);padding:20px 24px;box-shadow:0 8px 32px rgba(0,0,0,.06);margin:-28px auto 24px;position:relative;z-index:10}
.bw-cal-zones-label{font-size:13px;font-weight:700;color:var(--bela-text-muted);margin-bottom:12px;letter-spacing:1px;text-transform:uppercase}
.bw-cal-zones-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bw-cal-zone-btn{padding:12px 14px;border-radius:10px;text-align:left;border:2px solid var(--bela-border);background:var(--bela-surface);cursor:pointer;font-family:var(--bela-font-body);transition:all .15s}
.bw-cal-zone-btn:hover{border-color:rgba(45,95,62,.3)}
.bw-cal-zone-btn.is-active{border-color:var(--bela-secondary);background:rgba(45,95,62,.06)}
.bw-cal-zone-name{font-size:13px;font-weight:700;color:var(--bela-text)}
.bw-cal-zone-btn.is-active .bw-cal-zone-name{color:var(--bela-secondary)}
.bw-cal-zone-desc{font-size:11px;color:var(--bela-text-muted);margin-top:2px}
.bw-cal-info-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:24px}
.bw-cal-info{background:var(--bela-surface);border-radius:14px;border:1px solid var(--bela-border);padding:18px 20px}
.bw-cal-info--next{border-left:4px solid var(--bela-secondary)}
.bw-cal-info--export{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.bw-cal-info-label{font-size:11px;font-weight:700;color:var(--bela-text-muted);text-transform:uppercase;letter-spacing:1px}
.bw-cal-info-val{font-family:var(--bela-font-heading);font-size:22px;font-weight:800;color:var(--bela-primary);margin-top:4px}
.bw-cal-info-day{font-size:13px;font-weight:600;color:var(--bela-text-muted);margin-left:6px}
.bw-cal-info-badges{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}
.bw-cal-info-muted{font-size:12px;color:var(--bela-text-muted);margin-top:2px}
.bw-cal-export-btn{padding:12px 24px;border-radius:10px;background:var(--bela-secondary);color:#fff;border:none;font-size:14px;font-weight:700;cursor:pointer;font-family:var(--bela-font-body);width:100%;box-shadow:0 2px 8px rgba(45,95,62,.2);transition:all .15s}
.bw-cal-export-btn:hover{background:#245130}
.bw-cal-export-btn:disabled{background:var(--bela-bg-alt);color:var(--bela-text-muted);cursor:default;box-shadow:none}
.bw-cal-legend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:12px 16px;background:var(--bela-surface);border-radius:10px;border:1px solid var(--bela-border)}
.bw-cal-legend-label{font-size:12px;font-weight:700;color:var(--bela-text-muted);margin-right:4px;display:flex;align-items:center}
.bw-cal-badge{font-size:10px;font-weight:800;padding:2px 8px;border-radius:4px;white-space:nowrap;display:inline-flex;align-items:center;gap:3px}
.bw-cal-badge--solid{font-size:10px;font-weight:800;padding:2px 8px;border-radius:4px;white-space:nowrap}
.bw-cal-month-filter{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:16px;padding:2px 0;scrollbar-width:none}
.bw-cal-month-filter::-webkit-scrollbar{display:none}
.bw-cal-mf-btn{padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;border:1.5px solid var(--bela-border);background:var(--bela-surface);color:var(--bela-text-muted);cursor:pointer;font-family:var(--bela-font-body);white-space:nowrap;transition:all .15s}
.bw-cal-mf-btn.is-active{border-color:var(--bela-secondary);background:rgba(45,95,62,.06);color:var(--bela-secondary)}
.bw-cal-mf-short{display:none}
.bw-cal-mh-short{display:none}
.bw-cal-grid{display:grid;gap:12px;margin-bottom:40px}
.bw-cal-month{background:var(--bela-surface);border-radius:14px;border:1px solid var(--bela-border);overflow:hidden}
.bw-cal-month-hdr{padding:14px 18px;background:var(--bela-bg-alt);font-family:var(--bela-font-heading);font-size:18px;font-weight:700;color:var(--bela-primary);text-align:center}
.bw-cal-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.bw-cal-dayhdr{padding:6px 0;text-align:center;font-size:11px;font-weight:700;color:var(--bela-text-muted);border-bottom:1px solid var(--bela-border)}
.bw-cal-cell{padding:3px 2px;min-height:52px;border-bottom:1px solid var(--bela-bg-alt,#F0ECE3);border-left:3px solid transparent;position:relative;transition:background .1s}
.bw-cal-cell--past{opacity:.35}
.bw-cal-cell--today{background:rgba(45,95,62,.06)}
.bw-cal-cell--has{border-left-width:3px}
.bw-cal-num{font-size:13px;text-align:center;margin-bottom:2px}
.bw-cal-today-dot{position:absolute;top:2px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--bela-secondary)}
.bw-cal-badges{display:flex;flex-direction:column;gap:1px;align-items:center}
/* Streets section */
.bw-cal-streets{background:var(--bela-surface);border-radius:14px;border:1px solid var(--bela-border);padding:24px 28px;margin-bottom:32px}
.bw-cal-streets-title{font-family:var(--bela-font-heading);font-size:18px;font-weight:700;color:var(--bela-primary);margin-bottom:16px}
.bw-cal-street{padding:14px 16px;border-radius:10px;margin-bottom:10px}
.bw-cal-street:last-child{margin-bottom:0}
.bw-cal-street-title{font-size:13px;font-weight:700;margin-bottom:4px}
.bw-cal-street-text{font-size:14px;color:var(--bela-text,#1A1814);line-height:1.7}
/* Rules */
.bw-cal-rules{background:var(--bela-surface);border-radius:14px;border:1px solid var(--bela-border);padding:24px 28px;margin-bottom:40px}
.bw-cal-rules-title{font-family:var(--bela-font-heading);font-size:18px;font-weight:700;color:var(--bela-primary);margin-bottom:16px}
.bw-cal-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bw-cal-rules-grid h4{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.bw-cal-rules-note{font-size:13px;color:var(--bela-text-secondary,#5C5549);margin-bottom:8px}
.bw-cal-rule{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:6px;background:var(--bela-bg-alt);margin-bottom:6px}
.bw-cal-rule strong{font-size:12px}
.bw-cal-rule small{font-size:12px;color:var(--bela-text-secondary,#5C5549)}
.bw-cal-rule-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0;margin-top:4px}
.bw-cal-rules-warn{margin-top:12px;padding:10px 14px;background:rgba(196,151,59,.08);border-radius:8px;font-size:12px;color:var(--bela-accent);font-weight:600}
/* Focus */
.bw-cal-zone-btn:focus-visible,.bw-cal-mf-btn:focus-visible,.bw-cal-export-btn:focus-visible{outline:3px solid var(--bela-secondary);outline-offset:2px}
/* Responsive */
@media(max-width:768px){
.bw-cal-zones-grid{grid-template-columns:1fr}
.bw-cal-info-row{grid-template-columns:1fr}
.bw-cal-mf-full{display:none}.bw-cal-mf-short{display:inline}
.bw-cal-mh-full{display:none}.bw-cal-mh-short{display:inline}
.bw-cal-rules-grid{grid-template-columns:1fr}
}

/* ─── Admin data notice ─── */
.bw-no-data-notice {
    background: rgba(196,132,59,.08);
    border: 1px solid rgba(196,132,59,.25);
    border-radius: 10px;
    padding: 12px 18px;
    margin-bottom: 20px;
    font-size: 14px;
    color: var(--bela-text-secondary, #5C5549);
}
