/* Isolated calendar component. Existing homepage cards stay outside this root. */
.inkux-calendar{--cal-navy:#12284f;--cal-gold:#d5a529;--cal-line:#dce2e9;--cal-muted:#536175;--cal-wash:#f6f8fb;box-sizing:border-box;margin:30px 0 32px;font-family:Inter,Arial,sans-serif;color:var(--cal-navy)}
.inkux-calendar *{box-sizing:border-box}
.inkux-calendar .inkux-calendar-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);border:1px solid var(--cal-line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgb(18 40 79 / 5%)}
.inkux-calendar .inkux-calendar-month-pane{padding:28px;background:var(--cal-wash);border-right:1px solid var(--cal-line)}
.inkux-calendar .inkux-calendar-toolbar{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-bottom:20px}
.inkux-calendar .inkux-calendar-month{font-family:Manrope,Inter,Arial,sans-serif!important;font-size:1.25rem!important;line-height:1.25!important;letter-spacing:-.02em!important;font-weight:750!important;margin:0!important;color:var(--cal-navy)!important}
.inkux-calendar .inkux-calendar-controls{display:flex;gap:6px;align-items:center;flex-shrink:0}
.inkux-calendar button{font:inherit;cursor:pointer;touch-action:manipulation;box-shadow:none;text-transform:none;letter-spacing:normal}
.inkux-calendar .inkux-calendar-arrow,.inkux-calendar .inkux-calendar-today{display:inline-flex;align-items:center;justify-content:center;min-height:42px;min-width:42px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:var(--cal-navy);padding:7px 10px;font-weight:750;line-height:1}
.inkux-calendar .inkux-calendar-arrow{font-size:1.8rem;padding:2px 10px}
.inkux-calendar .inkux-calendar-today{font-size:.8rem;min-width:68px}
.inkux-calendar .inkux-calendar-arrow:hover,.inkux-calendar .inkux-calendar-today:hover{border-color:var(--cal-navy);background:#eaf0f7}
.inkux-calendar button:disabled{opacity:.4;cursor:default}
.inkux-calendar .inkux-calendar-table{width:100%;table-layout:fixed;border:0!important;border-collapse:separate!important;border-spacing:4px!important;background:transparent!important;margin:0!important;font:inherit;color:inherit}
.inkux-calendar .inkux-calendar-table th,.inkux-calendar .inkux-calendar-table td{padding:0!important;border:0!important;background:transparent!important;text-align:center!important;vertical-align:middle!important}
.inkux-calendar .inkux-calendar-table th{height:30px;color:var(--cal-muted);font-size:.72rem;font-weight:700}
.inkux-calendar .inkux-calendar-table td{height:48px}
.inkux-calendar .inkux-calendar-day{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;min-height:46px;padding:8px 3px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--cal-navy);font-size:.95rem;font-weight:600;line-height:1}
.inkux-calendar .inkux-calendar-day:hover{background:#e5ebf3;border-color:#c7d0dc}
.inkux-calendar .inkux-calendar-day.has-events{background:#fff1c8;font-weight:800}
.inkux-calendar .inkux-calendar-day[aria-current=date]{border-color:#9b710e;box-shadow:inset 0 0 0 1px #9b710e}
.inkux-calendar .inkux-calendar-day.is-selected{background:var(--cal-navy);border-color:var(--cal-navy);color:#fff}
.inkux-calendar .inkux-calendar-dot{position:absolute;bottom:6px;left:calc(50% - 2.5px);width:5px;height:5px;border-radius:50%;background:#9b710e}
.inkux-calendar .is-selected .inkux-calendar-dot{background:#f5c84b}
.inkux-calendar .inkux-calendar-legend{font-size:.76rem!important;line-height:1.5!important;color:var(--cal-muted)!important;margin:17px 0 0!important}
.inkux-calendar .inkux-calendar-legend:before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;vertical-align:middle;border-radius:50%;background:#a57600}
.inkux-calendar .inkux-calendar-agenda{padding:28px;min-width:0}
.inkux-calendar .inkux-calendar-agenda-heading{font-family:Manrope,Inter,Arial,sans-serif!important;font-size:1.2rem!important;font-weight:750!important;line-height:1.35!important;letter-spacing:-.015em!important;color:var(--cal-navy)!important;margin:0 0 5px!important}
.inkux-calendar .inkux-calendar-status{color:var(--cal-muted)!important;font-size:.8rem!important;line-height:1.5!important;margin:0 0 17px!important}
.inkux-calendar .inkux-calendar-reset{display:inline-flex;align-items:center;min-height:36px;padding:6px 0;margin:0 0 8px;border:0;background:transparent;color:var(--cal-navy);font-size:.8rem;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.inkux-calendar [hidden]{display:none!important}
.inkux-calendar .inkux-calendar-list{display:grid;gap:18px}
.inkux-calendar .inkux-calendar-event{padding:0 0 18px;border-bottom:1px solid var(--cal-line);background:transparent}
.inkux-calendar .inkux-calendar-event:last-child{border-bottom:0;padding-bottom:0}
.inkux-calendar .inkux-calendar-event-date{font-size:.73rem!important;line-height:1.4!important;font-weight:800!important;color:#896208!important;margin:0 0 8px!important;letter-spacing:.025em}
.inkux-calendar .inkux-calendar-event-title{font-family:Manrope,Inter,Arial,sans-serif!important;font-size:1rem!important;line-height:1.4!important;font-weight:750!important;color:var(--cal-navy)!important;letter-spacing:-.01em!important;margin:0 0 8px!important;text-wrap:balance}
.inkux-calendar .inkux-calendar-event-place{font-size:.8rem!important;line-height:1.5!important;margin:0 0 8px!important;color:var(--cal-muted)!important}
.inkux-calendar .inkux-calendar-event-state{display:inline-block;padding:4px 8px;border-radius:5px;background:#eef1f5;color:var(--cal-muted)!important;font-size:.68rem!important;font-weight:700!important;line-height:1.4!important;margin:0 0 12px!important}
.inkux-calendar .inkux-calendar-event-state.is-open{background:#e8f4ed;color:#245840!important}
.inkux-calendar .inkux-calendar-event-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.inkux-calendar .inkux-calendar-details,.inkux-calendar .inkux-calendar-download{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 12px;border:1px solid var(--cal-navy);border-radius:7px;text-decoration:none;font-size:.74rem;font-weight:750;line-height:1.25}
.inkux-calendar .inkux-calendar-details{background:var(--cal-navy);color:#fff!important}
.inkux-calendar .inkux-calendar-download{background:#fff;color:var(--cal-navy)}
.inkux-calendar .inkux-calendar-details:hover{background:#25436c;color:#fff!important;border-color:#25436c}
.inkux-calendar .inkux-calendar-download:hover{background:#f2f5fa}
.inkux-calendar .inkux-calendar-empty{margin:6px 0!important;color:var(--cal-muted)!important;font-size:.9rem!important;line-height:1.7!important}
.inkux-calendar :is(a,button):focus-visible{outline:3px solid #ad7800!important;outline-offset:3px!important}
@media(max-width:1000px){.inkux-calendar .inkux-calendar-month-pane,.inkux-calendar .inkux-calendar-agenda{padding:21px}.inkux-calendar .inkux-calendar-toolbar{flex-wrap:wrap}.inkux-calendar .inkux-calendar-layout{grid-template-columns:minmax(285px,.95fr) minmax(0,1.05fr)}}
@media(max-width:760px){.inkux-calendar .inkux-calendar-layout{grid-template-columns:1fr}.inkux-calendar .inkux-calendar-month-pane{border-right:0;border-bottom:1px solid var(--cal-line)}.inkux-calendar .inkux-calendar-toolbar{flex-wrap:nowrap}.inkux-calendar .inkux-calendar-day{min-height:46px}.inkux-calendar .inkux-calendar-table td{height:48px}}
@media(max-width:380px){.inkux-calendar .inkux-calendar-toolbar{flex-wrap:wrap}.inkux-calendar .inkux-calendar-month-pane,.inkux-calendar .inkux-calendar-agenda{padding:16px}.inkux-calendar .inkux-calendar-table{border-spacing:2px!important}}
