/* OTHAL247: one blue accent, warm page background, quiet surfaces. */
body.postid-35074 .othal247-global-topbar { background:var(--o247-page-bg); backdrop-filter:none; -webkit-backdrop-filter:none; }
body.postid-35074 .othal247-global-topbar::after { display:none; }
body.postid-35074 .o247cal { padding-top:32px; }
@media (max-width:760px) { body.postid-35074 .o247cal { padding-top:24px; } }
body.postid-35074 :is(.nv-title-meta-wrap,.nv--yoast-breadcrumb,.nv-post-navigation,.post-navigation,.comments-area) { display:none!important; }
body.postid-35074 .nv-single-post-wrap { width:100%; max-width:100%!important; flex-basis:100%; }
body.postid-35074 :is(.nv-single-post-wrap,.nv-content-wrap) { padding-top:0!important; margin-top:0!important; }
body.postid-35074 .nv-content-wrap { max-width:1100px; margin-inline:auto; }
.o247cal {
  --o247cal-accent:#086ccc; --o247cal-accent-dark:#0755a1; --o247cal-accent-soft:#eaf4ff;
  --o247cal-ink:#162c40; --o247cal-muted:#596e80; --o247cal-line:#dce6ef;
  --o247cal-surface:#fff; --o247cal-surface-soft:#f5f8fb; --o247cal-event:#eef6ff;
  --o247cal-past:#f3f5f7; --o247cal-past-ink:#6b7782;
  --fc-today-bg-color:var(--o247cal-accent-soft); --fc-neutral-bg-color:var(--o247cal-surface-soft);
  --fc-page-bg-color:var(--o247cal-surface); --fc-border-color:var(--o247cal-line);
  --fc-event-bg-color:var(--o247cal-event); --fc-event-border-color:var(--o247cal-line);
  --fc-event-text-color:var(--o247cal-ink); --fc-list-event-hover-bg-color:var(--o247cal-accent-soft);
  max-width:1100px; margin:0 auto; color:var(--o247cal-ink); font-family:inherit; color-scheme:light;
}
html[data-o247-theme="dark"] .o247cal {
  --o247cal-accent-dark:#91caff; --o247cal-accent-soft:#172c40;
  --o247cal-ink:#edf4fa; --o247cal-muted:#a5b6c5; --o247cal-line:#2d3e4d;
  --o247cal-surface:#19232d; --o247cal-surface-soft:#202e3b; --o247cal-event:#1d354d;
  --o247cal-past:#222c35; --o247cal-past-ink:#9cabb8; color-scheme:dark;
}
.o247cal *, .o247cal *::before, .o247cal *::after { box-sizing:border-box; }
.o247cal .o247cal-heading { margin:0 0 24px; }
.o247cal .o247cal-heading h1 { margin:6px 0 10px; color:var(--o247cal-ink); font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:750; line-height:1.15; letter-spacing:-.04em; text-transform:none; }
.o247cal .o247cal-heading p { margin:0; max-width:620px; color:var(--o247cal-muted); font-size:1rem; line-height:1.6; }
.o247cal .o247cal-heading .o247cal-eyebrow { color:var(--o247cal-accent-dark); font-size:.8rem; font-weight:700; letter-spacing:.05em; }
.o247cal-filter-panel > summary { display:none; }
.o247cal-filter-panel > summary:focus-visible { outline:3px solid var(--o247cal-accent); outline-offset:3px; }
.o247cal-filters { display:grid; grid-template-columns:minmax(200px,2fr) minmax(150px,1fr) minmax(180px,1fr) auto; gap:14px; align-items:end; padding:18px; border:1px solid var(--o247cal-line); border-radius:20px; background:var(--o247cal-surface); }
.o247cal-filters label { min-width:0; margin:0; }
.o247cal-filters label span { display:block; margin:0 0 6px; color:var(--o247cal-muted); font-size:.8rem; font-weight:600; }
.o247cal-filters :is(input,select,button) { width:100%; min-height:44px; margin:0; padding:10px 12px; border:1px solid var(--o247cal-line); border-radius:12px; background:var(--o247cal-surface-soft); color:var(--o247cal-ink); box-shadow:none; font-family:inherit; font-size:.9rem; text-transform:none; }
.o247cal-filters input::placeholder { color:var(--o247cal-muted); opacity:1; }
.o247cal-filters button { cursor:pointer; color:var(--o247cal-accent-dark); background:var(--o247cal-accent-soft); font-weight:650; }
.o247cal-filters button:hover { border-color:var(--o247cal-accent); }
.o247cal :is(input,select,button,a):focus-visible { outline:3px solid var(--o247cal-accent); outline-offset:3px; }
.o247cal-count { margin:12px 4px 18px; min-height:22px; color:var(--o247cal-muted); font-size:.84rem; }
.o247cal-upcoming { margin-top:28px; }
.o247cal-upcoming h2 { color:var(--o247cal-ink); font-size:1.3rem; }
.o247cal-upcoming ul { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.o247cal-upcoming li { display:grid; gap:6px; padding:16px; border:1px solid var(--o247cal-line); border-radius:16px; background:var(--o247cal-surface); overflow-wrap:anywhere; }
.o247cal-upcoming time,.o247cal-upcoming li > span { color:var(--o247cal-muted); font-size:.85rem; }
.o247cal-upcoming a { color:var(--o247cal-accent-dark); }
.o247cal-calendar { padding:24px; border:1px solid var(--o247cal-line); border-radius:24px; background:var(--o247cal-surface); box-shadow:0 12px 40px rgba(19,53,83,.05); }
.o247cal .fc { font-size:.92rem; }
.o247cal .fc .fc-toolbar { gap:16px; margin-bottom:22px; }
.o247cal .fc .fc-toolbar-title { color:var(--o247cal-ink); font-size:1.4rem; font-weight:700; letter-spacing:-.025em; line-height:1.3; text-transform:none; }
.o247cal .fc .fc-button-group { gap:4px; padding:4px; border-radius:15px; background:var(--o247cal-surface-soft); }
.o247cal .fc .fc-button-primary { min-height:40px; padding:.5em .9em; border:1px solid transparent; border-radius:11px!important; background:transparent; color:var(--o247cal-muted); font-family:inherit; font-weight:650; font-size:.9rem; text-transform:none; box-shadow:none; transition:background .15s,color .15s; }
.o247cal .fc .fc-button-group > .fc-button:not(:first-child) { margin-left:0; }
.o247cal .fc .fc-button-primary:hover { background:var(--o247cal-accent-soft); color:var(--o247cal-accent-dark); border-color:transparent; }
.o247cal .fc .fc-button-primary.fc-button-active { color:#fff; background:var(--o247cal-accent); border-color:var(--o247cal-accent); box-shadow:0 3px 8px rgba(8,108,204,.18); }
.o247cal .fc .fc-button-primary:focus { box-shadow:none; }
.o247cal .fc .fc-button-primary:focus-visible { outline:3px solid var(--o247cal-accent); outline-offset:2px; }
.o247cal .fc .fc-today-button { margin-left:8px; color:var(--o247cal-accent-dark); background:var(--o247cal-accent-soft); }
.o247cal .fc .fc-button-primary:disabled { color:var(--o247cal-muted); background:var(--o247cal-surface-soft); opacity:.7; cursor:default; }
.o247cal .fc-theme-standard :is(td,th,.fc-scrollgrid) { border-color:var(--o247cal-line); }
.o247cal .fc-theme-standard .fc-scrollgrid { overflow:hidden; border-radius:16px; }
.o247cal .fc .fc-col-header-cell { background:var(--o247cal-surface-soft); }
.o247cal .fc .fc-col-header-cell-cushion { padding:12px 4px; color:var(--o247cal-muted); font-size:.8rem; font-weight:650; text-decoration:none; }
.o247cal .fc .fc-daygrid-day-number { display:grid; place-items:center; width:30px; height:30px; margin:6px; padding:0; border-radius:50%; color:var(--o247cal-ink); font-size:.85rem; font-weight:600; text-decoration:none; }
.o247cal .fc .fc-day-today { background:var(--o247cal-accent-soft)!important; }
.o247cal .fc .fc-day-today .fc-daygrid-day-number { background:var(--o247cal-accent); color:#fff; }
.o247cal .fc .fc-daygrid-day-frame { min-height:118px; }
.o247cal .fc .fc-day-other { background:var(--o247cal-surface-soft); }
.o247cal .fc .fc-day-other .fc-daygrid-day-number { color:var(--o247cal-muted); }
.o247cal .fc .fc-daygrid-event { margin:2px 4px 4px; padding:6px 7px; border:0; border-left:3px solid var(--o247cal-accent); border-radius:7px; background:var(--o247cal-event); color:var(--o247cal-ink); cursor:pointer; }
.o247cal .fc-event .fc-event-main { color:var(--o247cal-ink); }
.o247cal .fc .fc-daygrid-event .fc-event-title { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; white-space:normal; line-height:1.35; font-size:.8rem; font-weight:550; }
.o247cal .fc .fc-daygrid-event .fc-event-time { font-size:.72rem; font-weight:650; }
.o247cal .fc .fc-daygrid-event:hover { box-shadow:0 0 0 2px var(--o247cal-accent); }
.o247cal .fc .fc-daygrid-event.o247cal-past { border-left-color:var(--o247cal-past-ink); background:var(--o247cal-past); }
.o247cal .fc-event.o247cal-past .fc-event-main { color:var(--o247cal-past-ink); }
.o247cal .fc .fc-daygrid-more-link { padding:3px 5px; color:var(--o247cal-accent-dark); font-size:.76rem; font-weight:650; }
.o247cal .fc .fc-popover { background:var(--o247cal-surface); border-color:var(--o247cal-line); color:var(--o247cal-ink); border-radius:14px; box-shadow:0 12px 36px rgba(0,0,0,.16); }
.o247cal .fc .fc-popover-header { background:var(--o247cal-surface-soft); border-radius:14px 14px 0 0; }
.o247cal .fc-list { overflow:hidden; border:1px solid var(--o247cal-line); border-radius:16px; }
.o247cal .fc .fc-list-day-cushion { padding:14px 18px; background:var(--o247cal-accent-soft); }
.o247cal .fc :is(.fc-list-day-text,.fc-list-day-side-text) { color:var(--o247cal-accent-dark); font-size:.9rem; font-weight:650; text-decoration:none; }
.o247cal .fc .fc-list-event td { padding:16px 18px; background:var(--o247cal-surface); border-color:var(--o247cal-line); cursor:pointer; }
.o247cal .fc .fc-list-event:hover td { background:var(--o247cal-accent-soft); }
.o247cal .fc .fc-list-event-dot { border-color:var(--o247cal-accent)!important; }
.o247cal .fc .fc-list-event-time { width:100px; font-size:.85rem; color:var(--o247cal-muted); }
.o247cal .fc .fc-list-event-title a { color:var(--o247cal-ink); font-size:.95rem; font-weight:600; line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.o247cal .fc .fc-list-event.o247cal-past :is(td,a) { color:var(--o247cal-past-ink); }
.o247cal .fc .fc-list-empty { background:var(--o247cal-surface-soft); color:var(--o247cal-muted); padding:30px; }
.o247cal .o247cal-hint { margin:14px 4px 26px; color:var(--o247cal-muted); font-size:.8rem; line-height:1.6; }
.o247cal-mobile-hint { display:none; }
.o247cal-source-list { margin:20px 0; color:var(--o247cal-muted); }
.o247cal-modal { position:fixed; inset:0; z-index:99999; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(8,22,35,.65); backdrop-filter:blur(5px); }
.o247cal-modal[hidden] { display:none; }
.o247cal-modal-card { position:relative; width:min(620px,100%); max-height:85dvh; overflow:auto; padding:32px; border:1px solid var(--o247cal-line); border-radius:24px; background:var(--o247cal-surface); color:var(--o247cal-ink); box-shadow:0 24px 70px rgba(0,0,0,.25); }
.o247cal-modal-close { position:absolute; top:12px; right:12px; width:40px; height:40px; padding:0; border:0; border-radius:50%; background:var(--o247cal-surface-soft); color:var(--o247cal-ink); font-size:1.8rem; line-height:1; cursor:pointer; }
.o247cal-modal-close:hover { color:var(--o247cal-accent-dark); background:var(--o247cal-accent-soft); }
.o247cal-modal-date { margin-right:40px; color:var(--o247cal-accent-dark); font-weight:650; font-size:.9rem; line-height:1.6; }
.o247cal .o247cal-modal-card h2 { margin:12px 0 18px; color:var(--o247cal-ink); font-size:1.6rem; line-height:1.25; letter-spacing:-.025em; text-transform:none; }
.o247cal-modal-tags span { display:inline-block; margin:0 6px 8px 0; padding:5px 11px; border-radius:999px; background:var(--o247cal-accent-soft); color:var(--o247cal-accent-dark); font-size:.8rem; }
.o247cal-modal-info { white-space:pre-line; overflow-wrap:anywhere; }
.o247cal-source { display:inline-block; padding:12px 18px; border-radius:12px; background:var(--o247cal-accent); color:#fff!important; text-decoration:none!important; font-weight:650; line-height:1.4; }
.o247cal-source:hover { background:#0755a1; }
@media (max-width:1000px) {
  .o247cal-filters { grid-template-columns:1fr 1fr; }
  .o247cal-filters label:first-child { grid-column:1/-1; }
  .o247cal .fc .fc-toolbar { flex-wrap:wrap; }
  .o247cal .fc .fc-toolbar-chunk:nth-child(2) { order:-1; width:100%; text-align:center; }
}
@media (max-width:699px) {
  .o247cal-filter-panel > summary { display:flex; align-items:center; justify-content:space-between; min-height:46px; padding:12px 14px; border:1px solid var(--o247cal-line); border-radius:14px; background:var(--o247cal-surface); color:var(--o247cal-accent-dark); font-size:.9rem; font-weight:650; cursor:pointer; list-style:none; }
  .o247cal-filter-panel > summary::-webkit-details-marker { display:none; }
  .o247cal-filter-panel > summary::after { content:"+"; font-size:1.2rem; }
  .o247cal-filter-panel[open] > summary::after { content:"−"; }
  .o247cal-filter-panel[open] .o247cal-filters { margin-top:8px; }
  .o247cal .o247cal-heading { margin-bottom:18px; }
  .o247cal .o247cal-heading p { font-size:.9rem; }
  .o247cal-filters { padding:14px; gap:12px; border-radius:18px; }
  .o247cal-filters :is(input,select,button) { font-size:16px; padding:9px; }
  .o247cal-filters button { grid-column:1/-1; min-height:42px; font-size:.85rem; }
  .o247cal-count { margin:10px 2px 14px; }
  .o247cal-calendar { padding:14px 8px 8px; border-radius:20px; }
  .o247cal .fc { font-size:.86rem; }
  .o247cal .fc .fc-toolbar { flex-direction:column; align-items:stretch; gap:12px; margin-bottom:16px; }
  .o247cal .fc .fc-toolbar-title { font-size:1.2rem; }
  .o247cal .fc .fc-toolbar-chunk { display:flex; justify-content:center; }
  .o247cal .fc .fc-toolbar-chunk:last-child .fc-button-group { display:grid; grid-template-columns:repeat(3,1fr); width:100%; }
  .o247cal .fc .fc-button-primary { min-height:42px; padding:.5em .8em; }
  .o247cal .fc :is(.fc-prev-button,.fc-next-button) { min-width:44px; }
  .o247cal .fc .fc-col-header-cell-cushion { padding:10px 2px; font-size:.7rem; }
  .o247cal .fc .fc-daygrid-day { cursor:pointer; }
  .o247cal .fc .fc-daygrid-day-frame { min-height:64px; }
  .o247cal .fc .fc-daygrid-day-top { justify-content:center; }
  .o247cal .fc .fc-daygrid-day-number { width:28px; height:28px; margin:4px auto 2px; font-size:.78rem; }
  .o247cal .fc .fc-daygrid-day-events { display:flex; flex-wrap:wrap; align-content:flex-start; justify-content:center; gap:1px; min-height:19px; margin:0 2px 3px!important; }
  .o247cal .fc .fc-daygrid-event-harness { position:static!important; margin:0!important; }
  .o247cal .fc .fc-daygrid-event { position:relative; display:block; width:15px; min-width:15px; height:15px; margin:0!important; padding:0!important; border:0!important; border-radius:50%; background:transparent!important; box-shadow:none; }
  .o247cal .fc .fc-daygrid-event::after { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--o247cal-accent); }
  .o247cal .fc .fc-daygrid-event.o247cal-past::after { background:var(--o247cal-past-ink); }
  .o247cal .fc .fc-daygrid-event .fc-event-main { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .o247cal .fc .fc-daygrid-more-link { align-self:center; padding:0; font-size:.62rem; line-height:15px; }
  .o247cal .fc .fc-list-day-cushion { padding:12px 10px; }
  .o247cal .fc :is(.fc-list-day-text,.fc-list-day-side-text) { font-size:.82rem; }
  .o247cal .fc .fc-list-event td { padding:14px 8px; }
  .o247cal .fc .fc-list-event-time { width:66px; font-size:.76rem; white-space:nowrap; }
  .o247cal .fc .fc-list-event-graphic { padding-inline:2px 8px; }
  .o247cal .fc .fc-list-event-title { padding-left:0; }
  .o247cal .fc .fc-list-event-title a { font-size:.88rem; }
  .o247cal-mobile-hint { display:inline; }
  .o247cal-modal { padding:12px; }
  .o247cal-modal-card { padding:26px 18px 20px; border-radius:20px; }
  .o247cal .o247cal-modal-card h2 { font-size:1.35rem; }
}
@media (prefers-reduced-motion:reduce) { .o247cal .fc .fc-button-primary { transition:none; } }
