.kk-cal{--kk-navy:#273645;--kk-slate:#4d6987;--kk-accent:#ff4800;--kk-line:#e3e8ee;--kk-grn:#0a9396;--kk-bg:#f7f9fb;color:var(--kk-navy);font-family:inherit}.kk-cal__heading{margin:0 0 20px}.kk-cal__toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin:0 0 20px}.kk-cal__field{display:flex;flex:1 1 190px;flex-direction:column;gap:4px;min-width:190px}.kk-cal__field--sort{flex:0 0 170px;min-width:170px}.kk-cal__label{color:var(--kk-slate);font-size:13px;font-weight:600}.kk-cal__select{background:#fff;border:1px solid var(--kk-line);border-radius:var(--kk-field-radius,15px);color:inherit;font:inherit;padding:9px 14px}.kk-cal__count{color:var(--kk-slate);font-size:14px;margin:0 0 10px;white-space:nowrap}.kk-cal__list{border-top:1px solid var(--kk-line);list-style:none;margin:0;padding:0}.kk-cal__item{align-items:center;border-bottom:1px solid var(--kk-line);display:flex;gap:24px;padding:18px 16px;transition:background .15s}.kk-cal__item:hover{background:var(--kk-bg)}.kk-cal__item.is-selected{background:#fff4ef;box-shadow:inset 3px 0 0 var(--kk-accent)}.kk-cal__date{flex:0 0 130px;line-height:1.25}.kk-cal__weekday{color:var(--kk-slate);display:block;font-size:13px;text-transform:lowercase}.kk-cal__daymonth{display:block;font-size:19px;font-weight:700}.kk-cal__full{color:var(--kk-slate);display:block;font-size:12px;margin-top:2px}.kk-cal__body{flex:1 1 auto;min-width:0}.kk-cal__title{font-size:18px;line-height:1.3;margin:0 0 2px}.kk-cal__subject{color:var(--kk-slate);font-size:14px;font-weight:500;letter-spacing:.01em;margin:0}.kk-cal__subject a{border-bottom:1px solid;color:inherit;text-decoration:none}.kk-cal__subject a:hover{color:var(--kk-accent)}.kk-cal__meta{color:var(--kk-slate);display:flex;flex:0 1 230px;flex-direction:column;font-size:14px;gap:2px}.kk-cal__time{color:var(--kk-navy);font-weight:600}.kk-cal__host a{border-bottom:1px solid;color:inherit;text-decoration:none}.kk-cal__host a:hover{color:var(--kk-accent)}.kk-cal__action{flex:0 0 auto;gap:16px}.kk-cal__btn,.kk-cal__price{font-weight:600;white-space:nowrap}.kk-cal__btn{background:var(--kk-grn,#0a9396);border-radius:var(--kk-radius,15px);color:var(--kk-btn-fg,#fff);display:inline-block;font-size:15px;padding:10px 20px;text-decoration:none}.kk-cal__btn:hover{color:var(--kk-btn-fg,#fff);filter:brightness(.92)}.kk-cal__empty{color:var(--kk-slate);margin:24px 0}@media (max-width:900px){.kk-cal__item{flex-wrap:wrap;gap:8px 20px}.kk-cal__date{flex:0 0 120px}.kk-cal__meta{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;gap:4px 16px;order:3}.kk-cal__action{flex:1 1 100%;justify-content:space-between;order:4}}@media (max-width:560px){.kk-cal__date{flex:1 1 100%}.kk-cal__daymonth{font-size:17px}.kk-cal__body{flex:1 1 100%}}.kk-cal__item--nodates .kk-cal__weekday,.kk-cal__item--ondemand .kk-cal__weekday{letter-spacing:0;text-transform:none}.kk-cal__date--anytime .kk-cal__daymonth{color:var(--kk-accent)}.kk-cal__date--nodates{opacity:.8}.kk-cal__item--nodates{background:var(--kk-bg)}.kk-cal__desc{color:var(--kk-slate);font-size:.875rem;line-height:1.45}.kk-cal__btn--ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--kk-grn);color:var(--kk-grn);font-weight:500}.kk-cal__btn--ghost:hover{background:var(--kk-grn,#0a9396);color:var(--kk-btn-fg,#fff)}.kk-cal__action{flex-wrap:wrap;gap:8px;justify-content:flex-end}.kk-cal__action,.kk-modal{align-items:center;display:flex}.kk-modal{inset:0;justify-content:center;padding:20px;position:fixed;z-index:9999}.kk-modal[hidden]{display:none}.kk-modal__backdrop{background:rgba(39,54,69,.55);inset:0;position:absolute}.kk-modal__panel{background:#fff;border-radius:var(--kk-radius,15px);box-shadow:0 18px 50px rgba(39,54,69,.28);max-height:88vh;max-width:640px;overflow:auto;padding:28px 28px 24px;position:relative;width:100%}.kk-modal__close{background:transparent;border:0;color:#4d6987;cursor:pointer;font-size:28px;line-height:1;position:absolute;right:14px;top:10px}.kk-modal__title{color:#273645;font-size:20px;margin:0 0 16px;padding-right:28px}.kk-modal__laster{color:#4d6987;font-size:15px}@media (max-width:560px){.kk-modal__panel{padding:22px 18px}}