
.lhd-calendar-app{--lhd-accent:#f2a9a0;--lhd-border:#efc2bb;--lhd-text:#252525;--lhd-muted:#777;--lhd-bg:#fff;font-family:inherit;color:var(--lhd-text);max-width:1400px;width:100%;margin:0 auto}
.lhd-calendar-kicker{font-size:13px;letter-spacing:.14em;color:#888;text-align:center;margin-bottom:6px}
.lhd-calendar-head{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:30px}
.lhd-calendar-head button{width:52px;height:52px;flex:none;border:1px solid var(--lhd-border);background:#fff;border-radius:50%;font-size:24px;cursor:pointer;transition:.2s}
.lhd-calendar-head button:hover{background:#fff3f1;transform:translateY(-1px)}
.lhd-cal-month{min-width:280px;text-align:center;font-family:inherit;font-size:clamp(30px,4vw,50px);font-weight:400;text-transform:capitalize;margin:0;line-height:1}
.lhd-calendar-main{min-width:0}
.lhd-weekdays,.lhd-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}
.lhd-weekdays>div{padding:12px 8px;text-align:center;font-size:13px;letter-spacing:.08em;color:#777;font-weight:600}
.lhd-days{border-top:1px solid var(--lhd-border);border-left:1px solid var(--lhd-border)}
.lhd-day{min-height:150px;border-right:1px solid var(--lhd-border);border-bottom:1px solid var(--lhd-border);padding:10px;background:#fff;position:relative;box-sizing:border-box;overflow:hidden}
.lhd-day.is-other{background:#fafafa}
.lhd-day-number{font-size:15px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%}
.lhd-day.is-today .lhd-day-number{background:var(--lhd-accent);color:#fff}
.lhd-day-events{display:flex;flex-direction:column;gap:5px;margin-top:8px;width:100%;box-sizing:border-box}
.lhd-event{display:block;width:100%;max-width:100%;box-sizing:border-box;border:0;border-left:4px solid var(--event-color,var(--lhd-accent));background:#faf6f5;padding:6px 7px;text-align:left;border-radius:0 5px 5px 0;cursor:pointer;color:var(--lhd-text);font:inherit;line-height:1.2;overflow:hidden}
.lhd-event:hover{filter:brightness(.97)}
.lhd-event-time{font-size:10px;color:#777;margin-right:4px}
.lhd-event-title{font-size:12px;font-weight:600;word-break:break-word;overflow-wrap:anywhere}
.lhd-event-type{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#777;margin-top:3px;word-break:break-word;overflow-wrap:anywhere}
.lhd-modal{position:fixed;inset:0;z-index:99999}
.lhd-modal[hidden]{display:none}
.lhd-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.38)}
.lhd-modal-dialog{position:relative;z-index:2;width:min(620px,calc(100% - 30px));max-height:calc(100vh - 40px);overflow:auto;background:#fff;margin:20px auto;border:1px solid var(--lhd-border);padding:30px}
.lhd-modal-close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:32px;cursor:pointer;color:#777}
.lhd-modal-type{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#b47770;margin-bottom:8px}
.lhd-modal-dialog h3{font-size:28px;font-weight:500;margin:0 35px 15px 0}
.lhd-modal-meta{font-size:14px;color:#666;line-height:1.7;margin-bottom:15px}
.lhd-modal-content{font-size:15px;line-height:1.6}
.lhd-modal-link{display:inline-block;margin-top:18px;padding:10px 14px;background:var(--lhd-accent);color:#fff;text-decoration:none;border-radius:4px}
body.lhd-modal-open{overflow:hidden}
@media(max-width:760px){
  .lhd-calendar-head{gap:14px}
  .lhd-cal-month{font-size:24px;min-width:0}
  .lhd-calendar-head button{width:40px;height:40px;font-size:18px}
  .lhd-calendar-main{overflow-x:auto;padding-bottom:8px}
  .lhd-weekdays,.lhd-days{min-width:900px}
  .lhd-day{min-height:125px}
}
