.wabc-cal,.wabc-up,.wabc-cal-modal{--g:oklch(34% 0.115 148);--gl:oklch(94% 0.035 148);--gt:oklch(30% 0.1 148);--o:oklch(67% 0.185 52);--ol:oklch(96% 0.04 70);--t:oklch(18% 0.03 148);--tm:oklch(44% 0.04 148);--tl:oklch(62% 0.03 148);--b:oklch(92% 0.01 148);font-family:'DM Sans',sans-serif;color:var(--t)}
.wabc-cal{font-family:'DM Sans',sans-serif;color:var(--t);width:min(1140px,calc(100vw - 48px));max-width:none;position:relative;left:50%;transform:translateX(-50%);margin:0}
.wabc-cal *,.wabc-cal *::before,.wabc-cal *::after{box-sizing:border-box}
.wabc-cal-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.wabc-cal-eyebrow{color:var(--o);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:3px;display:block;margin-bottom:10px}
.wabc-cal-title{font-family:'Lora',serif;font-size:2.2rem;line-height:1.2;margin:0}
.wabc-cal-nav{display:flex;gap:8px}
.wabc-cal-nav button{width:44px;height:44px;border-radius:8px;border:1px solid oklch(88% 0.02 148);background:#fff;cursor:pointer;font-size:18px;color:var(--g);padding:0}
.wabc-cal-nav button:hover{background:var(--gl)}
.wabc-cal-grid{background:#fff;border-radius:16px;box-shadow:0 2px 20px oklch(0% 0 0/7%);overflow:hidden;border:1px solid oklch(91% 0.01 148)}
.wabc-cal-wd,.wabc-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.wabc-cal-wd{background:var(--g)}
.wabc-cal-wd div{padding:16px 12px;color:#fff;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1.5px;text-align:center}
.wabc-cal-cell{min-height:160px;padding:12px;border-right:1px solid var(--b);border-bottom:1px solid var(--b);background:#fff;display:flex;flex-direction:column;gap:8px}
.wabc-cal-cell.out{background:oklch(97% 0.008 80);opacity:.5}
.wabc-cal-cell.today{background:var(--ol)}
.wabc-cal-num{align-self:flex-start;font-size:13px;font-weight:700;min-width:26px;height:26px;padding:0 6px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:var(--tm)}
.wabc-cal-cell.today .wabc-cal-num{background:var(--o);color:#fff}
.wabc-cal-evs{display:flex;flex-direction:column;gap:4px}
.wabc-cal-ev{display:block;width:100%;text-align:left;border:none;cursor:pointer;font:600 13px/1.35 'DM Sans',sans-serif;padding:5px 8px;border-radius:5px;background:var(--gl);color:var(--gt);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wabc-cal-ev.special{background:var(--o);color:#fff}
.wabc-cal-ev:hover{filter:brightness(.96)}
.wabc-cal-more{align-self:flex-start;border:none;background:none;cursor:pointer;font:700 12px 'DM Sans',sans-serif;color:var(--g);padding:2px 7px}
.wabc-cal-list{display:none;flex-direction:column;gap:12px}
.wabc-cal-li{background:#fff;border-radius:12px;box-shadow:0 2px 14px oklch(0% 0 0/6%);padding:16px;display:flex;gap:16px}
.wabc-cal-li-date{flex-shrink:0;width:52px;text-align:center}
.wabc-cal-li-wd{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--tl)}
.wabc-cal-li-day{font-family:'Lora',serif;font-size:1.6rem;font-weight:700;color:var(--g)}
.wabc-cal-li .wabc-cal-evs{flex:1;min-width:0;gap:6px}
.wabc-cal-li .wabc-cal-ev{font-size:14px;padding:6px 10px;border-radius:6px;white-space:normal}
.wabc-cal-empty{background:#fff;border-radius:12px;padding:24px;text-align:center;color:var(--tm)}
.wabc-cal-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;font-size:13px;color:var(--tm)}
.wabc-cal-legend span{display:flex;align-items:center;gap:8px}
.wabc-cal-legend i{width:12px;height:12px;border-radius:3px;background:var(--gl);border:1px solid oklch(80% 0.06 148)}
.wabc-cal-legend i.s{background:var(--o);border:none}
.wabc-cal-modal{position:fixed;inset:0;background:oklch(18% 0.03 148/45%);display:flex;align-items:center;justify-content:center;padding:24px;z-index:9999}
.wabc-cal-box{background:#fff;border-radius:16px;padding:28px;max-width:460px;width:100%;max-height:85vh;overflow:auto;box-shadow:0 20px 60px oklch(0% 0 0/25%)}
.wabc-cal-box-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}
.wabc-cal-box h3{font-family:'Lora',serif;font-size:1.4rem;margin:0}
.wabc-cal-x{border:none;background:none;cursor:pointer;font-size:24px;line-height:1;color:var(--tm);width:44px;height:44px;margin:-10px -10px 0 0}
.wabc-cal-item{padding:14px 16px;border-radius:10px;background:var(--gl);margin-bottom:10px}
.wabc-cal-item.special{background:var(--ol);border:1px solid oklch(85% 0.08 60)}
.wabc-cal-item h4{margin:0 0 4px;font:700 16px 'DM Sans',sans-serif;color:var(--t)}
.wabc-cal-meta{font-size:14px;color:var(--tm);margin:0}
.wabc-cal-desc{font-size:14px;line-height:1.6;color:var(--t);margin-top:8px}
.wabc-cal-desc p{margin:0 0 8px}
@media (max-width:760px){.wabc-cal-grid{display:none}.wabc-cal-list{display:flex}}
.wabc-up *,.wabc-up *::before,.wabc-up *::after{box-sizing:border-box}
.wabc-up-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.wabc-up-card{display:flex;gap:16px;align-items:flex-start;width:100%;text-align:left;background:#fff;border:1px solid oklch(91% 0.01 148);border-radius:14px;padding:18px;cursor:pointer;font-family:inherit;color:inherit;box-shadow:0 2px 14px oklch(0% 0 0/5%);transition:transform .2s,box-shadow .2s}
.wabc-up-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px oklch(0% 0 0/9%)}
.wabc-up-date{flex-shrink:0;width:60px;text-align:center;background:var(--gl);color:var(--g);border-radius:10px;padding:8px 0 9px}
.wabc-up-card.special .wabc-up-date{background:var(--o);color:#fff}
.wabc-up-wd,.wabc-up-mo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px}
.wabc-up-day{font-family:'Lora',serif;font-size:1.7rem;font-weight:700;line-height:1.1}
.wabc-up-body{min-width:0;padding-top:2px}
.wabc-up-tag{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:oklch(55% 0.17 50);margin-bottom:4px}
.wabc-up-title{font-size:16px;font-weight:700;line-height:1.35;margin:0 0 6px;color:var(--t)}
.wabc-up-meta{font-size:14px;line-height:1.5;color:var(--tm);margin:0}
.wabc-up-empty{background:#fff;border:1px solid oklch(91% 0.01 148);border-radius:14px;padding:28px;text-align:center;color:var(--tm);font-size:15px}
.wabc-up-empty a{color:var(--g);font-weight:700}